51单片机数码管消影代码
时间: 2023-10-22 20:05:27 浏览: 70
以下是51单片机控制共阳数码管消影的代码:
```
#include <reg52.h>
#define uchar unsigned char
sbit DIO = P1^0; //数据线
sbit CLK = P1^1; //时钟线
//数码管段码表
uchar code segTab[] = {
0x3f, //0
0x06, //1
0x5b, //2
0x4f, //3
0x66, //4
0x6d, //5
0x7d, //6
0x07, //7
0x7f, //8
0x6f //9
};
//延时函数
void delay(uchar t) {
uchar i;
while(t--) {
for(i=0; i<100; i++);
}
}
//数码管消影函数
void clear() {
uchar i;
for(i=0; i<8; i++) {
DIO = 0;
CLK = 0;
CLK = 1;
}
}
//数码管显示函数
void display(uchar num) {
uchar i;
for(i=0; i<8; i++) {
DIO = segTab[num];
CLK = 0;
CLK = 1;
num >>= 1;
}
}
//主函数
void main() {
uchar i;
while(1) {
clear(); //数码管消影
for(i=0; i<10; i++) {
display(i); //显示0~9
delay(100); //延时100ms
}
}
}
```
在此代码中,使用了一个数码管段码表,将每个数字对应的段码存储在其中。然后,使用延时函数和数码管消影函数清除数码管,并使用数码管显示函数显示数字。循环显示数字0~9,每次显示100ms。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://img-home.csdnimg.cn/images/20210720083646.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)