文章介绍
在5_1:单位数码管显示0 的基础上修改代码,仿真图不变。
效果图

代码
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
// 共阴极数码管段码表
uchar code seg_code[] = {
0x3F, // 0
0x06, // 1
0x5B, // 2
0x4F, // 3
0x66, // 4
0x6D, // 5
0x7D, // 6
0x07, // 7
0x7F, // 8
0x6F // 9
};
// 延时函数
void delay(uint ms) {
uint i, j;
for(i = ms; i > 0; i--)
for(j = 110; j > 0; j--);
}
// 数码管展示函数
void display_digit(uchar digit) {
P0 = seg_code[digit]; // 发送数字对应的段码
//dula = 1; // 锁存数据(可选)
delay(5); // 稳定信号
//dula = 0; // 关闭锁存(可选)
}
void main() {
uchar digit;
while(1) {
for(digit = 0; digit < 10; digit++) { // 轮流显示0到9
display_digit(digit); // 显示当前数字
delay(500); // 适当延时,以便观察每个数字
}
}
}

5096

被折叠的 条评论
为什么被折叠?



