|
|
一般,紅外線都是用的定時器中斷,很少有人用外部中斷,而就算用外部中斷,也只是用來觸發(fā)定時器中斷來解碼。
就按你這個比較特殊的需求,在外部中斷里接受紅外線。你肯定是有目的性的接受某個遙控器代碼。那么,你按照紅外代碼來接收,發(fā)現(xiàn)和你廠商代碼一致,就是紅外線,不一致就是按鍵。這是一個方法。
判斷紅外線頭信號,吻合就是紅外按鍵,一直低電平,就是普通按鍵,也是一個方法。
最后,主程序跳轉(zhuǎn)中斷,要看你是什么單片機了。傳統(tǒng)的51是絕對不可以的。因為不能操作PC值。雖然可以通過JMP指令直接跳轉(zhuǎn)到中斷代碼處,但是無法通過RETI返回,只能用比較曲線的方法,比如外部中斷的話……你是下降沿中斷,我就把這個IO口 = 0, 那么就觸發(fā)中斷了, 當(dāng)然,要記得回來之后再把IO拉高, 又比如定時器中斷, 我就把 TF0 = 1 那么,也觸發(fā)中斷了。大致這個樣子。 |
|