版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、編碼鍵盤(pán):編碼鍵盤(pán): 鍵盤(pán)上閉合鍵的識(shí)別由專用硬件實(shí)現(xiàn)。鍵盤(pán)上閉合鍵的識(shí)別由專用硬件實(shí)現(xiàn)。非編碼鍵盤(pán):鍵盤(pán)上閉合鍵的識(shí)別由軟件實(shí)現(xiàn)。非編碼鍵盤(pán):鍵盤(pán)上閉合鍵的識(shí)別由軟件實(shí)現(xiàn)。 編碼鍵盤(pán)是鍵盤(pán)電路在某個(gè)鍵被按下后,能提供該鍵所代表的信息代碼,并以并行或串行信號(hào)輸給CPU。 非編碼鍵盤(pán)是一種便宜而廣泛用于微機(jī)系統(tǒng)的輸入設(shè)備。這種鍵盤(pán)內(nèi)部有一個(gè)掃描電路,不斷地掃描鍵盤(pán)是否有鍵被按下。此鍵所代表的鍵盤(pán)信息代碼,則由鍵盤(pán)接口及鍵盤(pán)處理軟件根據(jù)鍵盤(pán)送來(lái)的位置信息產(chǎn)生,然后再送給CPU。 在設(shè)計(jì)鍵盤(pán)接口時(shí),解決以下幾個(gè)問(wèn)題: 開(kāi)關(guān)狀態(tài)的可靠輸入可設(shè)計(jì)硬件去抖動(dòng)電路或設(shè)計(jì)去抖動(dòng)軟件。 鍵盤(pán)狀態(tài)的監(jiān)測(cè)方法中斷方
2、式還是查詢方式。 鍵盤(pán)編碼方法。一、鍵盤(pán)工作原理 鍵盤(pán)結(jié)構(gòu) 按鍵設(shè)置在行列式交點(diǎn)上,行列線分別連接到按鍵開(kāi)關(guān)的兩端。當(dāng)行線通過(guò)上拉電阻接+5V時(shí),被鉗位在高電平狀態(tài)。 X3X2X1 X0Y3Y2Y1Y0輸輸 入入 口口輸出口輸出口圖9-1 行列式44鍵盤(pán)原理電路 當(dāng)鍵盤(pán)沒(méi)鍵閉合時(shí),所有的行線和列線斷開(kāi)。行線X0-X3呈高電平。當(dāng)某鍵閉合時(shí),則該鍵所對(duì)應(yīng)的行線與列線短路。 例:6號(hào)鍵閉合,則行線X1和列線Y2短路,X1的電平由Y2決定,若把行線接到微機(jī)的輸入口,列線接微機(jī)的輸出口。則通過(guò)控制列線,使Y0=0,Y1=Y2=Y3=1時(shí),微機(jī)通過(guò)輸入口讀行線的狀態(tài),可判斷是否有鍵合上。 鍵盤(pán)中有無(wú)按鍵
3、按下是由列線送入全掃描字、行線讀入行線狀態(tài)來(lái)判斷的。鍵盤(pán)中哪一個(gè)鍵按下可由列線逐列置低電平后,檢查行輸入狀態(tài)來(lái)判斷。 逐行逐列地檢查鍵盤(pán)狀態(tài)的過(guò)程稱為對(duì)鍵盤(pán)的一次掃描。 鍵閉合時(shí)行線電壓波形:抖動(dòng)時(shí)間長(zhǎng)短和開(kāi)關(guān)的機(jī)械特性有關(guān),一般為5-10ms。 為了保證CPU對(duì)鍵的閉合作一次僅一次處理,在軟件中必須設(shè)置去除抖動(dòng),在鍵的穩(wěn)定閉合或斷開(kāi)時(shí)讀鍵的狀態(tài),并判斷出鍵由閉合到釋放時(shí),在作鍵輸入處理。硬件去除抖動(dòng)的方法:?jiǎn)畏€(wěn)延時(shí)電路。二、單片機(jī)對(duì)非編碼鍵盤(pán)的控制方式 編程掃描方式:當(dāng)單片機(jī)空閑時(shí),才調(diào)用鍵盤(pán)掃 描子程序,響應(yīng)鍵盤(pán)的輸入要求。v定時(shí)掃描方式:每隔一定時(shí)間對(duì)鍵盤(pán)掃描一次 。v通常利用單片機(jī)內(nèi)的
4、定時(shí)器,產(chǎn)生10MS的定時(shí)中v斷,CPU響應(yīng)定時(shí)器溢出中斷請(qǐng)求,對(duì)鍵盤(pán)掃描。缺點(diǎn):對(duì)鍵盤(pán)掃描是隨機(jī)的。優(yōu)點(diǎn):優(yōu)點(diǎn):及時(shí)響應(yīng)鍵入的命令或數(shù)據(jù),便于用戶對(duì)正在執(zhí)行的程序進(jìn)行干預(yù)。缺點(diǎn):缺點(diǎn):不管鍵盤(pán)上有無(wú)鍵閉合,CPU總是定時(shí)的關(guān)心鍵盤(pán)狀態(tài),由于用戶可能對(duì)正在運(yùn)行的系統(tǒng)很少甚至不干預(yù),所以大多數(shù)情況下都是空掃描空掃描。 中斷掃描方式:當(dāng)鍵盤(pán)上有鍵閉合時(shí)產(chǎn)生中斷請(qǐng)求,CPU響應(yīng)中斷,執(zhí)行中斷服務(wù)程序,判別鍵號(hào),并作相應(yīng)的處理。 優(yōu)點(diǎn):優(yōu)點(diǎn): CPU CPU 效率較高。效率較高。 鍵盤(pán)工作方式的選取應(yīng)該根據(jù)實(shí)際應(yīng)用系統(tǒng)中cpu工作的忙、閑情況而定。其原則是既要保證能及時(shí)相應(yīng)按鍵操作,又不要過(guò)多占用cp
5、u的工作時(shí)間。圖9-2 8155擴(kuò)展I/O口組成的行列式鍵盤(pán) 鍵盤(pán)掃描方式 掃描法:在判定有鍵按下后逐列(或逐在判定有鍵按下后逐列(或逐行)置低電平,同時(shí)讀入行(或列)的狀行)置低電平,同時(shí)讀入行(或列)的狀態(tài),如果行(或列)的狀態(tài)出現(xiàn)非全態(tài),如果行(或列)的狀態(tài)出現(xiàn)非全1 1狀態(tài),狀態(tài),這時(shí)這時(shí)0 0狀態(tài)的行、列交點(diǎn)的鍵就是所按下的狀態(tài)的行、列交點(diǎn)的鍵就是所按下的鍵。特點(diǎn)是逐列(或逐行)掃描查詢。這鍵。特點(diǎn)是逐列(或逐行)掃描查詢。這時(shí)相應(yīng)行(或列)應(yīng)有上拉電阻接高電平。時(shí)相應(yīng)行(或列)應(yīng)有上拉電阻接高電平。 線反轉(zhuǎn)法:讓行線編程為輸入線,列線編程為輸出線,并使輸出線輸出為全低電平,則行線中
6、電平由高變低的所在行為按鍵所在行。讓行線編程為輸出線,列線編程為輸出線,并使輸出線輸出為全低電平,則列線中電平由高變低的所在行為按鍵所在列。第二節(jié)第二節(jié) MCS-51MCS-51系列單片機(jī)顯示的系列單片機(jī)顯示的 擴(kuò)展擴(kuò)展一、LED顯示器接口原理 1 1 LED顯示器結(jié)構(gòu) LED顯示器是單片機(jī)應(yīng)用系統(tǒng)中常用的輸出器件。它是由若干個(gè)發(fā)光二極管組成的。原理:當(dāng)發(fā)光二極管導(dǎo)通時(shí),相應(yīng)的一個(gè)點(diǎn)或一個(gè)筆畫(huà)發(fā)亮??刂撇煌M合的二極管導(dǎo)通,就能顯示出各種字符。 7段LED結(jié)構(gòu) (a)共陰極 (b)共陽(yáng)極 (c)管腳配置 圖9-3 七段LED顯示塊 共陰極共陰極LEDLED顯示器的發(fā)光二極管的陽(yáng)極為高電平顯示器
7、的發(fā)光二極管的陽(yáng)極為高電平時(shí)時(shí), ,二極管被點(diǎn)亮。二極管被點(diǎn)亮。 共陽(yáng)極共陽(yáng)極LEDLED顯示器的發(fā)光二極管的陰極為低電平顯示器的發(fā)光二極管的陰極為低電平時(shí)時(shí), ,二極管被點(diǎn)亮。二極管被點(diǎn)亮。a, b, c, d, e, fa, b, c, d, e, f被點(diǎn)亮被點(diǎn)亮共陰極段選碼共陰極段選碼( (高電平點(diǎn)亮):高電平點(diǎn)亮):3FH Dp g f e d c b a 0 0 1 1 1 1 1 1共陽(yáng)極段選碼(低點(diǎn)平點(diǎn)亮)共陽(yáng)極段選碼(低點(diǎn)平點(diǎn)亮): C0H Dp g f e d c b a 1 1 0 0 0 0 0 0 7段LED字型碼 “米”字段結(jié)構(gòu)及外型圖 “米”字段LED字型碼2 LE
8、D顯示器原理 LED顯示器有兩種方式: (1)LED靜態(tài)顯示方式(如圖9-4所示) (2)LED動(dòng)態(tài)顯示方式(如圖9-5所示)靜態(tài)顯示:顯示器顯示某一個(gè)字符時(shí),相應(yīng)的發(fā)光二極管恒定的導(dǎo)通或截至。動(dòng)態(tài)顯示:顯示器的各位輪流被點(diǎn)亮,對(duì)于顯示器的每一位來(lái)說(shuō),每隔一段時(shí)間點(diǎn)亮一次。圖9-4 N位LED顯示器 GND/+5VGND/+5VGND/+5VGND/+5VGND/+5VI/O(1)I/O(2)I/O(3)I/O(4)圖9-5 四位靜態(tài)LED顯示器電路PAPA口、口、PBPB口、口、PCPC口分別控制一位口分別控制一位LEDLED 靜態(tài)顯示時(shí),較小的電流就能得到較高的亮度且字符不閃爍。缺點(diǎn):每一
9、位都需要一個(gè)8位輸出口控制。當(dāng)顯示器位數(shù)比較少時(shí),采用靜態(tài)顯示的方法是合適的。 I/O(1)DDDDDDDDI/O(2)75643210圖9-6 八位LED動(dòng)態(tài)顯示器電路 動(dòng)態(tài)顯示利用了LED顯示器的余暉和人眼的視覺(jué)暫留功能可以達(dá)到各位同時(shí)顯示的效果,但是必須保證掃描的速度足夠快,否則字符會(huì)閃爍。顯示器的亮度相關(guān)的兩個(gè)因素:導(dǎo)通電流。點(diǎn)亮?xí)r間和間隔時(shí)間的比例。 動(dòng)態(tài)顯示的位數(shù)增多,將會(huì)占用大量cpu時(shí)間,因此動(dòng)態(tài)顯示的實(shí)質(zhì)是以犧牲c(diǎn)pu時(shí)間來(lái)?yè)Q取器件的減少。 參考p230 8位led動(dòng)態(tài)顯示2003.10.10的過(guò)程。二、LED顯示器接口段數(shù)據(jù)口:段碼掃描口:掃描口:位碼位碼圖9-7通過(guò)815
10、5擴(kuò)展I/O口控制8位LED動(dòng)態(tài)顯示接口圖9-8動(dòng)態(tài)顯示子程序流程圖顯示程序:顯示程序:DIS: MOV R0,#7AH ;指向顯示緩沖區(qū)起始單元MOV R3,#01H ;字位碼初值R3MOV A,R3 ;取字位碼DLP:MOV DPTR,#PAAR;指向字位口 (PA口) MOVX DPTR,A ;輸出字位碼,顯示其中1位MOV A,R0 ;取一個(gè)顯示數(shù)據(jù)ADD A,#0CH ;查表偏移量MOVC A,A+PC ;取出字形碼INC DPTR ;指向字段口(PB口)MOVX DPTR,A ;輸出字形碼ACALL DLY1MS ;延時(shí)1msINC R0 ;指向顯緩區(qū)下一單元MOV A,R3 ;修
11、改字位碼RL A ;顯示下一位MOV R3,AJNB ACC.6,DLP ;未顯示到最右邊LED,繼續(xù)顯示RET ;全部掃描一遍,結(jié)束DTAB:DB 0C0H,0F9H,0A4H ;字形表 DB 0B0H,99H,DLY1MS: ;延時(shí)1ms子程序8031單片機(jī)和擴(kuò)展I/O接口芯片8155H實(shí)現(xiàn)的6位LED顯示和32鍵的鍵盤(pán)/顯示器接口 1. 8031外擴(kuò)了一片8155H,其RAM的地址和I/O地址的范圍是多少?RAM: 7E00H-7EFFHI/O: 7F00H-7F05H2. PA口,PB口,PC口的作用?PA口:輸出口,控制列線的電位,作為鍵的 掃描口同時(shí)又是6位顯示器的掃描口。PB口:
12、段數(shù)據(jù)口PC口:鍵輸入口,接行線。顯示子程序 DIR: MOV RO,#79H MOV RO,#01H MOV A,R3 LD0: MOV DPTR,#7F01H MOV DPTR,A INC DPTR MOV A,R0 ADD A,#0DH MOVC A,A+PCDIR1:MOVXDPTR,AACALLDL11INCR0MOVA,R3JBA.5,LD1;顯示到 第六位嗎?RLAMOVR3,AAJMPLD0LD1:RETDSEG:DB 3FH,06H,5BH,4FH,66H,6DHDB 7DH,07H,7FH,6FH,77H,7CHDB 39H,5EH,79H,71H,73H,3EHDB 31
13、H,6EH,1CH,23H,40H,03HDB 18H,00,00,00DL11: MOV R7,#02HDL: MOV R6,#0FFHDL6: DJNZ R6,DL6 DJNZ R7,DL RET圖9-9 動(dòng)態(tài)顯示子程序流程圖鍵盤(pán)掃描子程序q在鍵盤(pán)掃描子程序中完成下述幾個(gè)功能。方法:方法:PA0-PA7PA0-PA7輸出全為輸出全為“0”0”,讀,讀PCPC口的狀口的狀態(tài),若態(tài),若PC0-PC3 PC0-PC3 為全為全“1”1”,則無(wú)鍵閉合,若,則無(wú)鍵閉合,若PC0-PC3PC0-PC3不全為不全為“1”1”,則有鍵合上。,則有鍵合上。(1)判斷鍵盤(pán)上有無(wú)鍵按下(2)去鍵的機(jī)械抖動(dòng)影響
14、(3)求按下鍵的鍵號(hào)(4)鍵閉合一次僅進(jìn)行一次鍵功能操作判別有鍵閉合后,延遲一段時(shí)間,再判別鍵盤(pán)判別有鍵閉合后,延遲一段時(shí)間,再判別鍵盤(pán)的狀態(tài),若仍有鍵閉合,則認(rèn)為鍵盤(pán)有一鍵處的狀態(tài),若仍有鍵閉合,則認(rèn)為鍵盤(pán)有一鍵處于閉合期,否則為抖動(dòng)。于閉合期,否則為抖動(dòng)。方法:等閉合鍵釋放后再作處理。方法:等閉合鍵釋放后再作處理。方法為對(duì)鍵盤(pán)的列線進(jìn)行掃描方法為對(duì)鍵盤(pán)的列線進(jìn)行掃描掃描口掃描口PA0-PA7PA0-PA7依次輸出:依次輸出:PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 0
15、1 1 1 1 1 1 0 1 1 1 1 1 1 1相應(yīng)的依次讀相應(yīng)的依次讀PCPC口狀態(tài),若為全口狀態(tài),若為全“1”1”,則列線為,則列線為“0”0”的這一列上沒(méi)有的這一列上沒(méi)有鍵閉合,閉合鍵號(hào)等于為低電平的列號(hào)鍵閉合,閉合鍵號(hào)等于為低電平的列號(hào)加上低電平的行的首鍵號(hào)。加上低電平的行的首鍵號(hào)。 返回例:例:PAPA口輸出為口輸出為1111110111111101時(shí),讀時(shí),讀出出PC0-PC3PC0-PC3為為11011101 N= N=行首鍵號(hào)行首鍵號(hào)+ +列號(hào)列號(hào) =8+1=9=8+1=9調(diào)用子程序延時(shí)6ms調(diào)用子程序延時(shí)12ms開(kāi)始有鍵閉合否?有鍵閉合否?判斷閉合鍵鍵號(hào)棧 閉合鍵釋放否
16、?輸入鍵號(hào)A返回YNNYNYKEYI: ACALL KS1 JNZ LK1NI: ACALL DIR AJMP KEYILK1: ACALL DIR ACALL DIR ACALL KS1 JNZ LK2 ACALL DIR AJMP KEYILK2:MOVR2,#0FEH;掃描模式R2MOVR4,#00HLK4:MOVDPTR,#7F01HMOVA,R2MOVXDPTR,INCDPTRINCDPTRMOVXA,DPTRJBA.0,LONEMOVA,#00HAJMPLKPLONE:JB A.1,LTW0 MOV A,#80H AJMP LKPLTW0:JB A.2,LTHR MOV A,#10
17、H AJMP LKPLTHR:JB A.3,NEXT MOV A,#18HLKP: ADD A,R4 PUSH ALK3: ACALL DIR ACALL KS1 JNZ LK3 POP A RETNEXT:INC R4 MOV A,R2 JNB A.7,KND RL A MOV R2,A AJMP LK4KND: AJMP KEYIKS1:MOVDPTR,#7F01HMOVA,#00HMOVXDPTR,AINCDPTRINCDPTRMOVXA,DPTRCPLAANLA,#0FHRET利用8031的串行口實(shí)現(xiàn)鍵盤(pán)/顯示器接口 應(yīng)用8031的串行口方式0的輸出方式,在串行口外接74LS164構(gòu)成
18、鍵盤(pán)顯示器接口。 此為靜態(tài)顯示方式,主程序可不必掃描顯示器。8 8個(gè)個(gè)74LS16474LS164作為作為8 8位七段輸出口。位七段輸出口。80318031的的P3.4P3.4、P3.5P3.5作為鍵輸入線。作為鍵輸入線。P3.3P3.3作為同步脈沖輸出控制線。作為同步脈沖輸出控制線。顯示子程序:DIR: SETB P3.3; 開(kāi)放顯示輸出 MOV R7,#08H MOV R0,#7FH; 7FH78H為顯示緩沖區(qū)DL0: MOV A,R0 ADD A,#0DH MOVC A,A+PC MOV SBUF,ADL1: JNB TI,DL1 CLR TI DEC R0 DJNZ R7,DL0 CLR P3.3 RETSEGTAB:DB 0C0H,0F9H,0A4H,0B0H,99HDB 92H,82H,0F8H,90H DB 88H,83H,0C6H,0A1H,86H DB 8FH,0BFH,8CH,0FFH,0FF
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度餐飲廚房能源消耗分析與節(jié)能減排承包合同3篇
- 2025年度區(qū)塊鏈技術(shù)研究人員保密協(xié)議及項(xiàng)目合作條款3篇
- 2025年度時(shí)尚服飾品牌代理供貨合作協(xié)議4篇
- 2025年度二零二五年度生態(tài)旅游區(qū)場(chǎng)攤位租賃管理協(xié)議4篇
- 2025年度企業(yè)年會(huì)策劃與演出服務(wù)合同4篇
- 2025年度服裝服飾貨款抵押銷售合同范本4篇
- 2024石材石材石材運(yùn)輸保險(xiǎn)服務(wù)合作協(xié)議3篇
- 2025年度柴油發(fā)動(dòng)機(jī)技術(shù)培訓(xùn)合同4篇
- 2025年度體育賽事場(chǎng)地冠名權(quán)及推廣合作合同4篇
- 二零二五年度防盜門(mén)行業(yè)展會(huì)贊助合作合同3篇
- 2024版《53天天練單元?dú)w類復(fù)習(xí)》3年級(jí)語(yǔ)文下冊(cè)(統(tǒng)編RJ)附參考答案
- 2025企業(yè)年會(huì)盛典
- 215kWh工商業(yè)液冷儲(chǔ)能電池一體柜用戶手冊(cè)
- 場(chǎng)地平整施工組織設(shè)計(jì)-(3)模板
- 交通設(shè)施設(shè)備供貨及技術(shù)支持方案
- 美容美發(fā)店火災(zāi)應(yīng)急預(yù)案
- 餐車移動(dòng)食材配送方案
- 項(xiàng)目工程師年終總結(jié)課件
- 一年級(jí)口算練習(xí)題大全(可直接打印A4)
- 電動(dòng)車棚消防應(yīng)急預(yù)案
- 人力資源戰(zhàn)略規(guī)劃地圖
評(píng)論
0/150
提交評(píng)論