案例5_1:单位数码管显示0

张开发
2026/4/17 10:58:33 15 分钟阅读

分享文章

案例5_1:单位数码管显示0
#define uchar unsigned char #define uint unsigned int // 定义锁存器控制引脚 sbit LE P2^7; // 74HC573的锁存使能端 // 共阴极数码管段码表 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_one() { P0 seg_code[7]; // 发送0的段码 LE 1; // 锁存数据 delay(5); // 稳定信号 LE 0; // 关闭锁存可选 } void main() { while(1) { display_one(); // 显示数字0 } }#define uchar unsigned char #define uint unsigned int // 定义锁存器控制引脚 sbit LE P2^7; // 74HC573的锁存使能端 // 共阴极数码管段码表 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_one() { P0 seg_code[0]; // 发送0的段码 LE 1; // 锁存数据 delay(5); // 稳定信号 LE 0; // 关闭锁存可选 } void main() { while(1) { display_one(); // 显示数字0 } }#include reg52.h #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); // 适当延时以便观察每个数字 } } }

更多文章