不要黑 发表于 2020-7-4 00:03 奥 想让他一直显示就可以用低电平触发方式吧 |
IT0=1是检测到边沿触发中断,按你的想法应该是IT0=0设置电平触发,这样中断按键KEY按下时才会一直运行在中断函数。如果边沿触发,中断函数运行一遍就会退出,也就是LED2一闪而过,看不到现象 |
如果按下KEY2 LED2亮,应该写成 if(KEY2==0) { LED2=0; delay(100); } 取反是灯闪烁,如果延时不够,现象就不对 |
这个程序我想做的是学习外部中断利用INT0的下降沿触发方式写了一个两个按键控制两个led的小程序 功能是按下普通键key2,led2点亮,在点亮的过程中在按下key具有中断功能的一个按键对应的led1点亮,led2熄灭, 再把带有中断的key按键下进行led1的熄灭,然后led2就应该再次回到入中断的地方也就是LED2再次亮, 可是我这个程序当key再次按下,LED1灭,但是led不在点亮,我感觉应该是中断程序最后那一句的问题,LED2=1; 这里我不知道该如何写了,希望帮忙解决一下。谢谢 |