单片机动态显示1到8数字,单片机型号为stc 89c52,根据以上要求用c51语言写一段简短的代码
时间: 2024-05-24 18:12:43 浏览: 25
#include <reg52.h> // 导入STC89C52的头文件
// 数码管位选和段选共阳极连接
sbit DIG1 = P2^2;
sbit DIG2 = P2^3;
sbit DIG3 = P2^4;
sbit DIG4 = P2^5;
sbit DIG5 = P2^6;
sbit DIG6 = P2^7;
sbit DIG7 = P0^0;
sbit DIG8 = P0^1;
// 数码管段选共阴极连接
unsigned char code DIG_TAB[] = { // 数码管0~9的段选码
0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90
};
void main() {
unsigned char num = 1; // 初始数字为1
while (1) { // 无限循环
// 数码管动态扫描,每个数码管显示不同数字
DIG1 = 0; // 打开第1位数码管
P1 = DIG_TAB[num]; // 显示数字
delay(5); // 延时
DIG1 = 1; // 关闭第1位数码管
DIG2 = 0; // 打开第2位数码管
P1 = DIG_TAB[num+1]; // 显示数字
delay(5); // 延时
DIG2 = 1; // 关闭第2位数码管
DIG3 = 0; // 打开第3位数码管
P1 = DIG_TAB[num+2]; // 显示数字
delay(5); // 延时
DIG3 = 1; // 关闭第3位数码管
DIG4 = 0; // 打开第4位数码管
P1 = DIG_TAB[num+3]; // 显示数字
delay(5); // 延时
DIG4 = 1; // 关闭第4位数码管
DIG5 = 0; // 打开第5位数码管
P1 = DIG_TAB[num+4]; // 显示数字
delay(5); // 延时
DIG5 = 1; // 关闭第5位数码管
DIG6 = 0; // 打开第6位数码管
P1 = DIG_TAB[num+5]; // 显示数字
delay(5); // 延时
DIG6 = 1; // 关闭第6位数码管
DIG7 = 0; // 打开第7位数码管
P1 = DIG_TAB[num+6]; // 显示数字
delay(5); // 延时
DIG7 = 1; // 关闭第7位数码管
DIG8 = 0; // 打开第8位数码管
P1 = DIG_TAB[num+7]; // 显示数字
delay(5); // 延时
DIG8 = 1; // 关闭第8位数码管
num++; // 数字加1
if (num > 2) { // 到达8时重置数字
num = 1;
}
}
}
// 延时函数,约为1ms
void delay(unsigned int i) {
while (i--) {
unsigned char j = 110;
while (j--);
}
}
相关推荐
![](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)