第9章人機接口_第1頁
第9章人機接口_第2頁
第9章人機接口_第3頁
第9章人機接口_第4頁
第9章人機接口_第5頁
已閱讀5頁,還剩60頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

第九章單片機系統(tǒng)人機接口技術實際系統(tǒng)中必不可少的組成:人機界面人機界面是系統(tǒng)必不可少的組成部分第九章單片機系統(tǒng)人機接口技術主要內(nèi)容1.顯示器接口技術2.鍵盤接口技術第九章單片機系統(tǒng)人機接口技術9.2鍵盤接口技術9.1單片機系統(tǒng)顯示器接口技術9.1.1單片機應用系統(tǒng)中常用的顯示器1.LED發(fā)光二極管顯示器

2.LCD液晶顯示器件

液晶顯示器具有體積小、質(zhì)量輕、低電壓、微功耗、抗干擾能力強等優(yōu)點,因此被廣泛應用于各種便攜式電子信息產(chǎn)品。與液晶顯示器相比,更適于在光線暗的環(huán)境使用。它的主要缺點是工作電流較大。

9.1單片機系統(tǒng)顯示器接口技術8.1LED顯示器接口技術發(fā)光二極管的驅(qū)動發(fā)光二極管正常發(fā)光時,電流約為5~10mA,壓降1V左右。限流電阻R=(5V-1V)/8mA=500ΩP1.0+5V500引腳輸出低電平時,發(fā)光二極管導通。LED應用領域LED應用實例第九章單片機系統(tǒng)人機接口技術9.2鍵盤接口技術9.1單片機系統(tǒng)顯示器接口技術9.1.2

LED顯示器及其接口設計1.LED顯示器的結構與工作原理組成:LED數(shù)碼管由7段或8段發(fā)光二極管組成,在平面上排成8字型。分類:有共陰極和共陽極兩種。+5VabcdefgDpGNDabcdefgDp顯示原理:使某些段點亮而另一些段不亮就可以顯示0---9,A---F等字型。共陽極共陰極abcdefgDp第九章單片機系統(tǒng)人機接口技術9.2鍵盤接口技術9.1單片機系統(tǒng)顯示器接口技術字形段gfedcba共陽極代碼共陰極代碼字形段gfedcba共陽極代碼共陰極代碼0暗亮亮亮亮亮亮C0H3FH9亮亮暗亮亮亮亮90H6FH1暗暗暗暗亮亮暗F9H06HA亮亮亮暗亮亮亮88H77H2亮暗亮亮暗亮亮A4H5BHb亮亮亮亮亮暗暗83H7CH3亮暗暗亮亮亮亮B0H4FHC暗亮亮亮暗暗亮C6H39H4亮亮暗暗亮亮暗99H66Hd亮暗亮亮亮亮暗A1H5EH5亮亮暗亮亮暗亮92H6DHE亮亮亮亮暗暗亮86H79H6亮亮亮亮亮暗亮82H7DHF亮亮亮暗暗暗亮8EH71H7暗暗暗暗亮亮亮F8H07H全滅暗暗暗暗暗暗暗FFH00H8亮亮亮亮亮亮亮80H7FH表9-1LED顯示器十六進制數(shù)的段碼表

段碼的顯示可用硬件譯碼和軟件查表方法實現(xiàn)。使用LED顯示器時要注意區(qū)分這兩種不同方法所適用的硬件譯碼器件或軟件譯碼的代碼。第九章單片機系統(tǒng)人機接口技術9.2鍵盤接口技術9.1單片機系統(tǒng)顯示器接口技術思考:若某系統(tǒng)顯示器引腳采用下列連接方式,字符編碼又是怎樣的?代碼位D7

D6

D5

D4

D3

D2

D1D0顯示段

e

d

dp

c

g

b

f

a

