c51单片机实现两个数码管动态显示0~99程序
时间: 2024-02-05 18:14:16 浏览: 133
下面是一个使用C51单片机的两个数码管动态显示0~99的程序:
```c
#include <reg52.h>
// 数码管共阴极连接,定义显示0~9的公共段码
unsigned char code Display[10] = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};
void main()
{
unsigned char i, j;
while(1)
{
// 外层循环控制十位数码管,内层循环控制个位数码管
for(i=0; i<10; i++)
{
for(j=0; j<10; j++)
{
P0 = Display[i];
P2 = Display[j];
// 数码管动态扫描延时,可调整扫描速度
delay(20);
}
}
}
}
// 延时函数
void delay(unsigned int t)
{
unsigned int i, j;
for(i=0; i<t; i++)
for(j=0; j<120; j++);
}
```
该程序将P0口连接到十位数码管,P2口连接到个位数码管。在外层循环中,控制十位数码管显示0~9,在内层循环中,控制个位数码管显示0~9,从而实现两个数码管的动态显示。延时函数delay()用于控制数码管的扫描速度,可根据需要调整。
阅读全文