第9章人機(jī)接口_第1頁(yè)
第9章人機(jī)接口_第2頁(yè)
第9章人機(jī)接口_第3頁(yè)
第9章人機(jī)接口_第4頁(yè)
第9章人機(jī)接口_第5頁(yè)
已閱讀5頁(yè),還剩60頁(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)介

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

2.LCD液晶顯示器件

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

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

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

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

D6

D5

D4

D3

D2

D1D0顯示段

e

d

dp

c

g

b

f

a

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

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

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

123456789

181716151413121110CD4513

fgabcdeGNDVCCBCLTBILE

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

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

P0.0~

P0.7

ALE8031EA

373

AY0BY1CY2Y3Y4Y5Y6Y774LS138

DCBALE4513a…g

DCBALE4513a…g

DCBALE4513a…g

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

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

(2)編程練習(xí):編寫顯示子程序:利用上述顯示接口,把內(nèi)存RAM40H~43H單元中四個(gè)非壓縮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)特點(diǎn)?編程簡(jiǎn)單、硬件較復(fù)雜、譯碼缺乏靈活性ABCLKhgfedcbaCLRABCLKCLRABCLKCLR+5VVCCTxDRxD89C51單片機(jī)74LS16474LS16474LS164hgfedcbahgfedcba+5V共陽(yáng)LED數(shù)碼管LED數(shù)碼管靜態(tài)顯示舉例(學(xué)習(xí)串行口已見(jiàn)過(guò))有幾個(gè)LED就要幾個(gè)74LS164,但只要數(shù)據(jù)不變,送一次就保持住了,且不閃爍,編程十分簡(jiǎn)單。要求:根據(jù)上圖編寫通過(guò)串行口和74LS164驅(qū)動(dòng)共陽(yáng)LED數(shù)碼管查表顯示的子程序。條件:系統(tǒng)有6個(gè)LED數(shù)碼管,待顯數(shù)據(jù)(00H—09H)已放在35H—30H單元中(分別對(duì)應(yīng)十萬(wàn)位→個(gè)位),DSPLY:MOVDPTR,#TABLE;共陽(yáng)LED數(shù)碼管譯碼表首址

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

MOVCA,@A+DPTR;查表

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

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

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

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

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

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

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

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

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

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

MOVR3,#01H;個(gè)位的位選信號(hào)=01HLD1:MOVA,@R0;通過(guò)R0間接尋址

MOVCA,@A+DPTR

;查表

MOVP0,A;字段碼送到P0口

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

LCALLDELY

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

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

MOVA,R3JBACC.5,LD2

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

RLA;R1指向下一個(gè)位

MOVR3,A;位選信號(hào)存回R1SJMPLD1

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

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

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

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

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

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

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

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

有鍵按下,

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

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

4.串鍵處理

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

如圖所示,各鍵相應(yīng)的鍵值為: 88H、84H、82H、81H、

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

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

18H、14H、12H、11H。這種鍵值編碼軟件較為簡(jiǎn)單直觀,但離散性大,不便安排散轉(zhuǎn)程序的入口地址。(2)順序排列鍵編碼。如圖所示,這種方法鍵值的形成要根據(jù)I/O線的狀態(tài)作相應(yīng)的程序處理。鍵碼可按下式形成:鍵碼=行首鍵碼+列號(hào)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第九章單片機(jī)系統(tǒng)人機(jī)接口技術(shù)(2)單片機(jī)實(shí)現(xiàn)鍵盤接口的常用方法和接口芯片有:

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

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

4×4矩陣式鍵盤接口

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

矩陣式鍵盤按鍵的識(shí)別方法——

采用掃描法

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

例:

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

矩陣式鍵盤接口查詢法應(yīng)用電路圖鍵盤接口應(yīng)用實(shí)例

單片機(jī)對(duì)矩陣式鍵盤接口處理的一般過(guò)程如圖所示。鍵掃描消抖求鍵碼等待釋放鍵掃描消除抖動(dòng)有鍵按下?鍵掃描確有鍵按下?求鍵值按鍵處理鍵釋放?YYYNN等待鍵釋放N開(kāi)始返回按鍵處理圖

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

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

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

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

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

LCALL KEY ;再次掃描鍵盤

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

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

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

LCALL DELAY;延時(shí)消抖

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

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

溫馨提示

  • 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)論