用at89c52八个数码管动态显示01234567
时间: 2024-06-13 09:10:02 浏览: 23
以下是使用at89c52控制八个数码管动态显示01234567的C语言程序:
```c
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
// 数码管段选值
uchar code table[] = {
0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f
};
// 数码管位选值
uchar code position[] = {
0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf, 0xbf, 0x7f
};
void delay(uint i) // 延时函数
{
while (i--);
}
void main()
{
uchar i, j, k;
while (1) {
for (i = 0; i < 8; i++) { // 依次控制每一位数码管
for (j = 0; j < 10; j++) { // 显示0~9
for (k = 0; k < 100; k++) { // 延时
P0 = table[j]; // 显示数字
P2 = position[i]; // 选择位
delay(1000);
}
}
}
}
}
```
该程序通过循环控制每一位数码管,然后在每一位数码管上显示0~9的数字,从而实现动态显示01234567。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_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)