00010100CPU和數(shù)碼管的連接共陰數(shù)碼管共陽數(shù)碼管第九章單片機系統(tǒng)人機接口技術9.2鍵盤接口技術9.1單片機系統(tǒng)顯示器接口技術2.LED顯示器顯示方式及接口設計LED顯示器顯示接口按驅(qū)動方式分成:靜態(tài)顯示——數(shù)碼管的各筆畫段都由具有鎖存能力的I/O端口引腳直接驅(qū)動,CPU將段碼寫入鎖存器后,每個數(shù)碼管都由鎖存器持續(xù)驅(qū)動,直到下一次CPU更新鎖存器存儲的段碼之前,數(shù)碼管的顯示保持不變。優(yōu)點:顯示穩(wěn)定,亮度高,編程簡單;缺點:占用硬件資源多(I/O口、驅(qū)動器等)。第九章單片機系統(tǒng)人機接口技術9.2鍵盤接口技術9.1單片機系統(tǒng)顯示器接口技術動態(tài)顯示——采用動態(tài)掃描的方法逐個地循環(huán)點亮各位顯示器,對于多位LED顯示器常采用這種顯示方式,雖然在任一時刻只有一位顯示器被點亮,但由于人眼具有視覺殘留效應,看起來與全部顯示器持續(xù)點亮效果是完全一樣的。優(yōu)點:節(jié)省硬件電路(如I/O口、驅(qū)動器等);缺點:采用軟件掃描占用CPU時間多,且當動態(tài)顯示位數(shù)較多時,顯示器亮度將受到影響。思考:這個電路是動態(tài)控制方式還是靜態(tài)控制方式?三極管放大驅(qū)動電路非門驅(qū)動電路某實際數(shù)碼管連接圖P0.0+5Vcom1com2com3com4com5com6abcdefgdpP0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.7P2.6P2.5P2.4P2.3P2.2位驅(qū)動段驅(qū)動六位共陽極數(shù)碼管模塊相同的段驅(qū)動端都并聯(lián)在一起。在第一位上顯示5P0.0+5Vcom1com2com3com4com5com6abcdefgdpP0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.7P2.6P2.5P2.4P2.3P2.2位驅(qū)動P2.7輸出0段驅(qū)動P0口輸出“5”的段碼“10010010B”01111101001001第九章單片機系統(tǒng)人機接口技術9.2鍵盤接口技術9.1單片機系統(tǒng)顯示器接口技術按CPU向顯示器接口傳送數(shù)據(jù)方式分成:并行傳送串行傳送按顯示器接口顯示數(shù)據(jù)方式可分成:

譯碼顯示數(shù)據(jù)方式一般為專用顯示器接口器件,接口包含鎖存器/譯碼器/驅(qū)動器等,可以把一位BCD碼或十六進制數(shù)鎖存、譯碼為相應的字形代碼并有足夠的功率驅(qū)動顯示。

非譯碼顯示數(shù)據(jù)方式顯示器接口只包含鎖存器和驅(qū)動器,必須由軟件將BCD碼或十六進制數(shù)通過軟件查表轉(zhuǎn)換為相應的字形代碼輸出。第九章單片機系統(tǒng)人機接口技術9.2鍵盤接口技術9.1單片機系統(tǒng)顯示器接口技術靜態(tài)顯示器可以采用CPU的并行I/O接口(如P1口)、8155、8255A芯片的擴展口等實現(xiàn);也可以由單片機串行口擴展串入/并出移位寄存器來實現(xiàn),如74LS164、74LS47等。常用的LED靜態(tài)驅(qū)動接口器件有:驅(qū)動共陰極LED——可選用CD4511、CD4513、CD14495;驅(qū)動共陽極LED——可選用74LS74、74LS274。(1)靜態(tài)顯示接口電路舉例第九章單片機系統(tǒng)人機接口技術9.2鍵盤接口技術9.1單片機系統(tǒng)顯示器接口技術CD4513是BCD/譯碼器/驅(qū)動器,可與單片機的數(shù)據(jù)總線相連,由硬件實現(xiàn)BCD碼到七位顯示段碼的轉(zhuǎn)換,并提供足夠的功率去驅(qū)動發(fā)光二極管,其引腳和內(nèi)部結構如圖9-2所示。

