四位数码管动态显示1234c语言代码
时间: 2023-09-09 19:12:14 浏览: 393
以下是使用51单片机的C语言代码,将数字1234在四位数码管上动态显示:
```c
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
// 数码管显示段选信号
const uchar DisplayCode[] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f}; // 0~9
// 数码管位选信号
bit DigitCode[] = {1,1,1,1}; // D1~D4
// 数字数组
uchar NumberArray[] = {1,2,3,4};
// 延时函数
void Delay(uint i) {
while(i--);
}
// 主函数
void main() {
uint digit, number;
while(1) {
for(digit = 0; digit < 4; digit++) {
// 数组越界处理
if(digit >= sizeof(NumberArray)) {
number = 0;
} else {
number = NumberArray[digit];
}
// 数码管位选
DigitCode[digit] = 0;
// 数码管段选
P0 = DisplayCode[number];
// 延时
Delay(1000);
// 数码管位选
DigitCode[digit] = 1;
}
}
}
```
其中,使用了一个常量数组 `DisplayCode` 存储了0~9的数字在数码管上对应的段选信号,使用了一个 `DigitCode` 数组存储了四个数码管的位选信号,使用了一个 `NumberArray` 数组存储了要显示的数字,然后在主函数中进行了循环,依次对四个数码管进行动态显示。
阅读全文