用C语言写一个让数码管显示一个稳定的两位数,最小值为20,每300ms+1依次递增,的代码,仅用到P2^6,P2^7,P0
时间: 2024-06-13 08:08:26 浏览: 109
数码管显示的C语言编程
```c
#include <reg52.h> // 引入头文件
sbit D1 = P2^6; // 定义数码管引脚
sbit D2 = P2^7;
sbit LSA = P0^2;
sbit LSB = P0^3;
sbit LSC = P0^4;
unsigned char code table[] = { // 数码管显示表
0x3f, 0x06, 0x5b, 0x4f, 0x66,
0x6d, 0x7d, 0x07, 0x7f, 0x6f
};
void delay(unsigned int i) { // 延时函数
while(i--);
}
void main() {
unsigned char cnt = 20; // 初始值为20
while(1) {
D1 = 0; // 选择第一个数码管
P0 = table[cnt / 10]; // 显示十位数
LSA = 0; LSB = 0; LSC = 0; // 选择对应的数码管段
delay(100); // 延时
D1 = 1; // 关闭第一个数码管
D2 = 0; // 选择第二个数码管
P0 = table[cnt % 10]; // 显示个位数
LSA = 1; LSB = 0; LSC = 0; // 选择对应的数码管段
delay(100); // 延时
D2 = 1; // 关闭第二个数码管
cnt++; // 递增
if(cnt > 99) cnt = 20; // 范围限制
delay(300); // 延时
}
}
```
--相关问题--:
1. 如何用C语言控制LED灯闪烁?
2. 如何用C语
阅读全文