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

张开发
2026/5/20 22:47:41 15 分钟阅读
案例5_1:单位数码管显示
文章目录效果图代码效果图代码效果图代码效果图代码#include reg52.h#define uchar unsigned char#define uint unsigned int// 定义锁存器控制引脚sbit LE P2^7; // 74HC573的锁存使能端// 共阴极数码管段码表uchar code seg_code[] {0x3F, // 00x06, // 10x5B, // 20x4F, // 30x66, // 40x6D, // 50x7D, // 60x07, // 70x7F, // 80x6F // 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}}效果图代码#includereg52.h#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]; // 发送7的段码 LE 1; // 锁存数据 delay(5); // 稳定信号 LE 0; // 关闭锁存可选 } void main() { while(1) { display_one(); // 显示数字0 } }效果图代码#include reg52.h#define uchar unsigned char#define uint unsigned int// 共阴极数码管段码表uchar code seg_code[] {0x3F, // 00x06, // 10x5B, // 20x4F, // 30x66, // 40x6D, // 50x7D, // 60x07, // 70x7F, // 80x6F // 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到9display_digit(digit); // 显示当前数字delay(500); // 适当延时以便观察每个数字}}}

更多文章