123456789

181716151413121110CD4513

fgabcdeGNDVCCBCLTBILE

DARBIRBO四位鎖存驅(qū)動七段譯碼74ABCDabc…g圖9-2CD4513引腳及內(nèi)部結構圖

第九章單片機系統(tǒng)人機接口技術9.2鍵盤接口技術9.1單片機系統(tǒng)顯示器接口技術例1:用CD4513驅(qū)動4位共陰極LED靜態(tài)顯示,接口電路如圖9-3所示。

P0.0~

P0.7

ALE8031EA

373

AY0BY1CY2Y3Y4Y5Y6Y774LS138

DCBALE4513a…g

DCBALE4513a…g

DCBALE4513a…g

DCBALE4513a…g877774D0~D3G1G2AG2BA0A1A2A77R7R7R7R(1)電路分析:工作過程?端口地址?圖9-34位LED靜態(tài)顯示電路圖

3線-8線譯碼器第九章單片機系統(tǒng)人機接口技術9.2鍵盤接口技術9.1單片機系統(tǒng)顯示器接口技術

(2)編程練習:編寫顯示子程序:利用上述顯示接口,把內(nèi)存RAM40H~43H單元中四個非壓縮BCD碼送顯示器顯示。(端口地址80H~83H)。DISP:MOVR0,#80H;R0指向顯示端口

MOVR1,#40H;R1指向顯示數(shù)據(jù)地址

MOVR2,#04H

;置顯示字符數(shù) DISP1:MOV A,@R1;取待顯示BCD碼

MOVX @R0,A;送出顯示

INCR1;修改顯示端口地址

INCR0;修改顯示顯示數(shù)據(jù)地址

DJNZR2,DISP1RET(3)特點?編程簡單、硬件較復雜、譯碼缺乏靈活性ABCLKhgfedcbaCLRABCLKCLRABCLKCLR+5VVCCTxDRxD89C51單片機74LS16474LS16474LS164hgfedcbahgfedcba+5V共陽LED數(shù)碼管LED數(shù)碼管靜態(tài)顯示舉例(學習串行口已見過)有幾個LED就要幾個74LS164,但只要數(shù)據(jù)不變,送一次就保持住了,且不閃爍,編程十分簡單。要求:根據(jù)上圖編寫通過串行口和74LS164驅(qū)動共陽LED數(shù)碼管查表顯示的子程序。條件:系統(tǒng)有6個LED數(shù)碼管,待顯數(shù)據(jù)(00H—09H)已放在35H—30H單元中(分別對應十萬位→個位),DSPLY:MOVDPTR,#TABLE;共陽LED數(shù)碼管譯碼表首址

MOVR0,#30H;待顯數(shù)據(jù)緩沖區(qū)的個位地址REDO:MOVA,@R0;通過R0實現(xiàn)寄存器間接尋址

MOVCA,@A+DPTR;查表

MOVSBUF,A;經(jīng)串行口發(fā)送到74LS164JNBTI,$;查詢送完一個字節(jié)的第8位?

CLRTI;為下一字節(jié)發(fā)送作準備

INCR0;R0指向下一個數(shù)據(jù)緩沖單元

CJNER0,#36H,REDO;判斷是否發(fā)完6個數(shù)?

RET;發(fā)完6個數(shù)就返回TABLE:DB0C0H,0F9H,0A4H,0B0H,99H;共陽LED譯碼表

DB92H,82H,0F8H,80H,90H第九章單片機系統(tǒng)人機接口技術9.2鍵盤接口技術9.3遙控輸入鍵盤9.1單片機系統(tǒng)顯示器接口技術為了實現(xiàn)LED顯示器的動態(tài)掃描,除了要給顯示器提供段碼(字形代碼)的輸入外,還要對顯示器進行位的控制,這就是通常所說的段控和位控。

