单片机led数码显示实验代码
时间: 2023-07-03 19:07:31 浏览: 52
以下是一个基于8051单片机的led数码显示实验代码:
```c
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f //0~9的数码管显示段码值
};
void delay(uint z) //延时函数
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main()
{
uchar i=0,j=0,k=0;
while(1)
{
for(i=0;i<10;i++) //i为百位,0~9循环显示
{
for(j=0;j<10;j++) //j为十位,0~9循环显示
{
for(k=0;k<10;k++) //k为个位,0~9循环显示
{
P0=table[i]; //百位显示
LSA=0;
LSB=0;
LSC=0;
delay(100);
P0=table[j]; //十位显示
LSA=1;
LSB=0;
LSC=0;
delay(100);
P0=table[k]; //个位显示
LSA=0;
LSB=1;
LSC=0;
delay(100);
}
}
}
}
}
```
该代码使用了一个延时函数 delay() 来控制数码管的显示速度,同时使用了一个数码管显示表 table[] 来存储0~9的数码管显示段码值。在主函数中,使用三个for循环分别控制百位、十位、个位的循环显示。其中,通过控制 P0 和 LSA、LSB、LSC 三个引脚的电平状态,实现对数码管的控制。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)