資源描述:
《第6章 單片機(jī)的常用外圍接口電路》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第6章單片機(jī)的常用外圍接口電路6.1鍵盤接口6.2顯示接口6.3顯示接口6.1單片機(jī)與鍵盤的接口技術(shù)鍵盤:單片機(jī)系統(tǒng)中完成控制參數(shù)輸入及修改的基本輸入設(shè)備。鍵盤的分類:按編碼方式可分為編碼鍵盤與非編碼鍵盤。按鍵組連接方式可分為獨(dú)立連接式鍵盤與矩陣連接式鍵盤。6.1.1概述鍵盤輸入的主要對象:各種按鍵或開關(guān)。1.獨(dú)立連接式鍵盤每鍵相互獨(dú)立,各自與一條I/O線相連,CPU可直接讀取該I/O線的高/低電平狀態(tài)。其優(yōu)點(diǎn)是硬件、軟件結(jié)構(gòu)簡單,判鍵速度快,使用方便;缺點(diǎn)是占I/O口線多。適用場合:多用于設(shè)置控制鍵、功能鍵。適用于鍵數(shù)少的場合獨(dú)立連接式鍵盤連接圖如右圖所示。當(dāng)沒有鍵被按下時(shí),所有的數(shù)據(jù)
2、輸入線都為高電平;當(dāng)有任意一個(gè)鍵被按下時(shí),與之相連的數(shù)據(jù)輸入線將變?yōu)榈碗娖?;通過相應(yīng)指令,可以判斷是否有鍵按下。2.矩陣連接式鍵盤鍵按矩陣排列,各鍵處于矩陣行/列的結(jié)點(diǎn)處,CPU通過對連在行(列)的I/O線送已知電平的信號,然后讀取列(行)線的狀態(tài)信息。逐線掃描,得出鍵碼。其特點(diǎn)是鍵多時(shí)占用I/O口線少,硬件資源利用合理,但判鍵速度慢。適用場合:多用于設(shè)置數(shù)字鍵,適用于鍵數(shù)多的場合。4行4列矩陣式鍵盤連接圖如右圖所示。這種鍵盤適合采取動態(tài)掃描的方式進(jìn)行識別。掃描方式:低電平掃描(回送線必須被上拉為高電平)、高電平掃描(回送線需被下拉為低電平)。右圖中給出了低電平掃描的電路。3.薄膜開關(guān)特
3、點(diǎn):不需要進(jìn)行導(dǎo)線與開關(guān)間的焊接,結(jié)構(gòu)簡單、體積小、防塵、防水、防有害氣體侵蝕、壽命長、可靠性高。應(yīng)用:與按鍵式鍵盤類似,多個(gè)薄膜開關(guān)也可按照獨(dú)立式或矩陣式設(shè)計(jì)內(nèi)部電路,其原理與普通鍵盤相同。(1)開關(guān)狀態(tài)的可靠輸入。必須消除鍵抖動??梢圆捎糜布蛙浖煞N方法,硬件方法就是在按鍵輸入通道上添加去抖動電路;軟件方法則采用延遲10~20ms(2)鍵盤狀態(tài)的監(jiān)測方法——中斷方式還是查詢方式。(3)鍵盤編碼方法。(4)鍵盤控制程序的編制。。6.1.3鍵盤接口功能:對鍵盤上所按下的鍵進(jìn)行識別。分類:(1)編碼鍵盤:采用專用的編碼/譯碼器件,被按下的鍵由該器件譯碼輸出相應(yīng)的鍵碼/鍵值。其特點(diǎn)是增加了
4、硬件開銷,編碼固定,但編程簡單。適用于規(guī)模大的鍵盤。6.1.2使用鍵盤時(shí)必須解決的問題(2)非編碼鍵盤:采用軟件編/譯碼的方式,通過掃描,對每個(gè)被按下的鍵判別輸出相應(yīng)的鍵碼/鍵值。其特點(diǎn)是不增加硬件開銷,編碼靈活,但編程較復(fù)雜,占CPU時(shí)間。適用于小規(guī)模的鍵盤,特別是單片機(jī)系統(tǒng)。鍵盤。1.鍵盤接口的工作原理對于矩陣式鍵盤,如上頁圖所示,鍵盤的行線X0~X3通過電阻接+5V,當(dāng)鍵盤上沒有鍵閉合時(shí),所有的掃描線和回送線都斷開,無論掃描線處于何種狀態(tài),回送線都呈高電平。當(dāng)鍵盤上某一鍵閉合時(shí),則該鍵所對應(yīng)的掃描線和回送線被短路,可以確定,變?yōu)榈碗娖降幕厮途€與掃描線相交處的鍵閉合。CPU對鍵盤掃描
5、的方式:程序控制的隨機(jī)方式(CPU空閑時(shí)掃描鍵盤)、定時(shí)控制方式(定時(shí)掃描鍵盤)、中斷方式。CPU對鍵盤上閉合鍵的鍵號確定方法:根據(jù)掃描線和回送線的狀態(tài)計(jì)算求得,或根據(jù)行線和列線的狀態(tài)查表求得。2.鍵輸入程序的設(shè)計(jì)方法(1)判斷鍵盤上是否有鍵閉合;(2)消除鍵的機(jī)械抖動;(3)確定閉合鍵的物理位置;(4)得到閉合鍵的編號;(5)確保CPU對鍵的一次閉合只做一次處理3.鍵盤接口方式(1)獨(dú)立式鍵盤接口(靜態(tài)方式)特點(diǎn):結(jié)構(gòu)簡單,每個(gè)按鍵接單片機(jī)的一條I/O線,通過對輸入線的查詢,可以識別每個(gè)按鍵的狀態(tài)。[例題]在MCS-51單片機(jī)系統(tǒng)中,設(shè)計(jì)一個(gè)含8個(gè)按鍵的獨(dú)立式鍵盤。解:在MCS-51中
6、,含8個(gè)按鍵的獨(dú)立式鍵盤的線路連接如下頁圖所示,8個(gè)按鍵經(jīng)上拉電阻拉高后分別接到MCS-51單片機(jī)P1口的8條I/O線上(P1.0~P1.7)。在無鍵按下的情況下,P1.0~P1.7線上輸入均為高電平。當(dāng)有鍵按下時(shí),與被按鍵相連的I/O線將得到低電平輸入,其他位按鍵的輸入線上仍維持高電平輸入。P1口8條I/O線經(jīng)與非門74LS30實(shí)現(xiàn)邏輯與非后,再經(jīng)過1個(gè)非門74LS04進(jìn)行信號變換,然后接至MCS-51的引腳上,可通過中斷的方式處理鍵盤。在中斷服務(wù)程序中,先延時(shí)20ms消除鍵抖動,再對各鍵進(jìn)行查詢,找到所按鍵,并轉(zhuǎn)到相應(yīng)的處理程序中去。主程序如下:ORG0000HLJMPMAINORG
7、0003H;外部中斷0中斷服務(wù)入口地址LJMPINT;轉(zhuǎn)中斷服務(wù)ORG0100HMAIN:SETBEA;開總中斷允許SETBEX0;開INT0中斷SETBIT0;下降沿有效……中斷服務(wù)程序清單如下:INTICALLD20;延時(shí)去抖動MOVP1,#0FFH;P1口送全1值MOVA,P1;讀P1口各引腳CJNEA,#0FFH,CLOSE;驗(yàn)證是否確實(shí)有鍵閉合AJMPINT0;無鍵按下CLOSE:JNBACC.7,KEY7;查詢7號鍵JN