Re: [問題] 8051 外部中斷 用C語言

看板ASM (組合語言)作者 (我我我....)時間16年前 (2008/04/25 12:45), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
※ 引述《dream3325 (憂鬱藍調)》之銘言: : 最近剛接觸8051 : 想請問依下 : 外部中斷要如何用C語言寫(INT0) : 還有要如何消彈跳(像按個一秒鐘 程式就判斷我按了9下 類似的問題)? : 拜託了><" bool PressDownDebounce(){ int i=0xffff; //視情況更改數值 if (!P1^0) { //若按鍵被按下(P1^0 == 0)執行for迴圈 for( ; i!=0; i--){ //在迴圈期間P1^0 == 1 就return false if (P1^0) return false; } return true; } return false; } 只要按鍵沒有被按下或是還在bounce期間都會return false 像你所說的按下一秒鐘會誤判斷按了九次,這個你可以在第一次承認按鍵被按下之後 就等待按鍵被釋放的事件被啟動。 等到按鍵被釋放之後 在繼續去偵測按鍵被按下的事件。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.160.153.30
文章代碼(AID): #184M7vxn (ASM)
文章代碼(AID): #184M7vxn (ASM)