![]() |
發布時間: 2020-7-3 15:48
正文摘要:這個程序我想做的是學習外部中斷利用INT0的下降沿觸發方式寫了一個兩個按鍵控制兩個led的小程序 功能是按下普通鍵key2,led2點亮,在點亮的過程中在按下key具有中斷功能的一個按鍵對應的led1點亮,led2熄滅, 再把 ... |
不要黑 發表于 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; 這里我不知道該如何寫了,希望幫忙解決一下。謝謝 |