單片機系統(tǒng)電路設(shè)計解析
4條輸入線接到單片機的IO口上,當(dāng)按鍵K1按下時,+5V通過電阻R1然后再通過按鍵K1最終進入GND形成一條通路,那么這條線路的全部電壓都加到了R1這個電阻上,KeyIn1這個引腳就是個低電平。當(dāng)松開按鍵后,線路斷開,就不會有電流通過,那么KeyIn1和+5V就應(yīng)該是等電位,是一個高電平。我們就可以通過KeyIn1這個IO口的高低電平來判斷是否有按鍵按下。
這個電路中按鍵的原理我們清楚了,但是實際上在我們的單片機IO口內(nèi)部,也有一個上拉電阻的存在。我們的按鍵是接到了P2口上,P2口上電默認(rèn)是準(zhǔn)雙向IO口,我們來簡單了解一下這個準(zhǔn)雙向IO口的電路,如圖5所示。
圖5 準(zhǔn)雙向IO口結(jié)構(gòu)圖
當(dāng)內(nèi)部輸出是高電平,經(jīng)過一個反向器變成低電平,NPN三極管不會導(dǎo)通,那么單片機IO口從內(nèi)部來看,由于上拉電阻R的存在,所以是一個高電平。當(dāng)外部沒有按鍵按下將電平拉低的話,VCC也是+5V,他們之間雖然有2個電阻,但是沒有壓差,就不會有電流,線上所有的位置都是高電平,這個時候我們就可以正常讀取到按鍵的狀態(tài)了。
當(dāng)內(nèi)部輸出是個低電平,經(jīng)過一個反相器變成高電平,NPN三極管導(dǎo)通,那么單片機的內(nèi)部IO口就是個低電平,這個時候,外部雖然也有上拉電阻的存在,但是兩個電阻是并聯(lián)關(guān)系,不管按鍵是否按下,單片機的IO口上輸入到單片機內(nèi)部的狀態(tài)都是低電平,我們就無法正常讀取到按鍵的狀態(tài)了。
5、矩陣按鍵
矩陣按鍵和獨立按鍵的關(guān)系
我們在使用按鍵的時候有這樣一種使用經(jīng)驗,當(dāng)需要多個按鍵的時候,如果做成獨立按鍵會大量占用IO口,因此我們引入了矩陣按鍵,如圖6所示,使用了8個IO口來實現(xiàn)16個按鍵。
圖6 矩陣按鍵
其實獨立按鍵理解了,矩陣按鍵也簡單,我們來分析一下。圖6中,一共有4組按鍵,我們只看其中一組,如圖7所示。大家認(rèn)真看一下,當(dāng)KeyOut1輸出一個低電平,KeyOut2、KeyOut3、KeyOut4這三個輸出高電平時,是否相當(dāng)于4個獨立按鍵呢。
圖7 矩陣按鍵變獨立按鍵
編輯點評:本文介紹了單片機最小系統(tǒng)的電路設(shè)計,單片機系統(tǒng)里都有晶振,晶振通常分為無源晶振和有源晶振兩種類型。對單片機最小系統(tǒng)的電源模塊、復(fù)位電路和振蕩電路進行了詳細的分析,理解單片機最小系統(tǒng)的設(shè)計對工程師是有利的。
評論