因此多位LED顯示器接口電路需要有兩個輸出口,其中一個用于輸出8條段控線(有小數(shù)點顯示);另一個用于輸出位控線,位控線的數(shù)目等于顯示器的位數(shù)。(2)動態(tài)顯示接口電路動態(tài)掃描概括起來就是選通一位、送一位數(shù)據(jù)。采用動態(tài)顯示時需要注意以下3點問題:由于每一位七段數(shù)碼管的點亮時間很短,掃描過程中要保證每一位七段數(shù)碼管得到足夠的工作電流,從而確保亮度,通常取限流電阻阻值為20~100Ω。在選通下一位七段數(shù)碼管時,應把上一位熄滅,再將下一位顯示數(shù)據(jù)送出,防止顯示數(shù)據(jù)出現(xiàn)殘影。點亮一遍所有七段數(shù)碼管的時間應盡量小于0.1s,以保證足夠短的時間,使眼睛產(chǎn)生各位七段數(shù)碼管同時顯示的錯覺,一般點亮一遍所有七段數(shù)碼管的時間應小于60ms為宜。LED數(shù)碼管動態(tài)顯示舉例

P1.5P1.4P1.3P1.2P1.2P1.0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.07406OC門X3上拉電阻×14+5VAT89C51工作原理:從P0口送段代碼,P1口送位選信號。段碼雖同時到達6個LED,但一次僅一個LED被選中。利用“視覺暫留”,每送一個字符并選中相應位線,延時一會兒,再送/選下一個……循環(huán)掃描即可。共陰數(shù)碼管位選線段代碼P1.5P1.4P1.3P1.2P1.2P1.0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.07406OC門X3+5VAT89C51位選線段代碼要求:此處為共陰數(shù)碼管,P0口送段代碼,P1口送位選信號。通過查表實現(xiàn)動態(tài)顯示。條件:待顯數(shù)據(jù)(00H—09H)已放在:7FH—7AH單元中(分別對應十萬位~個位)說明:由于用了反相驅(qū)動器7406,要用共陽譯碼表。共陰數(shù)碼管上拉電阻×147406OC門X3+5V(7FH)(7EH)(7DH)(7CH)(7BH)(7AH)十萬萬位千位百位十位個位數(shù)據(jù)緩沖區(qū)/顯示緩沖區(qū)P0口送段代碼,P1口送位選信號。待顯數(shù)據(jù)已經(jīng)放在:7FH—7AH單元(分別對應十萬位→個位)使用共陽譯碼表。DIR:MOVDPTR,#DSEG

;數(shù)碼管譯碼表首址

MOVR0,#7AH;待顯緩沖區(qū)個位地址

MOVR3,#01H;個位的位選信號=01HLD1:MOVA,@R0;通過R0間接尋址

MOVCA,@A+DPTR

;查表

MOVP0,A;字段碼送到P0口

MOVP1,R3;字位選擇送到P1口

LCALLDELY

;調(diào)延時1ms子程序

INCR0;R0指向下一字節(jié)

MOVA,R3JBACC.5,LD2

;判是否發(fā)完6個數(shù)?

RLA;R1指向下一個位

MOVR3,A;位選信號存回R1SJMPLD1

;跳去再顯示下一個數(shù)LD2:

RET;發(fā)完6個數(shù)就返回DSEG:DB0C0H,0F9H,0A4H,0B0H,99H;共陽譯碼表

DB92H,82H,0F8H,80H,90HP0口送段代碼,P1口送位選信號。待顯數(shù)據(jù)已經(jīng)放在:7FH—7AH單元(分別對應十萬位→個位)使用共陽譯碼表?!?/p>

