第6章 單片機(jī)的常用外圍接口電路.ppt_第1頁(yè)
第6章 單片機(jī)的常用外圍接口電路.ppt_第2頁(yè)
第6章 單片機(jī)的常用外圍接口電路.ppt_第3頁(yè)
第6章 單片機(jī)的常用外圍接口電路.ppt_第4頁(yè)
第6章 單片機(jī)的常用外圍接口電路.ppt_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第六章單片機(jī)常用外圍接口電路、6.1鍵盤(pán)接口、6.2顯示接口、6.3顯示接口、6.1單片機(jī)與鍵盤(pán)的接口技術(shù)、鍵盤(pán):?jiǎn)纹瑱C(jī)系統(tǒng)中輸入和修改控制參數(shù)的基本輸入設(shè)備。鍵盤(pán)分類:按編碼方式可分為編碼鍵盤(pán)和非編碼鍵盤(pán)。按鍵組的連接方式可分為獨(dú)立連接鍵盤(pán)和矩陣連接鍵盤(pán)。6.1.1概述鍵盤(pán)輸入的主要對(duì)象:各種鍵或開(kāi)關(guān)。1獨(dú)立鍵盤(pán)的每個(gè)按鍵都是獨(dú)立的,并與輸入輸出線相連,中央處理器可以直接讀取輸入輸出線的高低電平狀態(tài)。其優(yōu)點(diǎn)是硬件和軟件結(jié)構(gòu)簡(jiǎn)單,按鍵判斷速度快,使用方便。缺點(diǎn)是它占用了更多的輸入/輸出端口。適用場(chǎng)合:主要用于設(shè)置控制鍵和功能鍵。獨(dú)立鍵盤(pán)的連接圖如圖所示,適用于按鍵較少的場(chǎng)合。當(dāng)沒(méi)有按鍵時(shí),所有

2、數(shù)據(jù)輸入線都處于高電平;當(dāng)按下任何鍵時(shí),與之相連的數(shù)據(jù)輸入線將變?yōu)榈碗娖?;通過(guò)相應(yīng)的指令,可以判斷一個(gè)鍵是否被按下。矩陣連接的鍵盤(pán)按鍵排列成矩陣,每個(gè)按鍵位于矩陣行/列的節(jié)點(diǎn)。中央處理器向連接到行(列)的輸入/輸出線發(fā)送已知電平的信號(hào),然后讀取列(行)線的狀態(tài)信息。逐行掃描以獲取鍵碼。其特點(diǎn)是很多鍵占用較少的輸入輸出端口,硬件資源使用合理,但鍵判斷速度慢。適用場(chǎng)合:主要用于設(shè)置數(shù)字鍵,適用于多鍵的場(chǎng)合。4行4列矩陣鍵盤(pán)連接圖如右圖所示。這個(gè)鍵盤(pán)適合動(dòng)態(tài)掃描識(shí)別。掃描模式:低電平掃描(回送線必須拉高電平)和高電平掃描(回送線必須拉低電平)。下圖顯示了低電平掃描電路。3.薄膜開(kāi)關(guān)的特點(diǎn):導(dǎo)線與開(kāi)關(guān)

3、之間無(wú)需焊接,結(jié)構(gòu)簡(jiǎn)單,體積小,防塵、防水、抗有害氣體侵蝕,壽命長(zhǎng),可靠性高。用途:與按鍵鍵盤(pán)類似,多個(gè)薄膜開(kāi)關(guān)的內(nèi)部電路也可以按獨(dú)立或矩陣設(shè)計(jì),原理與普通鍵盤(pán)相同。(1)開(kāi)關(guān)狀態(tài)的可靠輸入。必須消除按鍵抖動(dòng)??梢圆捎糜布蛙浖椒?,硬件方法是在按鍵輸入通道上增加去抖動(dòng)電路;在軟件方法中,鍵盤(pán)狀態(tài)的監(jiān)控方法被延遲1020毫秒(2)。(3)鍵盤(pán)編碼方法。(4)鍵盤(pán)控制程序的編寫(xiě)。6.1.3鍵盤(pán)接口功能:識(shí)別鍵盤(pán)上按下的按鍵。分類:(1)編碼鍵盤(pán):采用專用的編碼/解碼裝置,按下的鍵由該裝置解碼,輸出相應(yīng)的鍵碼/鍵值。它的特點(diǎn)是硬件開(kāi)銷增加,編碼固定,但編程簡(jiǎn)單。適用于大型鍵盤(pán)。6.1.2使用鍵盤(pán)時(shí)

