R2,R36上拉電阻多大. 如果遠大于10K(100K或以上), IO設置為高阻方式,讀為0則有對應按鍵按下, 為1無鍵按下.
如果上拉電阻不夠大, 按鍵按下時電平不夠低(單片機不能識別0), 可用AD的方式識別按鍵, 檢測IO電壓, 不按或按下電壓是不同的. 看你IO上有電容, 也可用測時間的方式檢測按鍵, 置IO推挽方式, IO置0, 給電容充分放電(注意時間不要太短), 檢測時, IO置高阻, 同時打開定時器定時, 檢測IO跳為1時的時間, 按鍵不按或按下的時間應該不同. 后面二種麻煩(如按下檢測不了0時才用) |