【Proteus仿真】51单片机利用定时器倒计数(99-0)
【Proteus仿真】51单片机利用定时器倒计数(99-0)
电路搭建说明
其实采用2位共阴数码管也是足够的,可以自行扩展位数来使用,这只是示例用于演示。
- 采用74HC245八路缓冲器
- 74HC138译码器
- 相关代码
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 37 38 39 40
| #include "hardware.h" #include "software.h" //共阴数码管段码 uchar code block[] = { //定义无符号字符型类型数组来储存段码 0x3F, //"0" 0x06, //"1" 0x5B, //"2" 0x4F, //"3" 0x66, //"4" 0x6D, //"5" 0x7D, //"6" 0x07, //"7" 0x7F, //"8" 0x6F //"9" }; void SEGDisplay() //数码管扫描函数 { uchar i; //定义i变量 for(i=0;i<2;i++) { switch(i) { case(0): //位选,第一个数码管 LSA=0; LSB=1; LSC=1; P0 = block[num2/10]; //十位数拆分 break; case(1): //位选,第一个数码管 LSA=1; LSB=1; LSC=1; P0 = block[num2%10]; //个位数拆分 break; } delayms(5); //延时一会(视觉残留) P0=0x00; //消影 } }
|
程序源码和仿真资源
1 2 3
| 链接:https://pan.baidu.com/s/1dGh0\_2z7Hb\_hj\_ibTt-yFw 提取码:0xbu
|
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!