4、必須解決的問(wèn)題,(2)非編碼鍵盤(pán):采用軟件編碼/解碼的方法,通過(guò)掃描,判斷并輸出每個(gè)按鍵對(duì)應(yīng)的鍵碼/鍵值。它的特點(diǎn)是沒(méi)有硬件開(kāi)銷和靈活的編碼,但編程復(fù)雜,占用CPU時(shí)間。它適用于小型鍵盤(pán),特別是單片機(jī)系統(tǒng)。鍵盤(pán)。1鍵盤(pán)接口的工作原理為矩陣鍵盤(pán),如上一頁(yè)圖所示,鍵盤(pán)的行線X0X3通過(guò)電阻連接到5V。當(dāng)鍵盤(pán)上的no鍵關(guān)閉時(shí),所有掃描線和回送線都斷開(kāi),并且回送線處于高電平,不管掃描線處于什么狀態(tài)。當(dāng)鍵盤(pán)上的一個(gè)鍵被關(guān)閉時(shí),掃描線和與該鍵對(duì)應(yīng)的回送線被短路,并且可以確定回送線和變?yōu)榈碗娖降膾呙杈€的交點(diǎn)處的鍵被關(guān)閉。中央處理器掃描鍵盤(pán)的方式:隨機(jī)程序控制方式(中央處理器空閑時(shí)掃描鍵盤(pán))、定時(shí)控制方式(定

5、時(shí)掃描鍵盤(pán))和中斷方式。中央處理器確定鍵盤(pán)上閉合鍵的鍵號(hào)的方法是根據(jù)掃描線和回送線的狀態(tài)計(jì)算,或者根據(jù)行線和列線的狀態(tài)計(jì)算。2鍵輸入程序的設(shè)計(jì)方法(1)判斷鍵盤(pán)上是否有一個(gè)鍵關(guān)閉;(2)消除按鍵的機(jī)械抖動(dòng);(3)確定關(guān)閉鍵的物理位置;(4)獲取關(guān)閉鍵的號(hào)碼;(5)確保中央處理器只處理一次按鍵關(guān)閉。3鍵盤(pán)接口模式(1)獨(dú)立鍵盤(pán)接口(靜態(tài)模式)特點(diǎn):結(jié)構(gòu)簡(jiǎn)單,每個(gè)按鍵都連接到單片機(jī)的輸入輸出線上,通過(guò)查詢輸入線可以識(shí)別每個(gè)按鍵的狀態(tài)。以MCS-51單片機(jī)系統(tǒng)為例,設(shè)計(jì)了一個(gè)8鍵獨(dú)立鍵盤(pán)。解決方案:在MCS-51中,8鍵獨(dú)立鍵盤(pán)的電路連接如下圖所示。8個(gè)按鍵被上拉電阻上拉后,分別連接到MCS-51單

6、片機(jī)P1端口的8條輸入輸出線(P1.0P1.7)。在沒(méi)有按鍵的情況下,P1.0P1.7線路輸入全部為高電平。當(dāng)按下一個(gè)鍵時(shí),連接到該鍵的輸入/輸出線將接收低電平輸入,而其他鍵的輸入線仍將保持高電平輸入。P1端口的八條輸入輸出線由與非門(mén)74LS30邏輯“與非”,然后由非門(mén)74LS04進(jìn)行信號(hào)轉(zhuǎn)換,再連接到MCS-51的管腳,使鍵盤(pán)可以通過(guò)中斷進(jìn)行處理。在中斷服務(wù)程序中,延遲20毫秒以消除按鍵抖動(dòng),然后查詢每個(gè)按鍵,找到按鍵,并轉(zhuǎn)到相應(yīng)的處理程序。主要程序如下:ORG 0000H LJMP MAIN ORG 0003H外部中斷0中斷服務(wù)入口地址LJMP INT轉(zhuǎn)接中斷服務(wù)機(jī)構(gòu)0100H main

