C51 - 静态数码管流水显示

image

▲ 开发板原理图
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <reg52.h>

void delay10ms(unsigned int n);

//0~15 编码
unsigned char code num[] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07,
0x7F, 0x6F, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71};

void main(void)
{
unsigned char i;

while(1) {
for (i = 0; i <= 15; i++) {
P0 = ~num[i]; // 共阳极,取反
delay10ms(50);
}
}

return;
}

/*
* 延时 10 ms 子函数
*/

void delay10ms(unsigned int n)
{
unsigned char a, b;

for (; n > 0; n--) {
for (a = 38; a > 0; a--) {
for (b = 130; b > 0; b--);
}
}
}
感谢支持!