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

张开发
2026/4/6 17:29:56 15 分钟阅读

分享文章

案例5_1:单位数码管显示数字0-9
文章目录1.效果图2.代码(1)数字0(2)数字7(3)数字0-91.效果图在这里插入图片描述2.代码(1)数字0#includereg52.h#defineucharunsignedchar#defineuintunsignedint// 定义锁存器控制引脚sbit LEP2^7;// 74HC573的锁存使能端// 共阴极数码管段码表uchar code seg_code[]{0x3F,// 00x06,// 10x5B,// 20x4F,// 30x66,// 40x6D,// 50x7D,// 60x07,// 70x7F,// 80x6F// 9};voiddelay(uint ms){uint i,j;for(ims;i0;i--)for(j110;j0;j--);}voiddisplay_one(){P0seg_code[0];// 发送0的段码LE1;// 锁存数据delay(5);// 稳定信号LE0;// 关闭锁存可选}voidmain(){while(1){display_one();// 显示数字0}}(2)数字7#includereg52.h#defineucharunsignedchar#defineuintunsignedint// 定义锁存器控制引脚sbit LEP2^7;// 74HC573的锁存使能端// 共阴极数码管段码表uchar code seg_code[]{0x3F,// 00x06,// 10x5B,// 20x4F,// 30x66,// 40x6D,// 50x7D,// 60x07,// 70x7F,// 80x6F// 9};voiddelay(uint ms){uint i,j;for(ims;i0;i--)for(j110;j0;j--);}voiddisplay_one(){P0seg_code[7];// 发送7的段码LE1;// 锁存数据delay(5);// 稳定信号LE0;// 关闭锁存可选}voidmain(){while(1){display_one();// 显示数字7}}(3)数字0-9#includereg52.h#defineucharunsignedchar#defineuintunsignedint// 共阴极数码管段码表uchar code seg_code[]{0x3F,// 00x06,// 10x5B,// 20x4F,// 30x66,// 40x6D,// 50x7D,// 60x07,// 70x7F,// 80x6F// 9};// 延时函数voiddelay(uint ms){uint i,j;for(ims;i0;i--)for(j110;j0;j--);}// 数码管展示函数voiddisplay_digit(uchar digit){P0seg_code[digit];// 发送数字对应的段码//dula 1; // 锁存数据可选delay(5);// 稳定信号//dula 0; // 关闭锁存可选}voidmain(){uchar digit;while(1){for(digit0;digit10;digit){// 轮流显示0到9display_digit(digit);// 显示当前数字delay(500);// 适当延时以便观察每个数字}}}}}

更多文章