51单片机LED动态显示实验程序
时间: 2023-08-12 19:04:34 浏览: 53
下面是51单片机LED动态显示的实验程序:
```c
#include <reg52.h> // 引入单片机头文件
sbit LSA=P2^2; //定义共阴极数码管连接的端口
sbit LSB=P2^3;
sbit LSC=P2^4;
unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //定义共阴极数码管显示0~9的编码
void delay(unsigned int i); // 延时函数
void dis(unsigned char i); // 显示函数
void main()
{
while(1)
{
unsigned char i;
for(i=0;i<10;i++) // 动态显示0~9
{
dis(i);
}
}
}
void delay(unsigned int i) //延时函数
{
while(i--);
}
void dis(unsigned char i) //显示函数
{
unsigned char a,b;
a=i/10; //获取十位上的数
b=i%10; //获取个位上的数
LSA=0;LSB=0;LSC=0;P0=table[a];delay(100); //显示十位上的数
LSA=1;LSB=0;LSC=0;P0=table[b];delay(100); //显示个位上的数
}
```
此程序使用了共阴极数码管显示0~9的编码,通过循环动态显示0~9,每次循环调用显示函数,在显示函数中获取十位和个位上的数,然后依次显示出来。其中,延时函数用于控制显示时间。