单片机控制4位数码管倒计时程序
时间: 2023-11-23 07:07:52 浏览: 59
下面是一个基于51单片机控制4位数码管倒计时的程序:
```c
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f, // 数码管0-9
0x77,0x7c,0x39,0x5e,0x79,0x71, // A-F
0x00 // 空白
};
void delay(uint xms) {
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
void display(uchar num[]) {
uchar i;
for(i=0;i<4;i++) {
switch(i) {
case(0):
LSA=0;LSB=0;LSC=0;break;
case(1):
LSA=1;LSB=0;LSC=0;break;
case(2):
LSA=0;LSB=1;LSC=0;break;
case(3):
LSA=1;LSB=1;LSC=0;break;
default:break;
}
P0=table[num[i]];
delay(1);
P0=0x00;
}
}
void main() {
uchar i,j,k,l;
uchar num[4]={16,16,16,16}; // 初始值为16,即空白
for(i=0;i<3;i++) {
for(j=5;j>0;j--) {
num[0]=i;num[1]=j;num[2]=0;num[3]=0;
display(num);
for(k=59;k>0;k--) {
num[2]=k/10;num[3]=k%10;
display(num);
for(l=100;l>0;l--) {
num[2]=0;num[3]=l/10; // 秒数不够2位,填充0
display(num);
}
}
}
}
while(1);
}
```
该程序中定义了一个数码管显示的表格 `table`,包含了数字 0-9 和字母 A-F 的显示编码,以及一个空白编码。同时定义了一个 `delay` 函数用于延时,以及一个 `display` 函数用于在数码管上显示数字。
程序中设置了 3 分钟的倒计时,每秒钟更新一次数码管的显示。在 `main` 函数中使用循环嵌套控制倒计时的时间,通过修改 `num` 数组来更新数码管的显示,最后将程序置于死循环中,保持倒计时的状态。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)