51单片机电梯楼层显示
时间: 2023-07-02 17:07:04 浏览: 100
51单片机可以用来控制电梯楼层显示。以下是一个简单的示例代码,可供参考:
```
#include <reg51.h>
//定义端口
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
sbit LED=P1;
//定义变量
unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsigned char floor=0;
//函数声明
void delay(unsigned int time);
void display(unsigned char num);
void main()
{
while(1)
{
if (floor==0) //初始状态
{
display(0); //显示0
}
else if (floor>=1 && floor<=10) //楼层1-10
{
display(floor); //显示对应数字
}
else //错误状态
{
display(10); //显示E
}
}
}
void delay(unsigned int time) //延时函数
{
unsigned int i,j;
for(i=0;i<time;i++)
{
for(j=0;j<110;j++);
}
}
void display(unsigned char num) //数码管显示函数
{
LED=table[num]; //显示数字
LSA=LSB=LSC=1; //关闭所有位选
switch(num)
{
case 0: LSA=LSB=LSB=0; break;
case 1: LSB=0; break;
case 2: LSA=LSC=0; break;
case 3: LSA=LSB=0; break;
case 4: LSB=LSC=0; break;
case 5: LSA=LSC=0; break;
case 6: LSA=0; break;
case 7: LSA=LSB=LSB=0; break;
case 8: break;
case 9: LSC=0; break;
default: break;
}
delay(5); //延时一段时间
}
```
在上面的代码中,我们使用了一个数码管来显示电梯所在的楼层。代码中的 `table` 数组存储了数码管显示数字 0-9 和字母 E 的编码。在 `main` 函数中,我们根据电梯所在的楼层调用 `display` 函数来进行显示。在 `display` 函数中,我们通过设置不同的位选信号和数码管编码来控制数码管显示相应的数字或字母。最后,我们使用 `delay` 函数来延时一段时间,以确保数字能够被稳定地显示在数码管上。
相关推荐
![](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)