『壹』 51單片機哪些介面可以接按鍵開關
51單片機所有的lO口都可以作為輸入或者輸出,按鍵作為輸入可以接任何lO口
為了簡單獨立按鍵一般直接接於IO引腳和地之間,利用內部上拉電阻
如果接於IO和電源VCC之間,還要加下拉電阻,並且還要保證該引腳不要誤操作,例如你讓該引腳輸出低電平,這時按下按鍵,就會有很大電流灌入單片機,損壞該IO口
『貳』 51單片機按鍵控制點燈
按鍵 PIN1接電阻 電阻上拉到VCC ,PIN2接地,PIN1接到51的IO口1
燈接在51的IO 口2,假設能夠驅動
1:設置IO口1為輸入
2:設置IO口2為輸出
3:循環檢測IO口1是否為低電平0
4:如果是0,則寫IO口2為1,設置為高電平點燈
5:while循環空指令,根據指令周期,計算500ms要多少個指令
6:5的while循環結束後,寫IO口2為0,滅燈
7:重復到步驟3
『叄』 51單片機程序,我想要個按鍵輸入的,可以讓蜂鳴器輸出音階1234567
計算好7個音階的頻率,換算為周期
再除以2是半個周期,再換算作為定時器的初值,製成表格,
按下不同按鍵,裝入不同和初值,並啟動定時器,讓中斷發生,中斷程序里某一IO管腳取反,形成方波,這個方波經放大可以推動揚聲器
主程序只管查詢按鍵並 延時
『肆』 51單片機實現多按鍵輸入
很簡單呀!!
先說30個按鍵吧,如果要加晶元,用7279就輕松搞定了,它還能實現多鍵按下的處理,不過那種處理很簡單,後鍵打斷前鍵的程序,或者不打斷,並不檢測幾個鍵組合的情況。如果不想加晶元,接到單片機上,可以採用交叉連接方法呀,單片機書上都有,網上一搜索一大片。
至於程序嗎,也很簡單,你想,交叉布局的話,當一個按鍵按下後,單片機的經緯線中,各有一根是通過按鍵導通的,當有兩個按鍵按下時,最少會有三根線導能,等等,這就需要你列個表,計算好,算出每種按鍵組合後,它反應到單片機的I/O口上會是什麼狀態,就可以計算出單片機讀到哪個數據時,就該是這個組合.
說的我都有點嫌羅嗦了,但確實很簡單.有問題的話再留言說吧
『伍』 為51單片機設計一個上拉輸入和下拉輸入的按鍵電路並分析其工作原理
按鍵一般是上拉,單片機的IO通過電阻上拉高電平,按鍵正常高電平當按鍵按下短路,把IO變成低電平,單片機檢測到低電平表示有按鍵按下,按鍵下拉一般是把單片機IO通電阻接到GND,按鍵正常是低電平,當按鍵按下把IO拉高,單片機檢測到高電平表示有按鍵按下。
『陸』 51單片機鍵盤輸入
用不著數組。
只要增加一個數字vlaue,再讓 key 從keyscan()函數中,得到0~9,
最後如下計算到vlaue中: vlaue = vlaue * 10 + key;
以後,每得到一個按鍵數值(0~9),都執行一遍上面的算式,即可。