51单片机前四位显示1234
时间: 2023-07-02 19:09:56 浏览: 69
下面是使用C语言编写的51单片机程序示例,实现前四位数码管显示1234:
```
#include <reg51.h>
// 数码管段选控制端口
#define SEG P0
// 数码管位选控制端口
sbit DIG1 = P2^4;
sbit DIG2 = P2^5;
sbit DIG3 = P2^6;
sbit DIG4 = P2^7;
void delay(unsigned int t) // 延时函数
{
unsigned int i, j;
for(i = t; i > 0; i--)
for(j = 110; j > 0; j--);
}
void main()
{
SEG = 0xFF; // 所有段关闭
DIG1 = 0; // 第一位数码管打开
SEG = 0x3F; // 显示数字1
delay(1000); // 延时1秒
DIG1 = 1; // 第一位数码管关闭
SEG = 0xFF; // 所有段关闭
DIG2 = 0; // 第二位数码管打开
SEG = 0x06; // 显示数字2
delay(1000); // 延时1秒
DIG2 = 1; // 第二位数码管关闭
SEG = 0xFF; // 所有段关闭
DIG3 = 0; // 第三位数码管打开
SEG = 0x5B; // 显示数字3
delay(1000); // 延时1秒
DIG3 = 1; // 第三位数码管关闭
SEG = 0xFF; // 所有段关闭
DIG4 = 0; // 第四位数码管打开
SEG = 0x4F; // 显示数字4
delay(1000); // 延时1秒
DIG4 = 1; // 第四位数码管关闭
while(1); // 程序循环
}
```
该程序通过控制数码管的段选和位选,依次显示数字1、2、3、4。其中,使用了延时函数`delay()`来控制每个数字的显示时间。在51单片机开发中,数码管的控制方式可以根据具体硬件接口和引脚定义进行修改。