|
zpwgf 发表于 2024-12-7 11:14 明白了,谢谢佬 ![]() |
devcang 发表于 2024-12-7 09:16 谢谢佬 ![]() |
|
程序是顺序执行的,你的led函数里面执行的时间至少大于3000ms了,很简单来说,当你按按键的时候,其实单片机正在执行led函数里面的内容,所以你的按键程序并没有执行,也就不会起作用了。解决办法: 如评论区所言,按键修改为中断,最直接有效; 其次就是降低led函数执行时间,可以采用时间片、状态机等程序结构,加按键扫描一样能实现你想要的功能 |
| 数码管、led太占时间,key 应该使用中断、连接到中断的PIN,如P3^2。程序中使用全局变量定义是否按键了,然后中断函数改变就是值,l数码管程判断、…………。 |
| AT89C51的Proteus仿真 |