不是很懂你為什么計數器用了就不能干其他的呢?定時器應該是用的中斷吧。定時器應該作為一個系統心跳來看待,不要被某個程序獨占。定義一個計數值count,每到2ms給計數值count+1,然后回到主程序判斷if(count%500)就說明過了1秒,時鐘該進位進位,顯示該怎么變就怎么變。然后是你加的那部分,你在按下時記一下count的值,然后每次判斷count是否小于count+10*500,小于則檢測有沒有反應,大于等于則說明響應超時。
我原來在應對多任務的時候是這么做的。定時中斷只操作計數值,很快就退出中斷,然后主程序根據計數值作出相應動作。 |