描發(fā)光二極管點陣1顯示原理34發(fā)光二極管點陣器件由8(行)×8(列)獨立的發(fā)光二極管組成,在器件的正面有64個白色的圓點,這些圓點可以通過背面的管腳控制點亮。顯示信息也正是通過點亮發(fā)光二極管組合實現(xiàn)的。1顯示原理要在8×8發(fā)光二極管點陣上分別顯示“H”、“古”、“9”、“?”4個字符,可按圖所示點亮某些位置上的發(fā)光二極管即可。2發(fā)光二極管點陣器件結構點陣中每一個發(fā)光二極管在行、列的交點上,只要行、列之間通過電流,則交點的發(fā)光二極管就會發(fā)光。比如列P0.5和行P2.2之間有電流通過(P0.5為正,P2.2為負),則交點上的發(fā)光二極管被點亮。2發(fā)光二極管點陣器件結構比如要在8×8發(fā)光二極管點陣上顯示字母“H”,需要點亮交點上的發(fā)光二極管為:P2.0—P0.6、P2.0—P0.1、P2.1—P0.6、P2.1—P0.1、P2.2—P0.6、P2.2—P0.1、P2.3—P0.6、P2.3—P0.5、P2.3—P0.4、P2.3—P0.3、P2.3—P0.2、P2.3—P0.1、P2.4—P0.6、P2.4—P0.1、P2.5—P0.6、P2.5—P0.1、P2.6—P0.6、P2.6—P0.1、P2.7—P0.6、P2.7—P0.1。2發(fā)光二極管點陣器件結構點亮的發(fā)光二極管用1代表,熄滅的用0代表,可得到字母“H”的編碼(從橫向上進行編碼),每一行的編碼用十六進制表示為:42H、42H、42H、7EH、42H、42H、42H、42H。如果發(fā)光二極管點陣與單片機的I/O口相連,則從I/O口依次輸出這些編碼,就會在器件上顯示出字母“H”來。3發(fā)光二極管點陣與單片機電路發(fā)光二極管點陣與單片機接口的電路:P0口經(jīng)過8支三極管進行驅(qū)動。當P0口某位輸出1,對應三極管導通,點陣對應列上出現(xiàn)高電平。點陣的行則由單片機的P2口經(jīng)過非門7404來驅(qū)動,當P2口某位輸出1,經(jīng)過非門后,對應行上應該出現(xiàn)低電平。這樣,當P0口某位輸出1、P2口某位輸出1,則對應行、列交點上的發(fā)光二極管被點亮。4點陣顯示程序利用點陣顯示“H”:將字母“H”的編碼42H、42H、42H、7EH、42H、42H、42H、42H保存在數(shù)據(jù)表“TABLE”中,在程序中使用指令“MOVCA,@A+DPTR”進行數(shù)據(jù)的提取。5點陣屏幕的應用41實際一般會使用更多的點陣構成大屏幕來顯示更豐富的信息,尤其在中文、圖形等顯示中,點陣越多,屏幕的表現(xiàn)能力就越強。發(fā)光二極管點陣越多,與單片機的接口電路、控制程序就越復雜。8個8×8的發(fā)光二極管點陣與單片機連接,這8個點陣器件兩兩成行,形成4列的排列,所以屏幕的點陣為16×32,即16行32列,共512個點。

液晶屏1液晶屏的應用42液晶屏的低功耗、顯示信息豐富等特點使其在電子產(chǎn)品中廣泛使用。在90%以上的場合中,液晶屏都是以單片機等為核心的嵌入式系統(tǒng)的顯示外設,所以它近年來的普及與單片機的快速發(fā)展密不可分。2字符液晶屏字符液晶屏:圖示為一款16×2的字符液晶屏。16×2表示該液晶屏每行最多顯示16個字符,且能顯示2行。顯示的字符可以是英文大、小寫字母、數(shù)字、標點符號、常用符號等。如圖中顯示區(qū)域中的內(nèi)容“ActiveRobots”和“Supply=4.97V”就包括了字母、數(shù)字、符號等信息。3字符液晶屏顯示原理液晶屏的顯示控制方法與七段數(shù)碼管有本質(zhì)的不同,液晶屏中由一個個點陣塊顯示。20×4字符液晶屏每行可顯示20個字符,最多顯示4行。而每個字符的顯示都由點陣塊實現(xiàn),所以20×4字符液晶屏有80個點陣塊。4單片機與字符液晶屏的接口45液晶屏的顯示全靠單片機對其管腳的控制實現(xiàn)。4單片機與字符液晶屏的接口46第九章單片機系統(tǒng)人機接口技術9.2鍵盤接口技術9.1單片機系統(tǒng)顯示器接口技術三、小結:(1)LED顯示器顯示接口按驅(qū)動方式可分成靜態(tài)顯示和動態(tài)顯示兩種顯示方式,動態(tài)顯示的掃描可由單片機軟件或?qū)iT的硬件完成;

