写一段51单片机四个数码管显示1234的c语言代码
时间: 2023-12-15 09:17:42 浏览: 212
以下是一个简单的51单片机程序,用于控制四个共阳数码管显示数字“1234”:
```c
#include <reg51.h>
// 定义数码管所使用的IO口
sbit LED1 = P2^2;
sbit LED2 = P2^3;
sbit LED3 = P2^4;
sbit LED4 = P2^5;
// 定义数码管的码表,用于将数字转换成对应的七段码
unsigned char code LEDChar[] = {
0x3f, // 0
0x06, // 1
0x5b, // 2
0x4f, // 3
0x66, // 4
0x6d, // 5
0x7d, // 6
0x07, // 7
0x7f, // 8
0x6f // 9
};
void main()
{
// 将数码管IO口全部设置为输出模式
LED1 = LED2 = LED3 = LED4 = 0;
// 循环显示数字“1234”
while(1)
{
// 第一个数码管显示1
LED1 = 1;
LED2 = LED3 = LED4 = 0;
P0 = LEDChar[1];
delay(1000);
// 第二个数码管显示2
LED2 = 1;
LED1 = LED3 = LED4 = 0;
P0 = LEDChar[2];
delay(1000);
// 第三个数码管显示3
LED3 = 1;
LED1 = LED2 = LED4 = 0;
P0 = LEDChar[3];
delay(1000);
// 第四个数码管显示4
LED4 = 1;
LED1 = LED2 = LED3 = 0;
P0 = LEDChar[4];
delay(1000);
}
}
// 延时函数
void delay(unsigned int i)
{
unsigned int j;
while(i--)
{
for(j=0; j<125; j++);
}
}
```
上述代码中,我们首先定义了四个数码管所使用的IO口,然后定义了一个数码管的码表,用于将数字转换成对应的七段码。在主函数中,我们将数码管IO口全部设置为输出模式,并循环显示数字“1234”,每个数码管显示一个数字,持续显示1秒钟。最后,我们还定义了一个简单的延时函数,用于控制数码管显示时间。
阅读全文