7、: SETB EA;開(kāi)放總中斷允許SETB EX0;打開(kāi)INT0中斷SETB IT0;下降沿的有效中斷服務(wù)程序列表如下:INTI呼叫D20延遲去抖MOV P1,# 0FFHP1港發(fā)送所有1值MOV A,P1;讀取P1端口各引腳的CJNE A、#0FFH、CLOSE驗(yàn)證是否有關(guān)閉AJMP INT0的鍵;無(wú)按鍵,關(guān)閉: JNB ACC.7,鍵7;查詢7號(hào)鍵JNB ACC.6,鍵6;查詢6號(hào)鍵JNB ACC.5,KEY5查詢五號(hào)鍵JNB四號(hào)鍵;查詢4號(hào)鍵JNB ACC.3,鍵3;查詢3號(hào)鍵JNB ACC.2,鍵2;查詢2號(hào)鍵JNB ACC.1,鍵1;查詢1號(hào)鍵JNB ACC.0和鍵0;詢問(wèn)鑰匙號(hào)碼0

8、 int0:retikey733607號(hào)鍵處理器,P1 71: MOV A鍵;再次讀取P1端口的管腳jnbacc.7和func71確認(rèn)鑰匙是否釋放RETI鑰匙6:其他密鑰處理程序D20:(2)矩陣鍵盤(pán)界面行反轉(zhuǎn)法,矩陣鍵盤(pán)按鍵識(shí)別方法包括行反轉(zhuǎn)法和掃描法。行反轉(zhuǎn)方法需要兩個(gè)雙向輸入/輸出端口來(lái)分別連接行和列線。步驟如下:(1)從行輸出所有的“0”,在列行讀取,判斷是否按鍵。(2)如果按下一個(gè)鍵,輸出讀入的列行并讀取逐行的值。(3)操作在第一步驟中讀取的列線值和在第二步驟中讀取的行線值,以獲得表示該鍵的唯一特征值。線反轉(zhuǎn)方法以輸入線和輸出線反向使用而命名。優(yōu)點(diǎn)是關(guān)鍵判斷速度快,而且可以做兩次。例

9、如,請(qǐng)為8051微處理器設(shè)計(jì)一個(gè)由4行4列鍵陣列組成的鍵盤(pán)。解決方案:44矩陣鍵盤(pán)的電路連接如下圖所示。P2端口的低4位用作輸出線。P1端口的低4位用作輸入線,通過(guò)74LS21執(zhí)行邏輯相位后,輸入線作為外部中斷源8051輸入。當(dāng)一個(gè)鍵被按下時(shí),它將導(dǎo)致一個(gè)中斷。中斷服務(wù)程序以區(qū)分按下的鍵。(1)查詢關(guān)閉鍵或鍵子程序的位置子程序,用于確定每組行中的哪一位為0,是否有多個(gè)零。在調(diào)用之前,從一組行中讀取的數(shù)據(jù)應(yīng)該存儲(chǔ)在累加器a中。當(dāng)KEYR子程序返回時(shí),一組行中0的位置(03)被保存在R3中。在按鍵關(guān)閉導(dǎo)致中斷后,執(zhí)行中斷服務(wù)程序。KEYR子程序如下:KEYR:CJNE A,#0EH,TESTP11

10、測(cè)試P1.0 MOV R3,# 0;P1.0=0,表示待按的輸入線為P1.0 LJMP FINISH回到測(cè)試11:CJNE A,#0DH,測(cè)試12;測(cè)試p1.1movr3,# 1ljmp完成測(cè)試testp12:cjne a,# 0fbh,測(cè)試p13。測(cè)試p1.2movr3,# 2ljmp完成測(cè)試p1:cjne a,# 07h,完成。測(cè)試P1.3 MOV R3,#3完成:RET,(2)在中斷服務(wù)程序開(kāi)始時(shí),應(yīng)使用軟件延遲來(lái)消除按鍵抖動(dòng),然后按下的按鍵應(yīng)被處理。中斷服務(wù)程序如下:ORG 1000H INT11:LCALL呼叫延遲;延遲去抖動(dòng)MOV,P1;讀取輸入線ANL # 0FH;判斷是否有一個(gè)