(2)按顯示器接口是否帶譯碼器可分成譯碼和非譯碼兩種顯示數(shù)據(jù)方式;(3)按CPU向顯示器接口傳送數(shù)據(jù)的方式則可分成并行傳送和串行傳送兩種顯示數(shù)據(jù)傳送方式;第九章單片機系統(tǒng)人機接口技術1.鍵盤的構成鍵盤是單片機系統(tǒng)中最常用的一種輸入設備,數(shù)據(jù)、內(nèi)存地址、命令及指令地址等都可以通過鍵盤輸入到系統(tǒng)中。按鍵盤接口是否進行硬件編碼可分成編碼鍵盤和非編碼鍵盤。按排布方式鍵盤還可分成獨立方式(一組相互獨立的按鍵)和矩陣方式(以行列組成矩陣)按讀入鍵方式,可分成直讀方式和掃描方式。

9.2鍵盤接口技術第九章單片機系統(tǒng)人機接口技術9.1單片機系統(tǒng)顯示器接口技術9.2鍵盤接口技術2.鍵盤的確認及接口硬件、軟件任務從按鍵到鍵的功能被執(zhí)行主要包括兩項工作:一是鍵的識別二是鍵功能的實現(xiàn)

鍵識別的主要問題:(1)檢測是否有鍵按下;(2)若有鍵按下,判定是哪一個鍵;(3)反彈跳(去抖動);(4)確定被按鍵的含義;(5)不管一次按鍵持續(xù)的時間有多長,僅采用一個數(shù)據(jù);(6)防止串鍵。檢測鍵盤上有無鍵按下可采用查詢工作方式和中斷工作方式。第九章單片機系統(tǒng)人機接口技術9.1單片機系統(tǒng)顯示器接口技術9.3遙控輸入鍵盤9.2鍵盤接口技術3.按鍵引起的彈跳(抖動)現(xiàn)象(1)硬件去抖(2)軟件去抖(延時去抖)

有鍵按下,

延時再查,若發(fā)現(xiàn)無鍵按下,則表明第一次查到的有鍵按下并不是真正有鍵按下,而是抖動引起的。若第二次查到仍有鍵按下,才說明確實有鍵按下。延時多長時間?軟件鍵盤去抖動處理流程如圖所示。這種軟件去抖動的方法最大的特點是成本低,實現(xiàn)起來比較靈活,在鍵數(shù)目較多時,大多采用軟件延時法去抖動。100ms10ms10ms鍵抖動時間

因不小心同時按下兩個或兩個以上的按鍵,即發(fā)生了串鍵。

4.串鍵處理

發(fā)生串鍵的處理原則:把最后放開的按鍵作為真正被按的按鍵。89C51P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7+5V第九章單片機系統(tǒng)人機接口技術5.單片機常用的鍵盤結構形式S1S4S3S2P0.0P0.1P0.2P0.389C51+5V獨立式鍵盤接口89C51P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7+5V矩陣式鍵盤接口特點:每個按鍵占用一條I/O線,當按鍵數(shù)量較多時,I/O口利用率不高,但程序編制簡單。適用于所需按鍵較少的場合。特點:電路連接復雜,但提高了I/O口利用率,軟件編程較復雜。適用于需使用大量按鍵的場合。(1)用鍵盤連接的I/O線的權值組合表示鍵碼。6.鍵編碼及鍵值

如圖所示,各鍵相應的鍵值為: 88H、84H、82H、81H、

48H、44H、42H、41H、

28H、24H、22H、21H、

