在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 數(shù)據(jù)庫/ 8.4 單片機(jī)按鍵介紹
8.3 C 語言函數(shù)的形參和實(shí)參
12.2 C 語言指針變量的聲明
12.5 ?C 語言字符數(shù)組和字符指針
7.3 單片機(jī) LED 點(diǎn)陣的介紹
11.5 UART 串口通信的基本應(yīng)用
9.9 單片機(jī)蜂鳴器控制程序和驅(qū)動(dòng)電路
10. 單片機(jī)實(shí)例練習(xí)與經(jīng)驗(yàn)積累
10.3 單片機(jī)交通燈控制程序和設(shè)計(jì)原理
9.8 實(shí)用的 28BYJ-48 步進(jìn)電機(jī)控制程序
8.2 C 語言函數(shù)的調(diào)用
12.4 C 語言指向數(shù)組元素的指針
7.1 C 語言變量的作用域
11.2 RS232 通信接口
12.7 1602 液晶的讀寫時(shí)序介紹
7.2 C 語言變量的存儲(chǔ)類別
8. C 語言函數(shù)進(jìn)階與單片機(jī)按鍵
10.4 51單片機(jī) RAM 區(qū)域的劃分
12.1 C 語言變量的地址
11. UART 串口通信
7. 變量進(jìn)階與點(diǎn)陣 LED
8.4 單片機(jī)按鍵介紹
9.3 電機(jī)的分類
9.1 單片機(jī) IO 口的結(jié)構(gòu)
單片機(jī)通信實(shí)例與 ASCII 碼
8.1 單片機(jī)最小系統(tǒng)解析(電源、晶振和復(fù)位電路)
9.2 單片機(jī)上下拉電阻
11.4 單片機(jī) IO 口模擬 UART 串口通信
9.5 讓 28BYJ-48 步進(jìn)電機(jī)轉(zhuǎn)起來
9.7 28BYJ-48 步進(jìn)電機(jī)控制程序基礎(chǔ)
12.8 1602 液晶指令介紹
12.3 C 語言指針的簡單示例
8.7 單片機(jī)矩陣按鍵的掃描
7.4 單片機(jī) LED 點(diǎn)陣的圖形顯示
8.6 單片機(jī)按鍵消抖程序
10.2 單片機(jī)中 PWM 的原理與控制程序
7.6 單片機(jī) LED 點(diǎn)陣的橫向移動(dòng)(動(dòng)態(tài)顯示)
11.3 USB 轉(zhuǎn)串口通信
12.9 1602 液晶簡單顯示程序
9.4 28BYJ-48 步進(jìn)電機(jī)原理
8.5 ?單片機(jī)獨(dú)立按鍵掃描程序
12. C 語言指針基礎(chǔ)與1602液晶的初步認(rèn)識(shí)
9. 單片機(jī)中的步進(jìn)電機(jī)與蜂鳴器
10.1 單片機(jī)數(shù)字秒表程序
7.5 單片機(jī) LED 點(diǎn)陣的縱向移動(dòng)(動(dòng)態(tài)顯示)
8.8 單片機(jī)簡易加法計(jì)算器程序
11.1 單片機(jī)串行通信介紹
10.5 單片機(jī)長短按鍵的應(yīng)用
12.6 1602 液晶介紹(電路和引腳圖)
9.6 28BYJ-48 步進(jìn)電機(jī)轉(zhuǎn)動(dòng)精度與深入分析

8.4 單片機(jī)按鍵介紹

獨(dú)立按鍵

常用的按鍵電路有兩種形式,獨(dú)立式按鍵和矩陣式按鍵,獨(dú)立式按鍵比較簡單,它們各自與獨(dú)立的輸入線相連接,如圖8-6所示。

http://wiki.jikexueyuan.com/project/mcu-tutorial-two/images/17.png" alt="" />

圖8-6 獨(dú)立式按鍵原理圖

4條輸入線接到單片機(jī)的 IO 口上,當(dāng)按鍵 K1 按下時(shí),+5 V 通過電阻 R1 然后再通過按鍵 K1 最終進(jìn)入 GND 形成一條通路,那么這條線路的全部電壓都加到了 R1 這個(gè)電阻上,KeyIn1 這個(gè)引腳就是個(gè)低電平。當(dāng)松開按鍵后,線路斷開,就不會(huì)有電流通過,那么 KeyIn1 和 +5 V 就應(yīng)該是等電位,是一個(gè)高電平。我們就可以通過 KeyIn1 這個(gè) IO 口的高低電平來判斷是否有按鍵按下。

