❶ 51單片機按鍵檢測問題
三個二極體、一個電阻,確實是一個與門。
電阻的計算公式,正確。
二極體的導通電壓、電流,選擇的基本合理。
可以進行實際電路的安裝、測試。
實際上,現在的二極體,發光效率,逐年的提高,已經不用 6mA,就很醒目了。
不同顏色的二極體,導通電壓,也有差異,選用較小的,才利於觸發中斷。
得進行反復實驗,才能完成設計。
在程序中,注意不要使 P3.2 輸出低電平,否則,會有較大的灌電流出現。
❷ 51單片機雙鍵同時識別(長按)判斷程序怎麼編
假設「1」表示鍵按下,那麼雙鍵同時按,肯定埠有兩個「1」,只有一個鍵按則只有一個「1」,當然「0」表示按下的話,取反就是了。
這樣就好辦了,將這個有效鍵位值賦值給累加器A,根據奇偶標志「P"的值就可以判斷是單鍵還是雙鍵了。
❸ c51單片機編程中,怎麼檢測按鍵
while(K1!=0)//K1沒有被按下執行循環
{
d1=0;d2=1;delay();
d1=1;d2=0;delay();
}
❹ 如何用單片機判斷按鍵單擊雙擊
這個一般是經驗值,可這樣判斷:連續兩次擊鍵間隔時間超過500ms,則視為單擊,否則視為雙擊按鍵。去抖動時間一般使用30ms。如果按鍵質量不太好,時間可以加倍。可以選擇幾組參數
然後實踐一下看看手感。
❺ 單片機如何檢測多個按鍵按下情況
用查詢的辦法
或
中斷+查詢的辦法
如果有鍵按下(中斷)
則依次查詢所有按鍵
或直接每幾十或幾百ms判斷所有按鍵的狀態
這樣就一個都不漏掉了
❻ 51單片機怎麼編寫檢測多個按鍵按下順序是否與自己設置的順序一致
例如A B C鍵,每個按鍵用一個數字代碼表示,如51,52,53。每次有按鍵按下時,將按下鍵的代碼存入數組變數,每次存在遞增一位變數里。然後再比較數組里的每一個數和你想要的順序是否一樣 如果你想按下的順序是BCA,那麼最後的判斷是否符合的語句就是if( (i[0]==52)&&(i[1]==53)&&(i[2]==51) )
{
//添加符合要求順序時執行的代碼
}
else
{
//添加不符合時執行的代碼
}