18H、14H、12H、11H。這種鍵值編碼軟件較為簡單直觀,但離散性大,不便安排散轉(zhuǎn)程序的入口地址。(2)順序排列鍵編碼。如圖所示,這種方法鍵值的形成要根據(jù)I/O線的狀態(tài)作相應的程序處理。鍵碼可按下式形成:鍵碼=行首鍵碼+列號D4:0行→0000D5:1行→0100D6:2行→1000D7:3行→1100D0:0列→0000D1:1列→0001D2:2列→0010D3:3列→0011行列鍵碼0000,0001,0010,00110100,0101,0110,01111000,1001,1010,10111100,1101,1110,1111012304812第九章單片機系統(tǒng)人機接口技術(2)單片機實現(xiàn)鍵盤接口的常用方法和接口芯片有:

①使用單片機本身的并行口;②使用單片機本身的串行口;③使用通用接口芯片(例如8255、8155等);④使用專用接口芯片(例如8279、ZLG7289A等)。其中,利用擴展的并行I/O接口方法方便靈活,在單片機應用系統(tǒng)中比較常用。

列線行線012345670123第九章單片機系統(tǒng)人機接口技術9.1單片機系統(tǒng)顯示器接口技術9.2鍵盤接口技術7、矩陣式鍵盤接口(1)矩陣式鍵盤掃描原理圖9-9

4×4矩陣式鍵盤接口

無健按下時,行線處于高電平狀態(tài);當有健按下時行線電平由將由與此行線相連的列線的電平確定。

矩陣式鍵盤按鍵的識別方法——

采用掃描法

①使所有列為低電平,檢查各行線電平是否有變化,有變化則有健按下;②使某列為低電平,其余各列為高電平,再依次檢查各行線電平的變化,某行線電平變低,則此行、列交點處按鍵按下。0000行線輸入列線輸出11110000第一步是CPU首先檢測鍵盤上是否有鍵按下無按鍵按下有按鍵按下行線輸入列線輸出10110000有一根行線電平被拉至低電平,從而使行輸入狀態(tài)不全為“1”,說明有按鍵按下!為求取鍵碼,在逐列掃描時,可用計數(shù)器記錄下當前掃描列的列號,然后用行首鍵碼加列號的辦法計算。第二步是再識別是哪一個鍵按下。行線輸入列線輸出11111110行列012304812111111011111101110110111鍵碼=行首鍵碼+列號

例:

矩陣式鍵盤接口查詢法應用實例:電路原理如圖所示,編程實現(xiàn)當任意一按鍵被按下時,數(shù)碼管顯示對應的按鍵鍵值。

矩陣式鍵盤接口查詢法應用電路圖鍵盤接口應用實例

單片機對矩陣式鍵盤接口處理的一般過程如圖所示。鍵掃描消抖求鍵碼等待釋放鍵掃描消除抖動有鍵按下?鍵掃描確有鍵按下?求鍵值按鍵處理鍵釋放?YYYNN等待鍵釋放N開始返回按鍵處理圖

鍵盤處理流程框圖;******主程序******

ORG 0000HMOV 32H,#10H;置熄滅數(shù)碼管數(shù)值

SETB F0;設無鍵按下標志MAIN:LCALL DISP;調(diào)顯示子程序

LCALL KEY;調(diào)KEY子程序掃描鍵盤

JB F0,MAIN;無鍵按下轉(zhuǎn)MAINLCALL DELAY ;有鍵按下延時消抖

LCALL KEY ;再次掃描鍵盤

JBF0,MAIN;無鍵按下(干擾)轉(zhuǎn)

MOV 32H,30H ;確有鍵按下,保存鍵碼MAIN1:LCALL DELAY ;等待按鍵釋放

LCALL KEYJNB F0,MAIN1;未釋放繼續(xù)等待

LCALL DELAY;延時消抖

LCALL KEYJNB F0,MAIN1;未真正釋放繼續(xù)等待

SJMP MAIN ;循環(huán);******顯示子程序******DISP: MOV DPTR,#TAB MOV A,32H MOVC A,@A+DPTR MOV P2,A

溫馨提示

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

評論

0/150

提交評論