csmyldl 发表于 2020-1-4 20:51 是在scan函数里面,把定时器跟中断打开吗?按键操作的时候中断跟定时器是关闭了的,定时器不工作,调好了按下key3确定键的时候,才会继续走。 |
wulin 发表于 2020-1-4 21:11 加了三极管放大信号了的,有另外一组的师兄也是用的这个程序,能成功,不知道为什么我的这个就是不行 |
直接用楼主这个程序仿真结果是008.008.00,与贴图不一致,原因是缓存数组有错 char data dis[8]={0x00,0x00,0x0b,0x00,0x00,0x0b,0x00,0x00};//显示缓冲区,时、分、秒初始为0,0x0b为"-"的编码 实际在段码数组里对应"-"的下标是0x0a,也就是10。 另外楼主在实际电路制作不成功可能是硬件搭建问题。51单片机I/O口高电平驱动能力不足以正常点亮数码管,要附加放大器。 再者这种按键程序根本不适合与数码管动态显示配套,会导致黑屏。 |
显示程序scan()也要改为定时中断,放在主程序循环的时间是不定的,特别是按键操作的时候 |