【Proteus仿真】独立按键+数码管显示

【Proteus仿真】独立按键+数码管显示


  • ✨Proteus仿真演示
    在这里插入图片描述

📚功能简介

📝本文内容上是并无新意,只是将各功能模块分离开来。功能底层实现采用非阻塞式按键扫描,单击或长按都加一的模式,使用定时器定时扫描的方式。

🛠工程架构

在这里插入图片描述

📓主程序代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include "Key.h"
#include "display.h"


unsigned int NumCnt;

void Dis\_Service();
void Key\_Service();

void main(){

while(1){
Key\_Service();
Dis\_Service();
Display();
}

}


void Key\_Service(){
switch(Key\_Scan()){
case 0:break;
case 1:NumCnt++;if(NumCnt >9999)NumCnt = 0;break;
case 2:NumCnt--;if(NumCnt > 9999)NumCnt =9999;break;
case 3:NumCnt = 0;break;
case 4: NumCnt= 9527 ;break ;
default :break;
}
}

void Dis\_Service(){
LEDBuf[0]=NumCnt/1000;
LEDBuf[1]=NumCnt/100%10;
LEDBuf[2]=NumCnt/10%10;
LEDBuf[3]=NumCnt%10;
}

⛳程序源码和仿真资源

🔖本案例基于Proteus8.12平台

1
2
3
链接:https://pan.baidu.com/s/1lf1tHxfozh1ITvgS\_jQ4Pg 
提取码:qbl8