11、鍵閉合CJNE A,#0FH,測(cè)試;如果一個(gè)鍵被關(guān)閉,轉(zhuǎn)到判斷鍵程序RETI;無(wú)鑰匙關(guān)閉,返回測(cè)試: MOV乙,甲;臨時(shí)存儲(chǔ)LCALL KEYR調(diào)用讀取子程序MOV 40H,R3;暫時(shí)存放在P2 MOV,40H機(jī)組# 0FH在輸出行寫(xiě)1 MOVP1;將數(shù)據(jù)MOV、P2寫(xiě)入輸入行;讀取輸出線LCALL KEYR調(diào)用讀取子程序XCH A,R3交換A ORL 40H,A;得到RETI的關(guān)鍵特征值。中斷程序完成后,密鑰特征值存儲(chǔ)在40H單元中。該鍵的輸出行號(hào)位于40H單元的高4位,其輸入行號(hào)位于低4位。之后,根據(jù)40H單元的內(nèi)容查表,得到相應(yīng)按鍵的代碼,可以顯示或進(jìn)行其他處理。(3)抖動(dòng)消除延時(shí)子程序

12、利用中央處理器的空閑模式,通過(guò)定時(shí)器T1實(shí)現(xiàn)延時(shí),定時(shí)器T1必須預(yù)先設(shè)置,以獲得所需的延時(shí)時(shí)間。晶體振蕩器的頻率為6MHz,延遲時(shí)間為20毫秒。計(jì)時(shí)時(shí)間為(216TC)6/12=20103s,初始值為T(mén)C=25536=63C0H。方案如下:TOMD :號(hào),# 11H模式1定時(shí)MOV TL1,# 0C0H定時(shí)器1計(jì)時(shí)初始值movt1,# 63h setbea打開(kāi)中斷集1;打開(kāi)定時(shí)器1,中斷SETB PT1;定時(shí)器1是高級(jí)中斷(由鍵盤(pán)中斷調(diào)用)setbt1啟動(dòng)定時(shí)器ORLPCON,# 1;啟動(dòng)空閑模式,此時(shí)實(shí)際的中央處理器等待CLR TR1以下四條指令只能在延時(shí)后定時(shí)器被喚醒后執(zhí)行CLR PT1

13、CLR ET1 RET END,行反轉(zhuǎn)方法適用于擴(kuò)展鍵數(shù)組。動(dòng)態(tài)掃描方法不僅可以掃描按鍵陣列,還可以顯示按鍵陣列,應(yīng)用廣泛。動(dòng)態(tài)掃描法原理:通過(guò)輸出“移動(dòng)”信號(hào),依次檢測(cè)每行按鍵來(lái)實(shí)現(xiàn)。將行線設(shè)置為輸出,將列線設(shè)置為輸入。當(dāng)沒(méi)有按鍵時(shí),所有列輸入都是“1”。設(shè)計(jì)時(shí),將某一行輸出為“0”,并讀取列線值。如果某一位為“0”,則表示按下了行和列交叉處的鍵,否則不按任何鍵;繼續(xù)掃描下一行(輸出下一行為“0”),直到整個(gè)掃描完成。用8155實(shí)現(xiàn)了4行8列32鍵鍵盤(pán)接口。解決方案:電路如下頁(yè)所示。8155的功放設(shè)置為輸出端口,稱為掃描線。PC3PC0被設(shè)置為輸入端口,稱為回送線。8155與MCS-51單片機(jī)的接口稍有不同,PA端口的端口地址為7F01H,PC端口的端口地址為7F03H。(3)矩陣鍵盤(pán)接口動(dòng)態(tài)掃描方法,鍵值編碼形式:回送線PC0、PC1、PC2和PC3(每條回送線有8個(gè)鍵,從左到右依次為00H (00H07H)、08H (00H07H)、10H (00H07H)和18H(00H07H),其中,(00H 07H)的具體內(nèi)容由掃描線確定并保存在R4。(1)掃描是否有按鍵按下子程序KEY1,并且回掃線的值存儲(chǔ)在a中。程序如下:org 1000

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論