![]() |
發布時間: 2020-6-25 23:03
正文摘要:請教一個問題:51單片機用外部中斷通過矩陣按鍵控制led的亮滅。想要達到目的:每一次按鍵被觸發,LED的狀態翻轉一次。 單片機電路圖如下: 我自己寫的程序如下:下載后單片機的效果是按下按鍵led小燈點亮,一直 ... |
15818463972 發表于 2020-6-26 12:34 不過不管如何都不建議在中斷里面使用循環,為了說明問題,勉強修改,中斷里面可以使用變量累加判斷。 |
for(i=0;i<1000;i++); 延時時間怎么計算? |
void int0_process() interrupt 0 { unsigned int i; for(i=0;i<1000;i++); LED = ~LED; } |
感謝你了,我一直困在循環這里搞不明白,自己摸索了兩天都搞不明白,現在懂了,看了代碼后恍然大悟 |
xianfajushi 發表于 2020-6-26 09:16 可以了,現在明白了,謝謝你 ![]() |
代碼按我的電路修改了,僅供參考。 |
|
按鍵代碼要包含在無限循環中,不是無限循環被按鍵代碼包含。 |
中斷函數內多余代碼去掉,保留LED取反試看,按鍵代碼無限循環去掉。 |