這個(gè)電路中按鍵的原理我們清楚了,但是實(shí)際上在我們的單片機(jī) IO 口內(nèi)部,也有一個(gè)上拉電阻的存在。我們的按鍵是接到了 P2 口上,P2 口上電默認(rèn)是準(zhǔn)雙向 IO 口,我們來簡單了解一下這個(gè)準(zhǔn)雙向 IO 口的電路,如圖8-7所示。

http://wiki.jikexueyuan.com/project/mcu-tutorial-two/images/18.png" alt="" />

圖8-7 準(zhǔn)雙向 IO 口結(jié)構(gòu)圖

首先說明一點(diǎn),就是我們現(xiàn)在絕大多數(shù)單片機(jī)的 IO 口都是使用 MOS 管而非三極管,但用在這里的 MOS 管其原理和三極管是一樣的,因此在這里我用三極管替代它來進(jìn)行原理講解,把前面講過的三極管的知識(shí)搬過來,一切都是適用的,有助于理解。

圖8-7方框內(nèi)的電路都是指單片機(jī)內(nèi)部部分,方框外的就是我們外接的上拉電阻和按鍵。這個(gè)地方大家要注意一下,就是當(dāng)我們要讀取外部按鍵信號(hào)的時(shí)候,單片機(jī)必須先給該引腳寫“1”,也就是高電平,這樣我們才能正確讀取到外部按鍵信號(hào),我們來分析一下緣由。

當(dāng)內(nèi)部輸出是高電平,經(jīng)過一個(gè)反向器變成低電平,NPN 三極管不會(huì)導(dǎo)通,那么單片機(jī) IO 口從內(nèi)部來看,由于上拉電阻 R 的存在,所以是一個(gè)高電平。當(dāng)外部沒有按鍵按下將電平拉低的話,VCC 也是 +5 V,它們之間雖然有2個(gè)電阻,但是沒有壓差,就不會(huì)有電流,線上所有的位置都是高電平,這個(gè)時(shí)候我們就可以正常讀取到按鍵的狀態(tài)了。

當(dāng)內(nèi)部輸出是個(gè)低電平,經(jīng)過一個(gè)反相器變成高電平,NPN 三極管導(dǎo)通,那么單片機(jī)的內(nèi)部 IO 口就是個(gè)低電平,這個(gè)時(shí)候,外部雖然也有上拉電阻的存在,但是兩個(gè)電阻是并聯(lián)關(guān)系,不管按鍵是否按下,單片機(jī)的 IO 口上輸入到單片機(jī)內(nèi)部的狀態(tài)都是低電平,我們就無法正常讀取到按鍵的狀態(tài)了。

這個(gè)和水流其實(shí)很類似的,內(nèi)部和外部,只要有一邊是低電位,那么電流就會(huì)順流而下,由于只有上拉電阻,下邊沒有電阻分壓,直接到 GND 上了,所以不管另外一邊是高還是低,那電平肯定就是低電平了。

從上面的分析就可以得出一個(gè)結(jié)論,這種具有上拉的準(zhǔn)雙向 IO 口,如果要正常讀取外部信號(hào)的狀態(tài),必須首先得保證自己內(nèi)部輸出的是1,如果內(nèi)部輸出0,則無論外部信號(hào)是1還是0,這個(gè)引腳讀進(jìn)來的都是0。

矩陣按鍵

在某一個(gè)系統(tǒng)設(shè)計(jì)中,如果需要使用很多的按鍵時(shí),做成獨(dú)立按鍵會(huì)大量占用 IO 口,因此我們引入了矩陣按鍵的設(shè)計(jì)。如圖8-8所示,是我們的 KST-51 開發(fā)板上的矩陣按鍵電路原理圖,使用8個(gè) IO 口來實(shí)現(xiàn)了16個(gè)按鍵。

http://wiki.jikexueyuan.com/project/mcu-tutorial-two/images/19.png" alt="" />

圖8-8 矩陣按鍵原理圖

如果獨(dú)立按鍵理解了,矩陣按鍵也不難理解,那么我們一起來分析一下。圖8-8中,一共有4組按鍵,我們只看其中一組,如圖8-9所示。大家認(rèn)真看一下,如果 KeyOut1 輸出一個(gè)低電平,KeyOut1 就相當(dāng)于是 GND,是否相當(dāng)于4個(gè)獨(dú)立按鍵呢。當(dāng)然這時(shí)候 KeyOut2、KeyOut3、KeyOut4 都必須輸出高電平,它們都輸出高電平才能保證與它們相連的三路按鍵不會(huì)對(duì)這一路產(chǎn)生干擾,大家可以對(duì)照兩張?jiān)韴D分析一下。

http://wiki.jikexueyuan.com/project/mcu-tutorial-two/images/20.png" alt="" />

圖8-9 矩陣按鍵變獨(dú)立按鍵示意圖