鍵盤和顯示器_第1頁
鍵盤和顯示器_第2頁
鍵盤和顯示器_第3頁
鍵盤和顯示器_第4頁
鍵盤和顯示器_第5頁
已閱讀5頁,還剩111頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第四章智能化測控儀表的鍵盤、顯示器及打印輸出接口重點:鍵盤接口技術(shù)(行掃描法線反轉(zhuǎn)法鍵),LED顯示器接口技術(shù)(MAX7219)了解:8279可編程鍵盤/顯示器芯片、LCD液晶顯示器和TPuP-40A的接口技術(shù)智能化測控儀表是通過計算機的外部輸入輸出設(shè)備完成的,鍵盤、顯示器和打印機是最常用的外部輸入/輸出設(shè)備。第四章智能化測控儀表的鍵盤、顯示器及打印輸出接口4.1鍵盤接口技術(shù)鍵盤實際上是由排列成矩陣形式的一系列按鍵開關(guān)組成的,最常用的人機聯(lián)系的一種輸入設(shè)備。鍵盤按其結(jié)構(gòu)形式可分為編碼式鍵盤和非編碼式鍵盤兩大類。編碼式鍵盤是由其內(nèi)部硬件邏輯電路自動產(chǎn)生被按鍵的編碼。這種鍵盤使用方便,但價格較貴。智能儀表中普遍使用非編碼式鍵盤。這類鍵盤應(yīng)主要解決以下幾個問題:(1)鍵的識別;(2)反彈跳;(3)串鍵的保護。4.1鍵盤接口技術(shù)√智能儀表中普遍使用非編碼式鍵盤。這類鍵盤應(yīng)主要解決以下幾個問題:(1)鍵的識別;——決定是否有鍵按下,若有,識別是哪個鍵。常用方法:行掃描法和線反轉(zhuǎn)法。4.1鍵盤接口技術(shù)智能儀表中普遍使用非編碼式鍵盤。這類鍵盤應(yīng)主要解決以下幾個問題:(2)反彈跳;——由于按鍵采用的是機械開關(guān),當(dāng)開關(guān)的觸點閉合或者斷開到穩(wěn)定,會產(chǎn)生一個短暫的抖動和彈跳。4.1鍵盤接口技術(shù)(2)反彈跳;消除方法:☆硬件方法(適用于鍵數(shù)較少的情況)

☆軟件延時的方法(鍵數(shù)較多時)4.1鍵盤接口技術(shù)延時20ms入口出口NNYY有鍵閉合?鍵仍閉合?延時20ms轉(zhuǎn)close子程序(3)串鍵保護由于操作不慎,可能會造成同時有幾個鍵被按下,稱為串鍵。處理技術(shù)有三:①兩鍵同時按下*只有一個鍵按下才讀取鍵盤,最后仍被按下的是有效的正確按鍵——軟件掃描鍵盤;*當(dāng)?shù)?個按鍵未松開時,按第2個按鍵不產(chǎn)生選通信號(硬件電路實現(xiàn))。4.1鍵盤接口技術(shù)②n鍵同時按下不理會所有按下的鍵,或者將所有的按鍵信息存儲,然后逐個處理。③n鍵鎖定只處理1個鍵,通常第一個按下或者最后一個松開的按鍵產(chǎn)生代碼。4.1鍵盤接口技術(shù)1.非編碼式鍵盤的結(jié)構(gòu)

非編碼式鍵盤一般采用行列式結(jié)構(gòu)并按矩陣形式排列,如圖4.3所示。

4.1.1非編碼鍵盤輸入三態(tài)緩沖器+5VR1R2R3R4行線C4C3C2C1輸出鎖存器至CPU數(shù)據(jù)總線圖4.34×4矩陣鍵盤接口通過檢查行線的輸出電平和列線的輸入電平來識別按鍵列線2.按鍵識別方法非編碼式鍵盤識別閉合鍵通常有兩種方法:一種稱為行掃描法,另一種稱為線反轉(zhuǎn)法。1)行掃描法——就是通過行線發(fā)出低電平信號,如果該行線所連接的鍵沒有按下的話,則列線所連接的輸出端口得到的是全“1”信號;如果有鍵按下的話,則得到的是非全“1”信號。4.1.1非編碼鍵盤—行掃描法輸入+5VR1R2R3R4C4C3C2C1輸出輸入+5VR1R2R3R4C4C3C2C1輸出01110111圖4.4行掃描按鍵識別4.1.1非編碼鍵盤—行掃描法圖4.4行掃描按鍵識別輸入+5VR1R2R3R4C4C3C2C1輸出110111104.1.1非編碼鍵盤—行掃描法輸入+5VR1R2R3R4C4C3C2C1輸出R1R2R3R4C2C1C4C3K1K2K3K4K5K6K7K8K9K10K11K12K13K14K15K16表4-1鍵位與行列線關(guān)系表輸入+5VR1R2R3R4C4C3C2C1輸出4.1.1非編碼鍵盤—行掃描法行號列號鍵號采用行掃描法進行按鍵識別時,常用軟件編程來提供串鍵保護?;舅悸肥牵寒?dāng)有多個按鍵被壓下時,不立即求取鍵值,而是重新回到按鍵識別直至只剩下1個鍵壓下為止。4.1.1非編碼鍵盤—行掃描法2)線反轉(zhuǎn)法線反轉(zhuǎn)法也是識別閉合鍵的一種常用方法。該方法比行掃描法速度要快,但在硬件電路上要求行線與列線均需有上拉電阻,故比行掃描法稍復(fù)雜些。線反轉(zhuǎn)法借助并行接口實現(xiàn),比行掃描法的速度快。要求所使用的并行接口芯片具有方向寄存器和數(shù)據(jù)寄存器。4.1.1非編碼鍵盤—線反轉(zhuǎn)法行線x2x1x0y0y1y2y3列線0489512376AB10KΩ*3+5V行碼列碼0鍵:11011101鍵:11011012鍵:11010113鍵:11001114鍵:10111105鍵:1011101A鍵:01110114.1.1非編碼鍵盤—線反轉(zhuǎn)法4.1.1非編碼鍵盤—線反轉(zhuǎn)法0000110111110000并行接口數(shù)據(jù)寄存器方向寄存器+5V+5VINT“1”輸出端口“0”輸入端口01230123行列PB0PB1PB2PB3PB4PB5PB6PB7列線信息:PB7~PB4=10111101110100001111并行接口數(shù)據(jù)寄存器方向寄存器+5V+5VINT“1”輸出端口“0”輸入端口01230123行列PB0PB1PB2PB3PB4PB5PB6PB74.1.1非編碼鍵盤—線反轉(zhuǎn)法行線信息:PB3~PB0=1011完整信息:PB7~PB0=10111011B4.1.1非編碼鍵盤+5VLED×4反向驅(qū)動器同向驅(qū)動器+5V……740775452PC0PC1PC2PC3PA口PB口AD0~AD7ALEWRRDCEIO/MALEWRRDP0.0~P0.7P2.7P2.080C51圖4.7單片機80C51通過8155實現(xiàn)的鍵盤、顯示器接口C840D951EA62FB73PA0PA1PA2PA3KEY:MOVDPTR,#7F00H;8155命令口地址

MOVA,#03H;置8155的PA、PB為輸出,PC為輸入

MOVX@DPTR,AMOVR4,#00H;0鍵號寄存器

MOVR2,#01H;掃描方式R2KEY1:MOVDPTR,#7F01HMOVA,R2MOVX@DPTR,AINCDPTRINCDPTR;指向PC口

MOVXA,@DPTRJBACC.0,KEY2;判斷PC0=1?即第0列有鍵入么?MOVA,#00HAJMPKEY5KEY2:JBACC.1,KEY3MOVA,#01HAJMPKEY5

4.1.1非編碼鍵盤KEY3:JBACC.2,KEY4MOVA,#02HAJMPKEY5KEY4:JBACC.3,NEXTMOVA,#03HKEY5:ADDA,R4;列線號+(R4)作為鍵值A(chǔ)MOVR4,ARETNEXT:MOVA,R4ADDA,#04HMOVR4,AMOVA,R2JBACC.3,NEXT1;判別是否已掃描到最后一行

RLAMOVR2,AAJMPKEY1NEXT1:MOVR4,#88H;掃描到最后一行仍無按鍵置無鍵閉合標(biāo)志

RET

4.1.1非編碼鍵盤4.1.2鍵值分析單片機從鍵盤接口獲得鍵值后究竟執(zhí)行什么操作,完全取決于鍵盤解釋程序。對于同一個鍵盤接口,由于分析和解釋鍵盤的程序不同,使其功能全然不同。按鍵基本上分為數(shù)字鍵和功能鍵。功能鍵又分為單個功能鍵和字符串功能鍵。4.1.2鍵值分析單個功能鍵的作用是按了一個鍵,儀表就完成該鍵所規(guī)定的功能。字符串功能鍵是在按完多個鍵后,儀表才會完成規(guī)定的功能。鍵值分析常采用查表法和狀態(tài)分析法。[查表法]根據(jù)得到的鍵值代碼,到固化在ROM中的表格中查找對應(yīng)該代碼的程序首地址,適用于單個命令鍵。[狀態(tài)分析法]根據(jù)鍵碼和當(dāng)前所處的狀態(tài)找出下一個應(yīng)進入的狀態(tài)及動作例行程序,適用于多鍵配合產(chǎn)生一個動作的多意鍵?,F(xiàn)設(shè)計一儀表的鍵盤有以下功能:4.1.2鍵值分析——查表法表4-3鍵值表按鍵鍵值0~FRUNRETADRSSTOREREADWRITE00H~0FH10H11H12H13H14H15H表4-2功能子程序轉(zhuǎn)移地址表功能子程序入口地址入口地址1入口地址2入口地址3……子程序1子程序2子程序3數(shù)字鍵與功能鍵的區(qū)分(A)=鍵值A(chǔ)NLA,#10H;若是數(shù)字鍵,則(A)=00HINPUT:LCALLKEY;調(diào)用按鍵識別子程序,鍵值在A中

MOVR0,AANLA,#10HJZDATAIN;小于10H為數(shù)字鍵,轉(zhuǎn)入數(shù)字操作

MOVA,R0ANLA,#0FH;保留鍵值的低4位

MOVR0,A;實現(xiàn)(A)×3RLAADDA,R0MOVDPTR,#TABLE;取轉(zhuǎn)移表首地址

JMP@A+DPTR;按不同的鍵值轉(zhuǎn)入不同的子程序4.1.2鍵值分析——查表法為什么?TABLE:LJMP#RUN;轉(zhuǎn)入RUN命令子程序

LJMP#RET;轉(zhuǎn)入RET命令子程序

LJMP#ADRS;轉(zhuǎn)入ADRS命令子程序

LJMP#STORE;轉(zhuǎn)入STORE命令子程序

LJMP#READ;轉(zhuǎn)入READ命令子程序

LJMP#WRITE;轉(zhuǎn)入WRITE命令子程序4.1.2鍵值分析——查表法3字節(jié)指令……RUNRETTABLETABLE+1TABLE+2TABLE+3TABLE+4TABLE+5當(dāng)按鍵較多,復(fù)用次數(shù)較多時,若依然采用查表法,使得命令的識別和子程序的執(zhí)行交織在一起,結(jié)構(gòu)復(fù)雜,層次不清,不易閱讀和修改。這時可采用狀態(tài)變量法。系統(tǒng)的“狀態(tài)”是表示系統(tǒng)的最小一組變量(狀態(tài)變量)。只要知道了t=t0時的狀態(tài)變量和t≥t0時的輸入就可完全確定系統(tǒng)在t≥t0任何時間內(nèi)的行為。4.1.2鍵值分析——狀態(tài)變量法RESET=f(Kc-1,Kc-2,……)其中,Kc-1,Kc-2……為t0時刻以前的按鍵序列;RESET稱為程序的當(dāng)前狀態(tài)(簡稱現(xiàn)狀)。4.1.2鍵值分析——狀態(tài)變量法表4-4狀態(tài)矩陣表SUB01NEXTST01SUB02NEXTST02SUB03NEXTST02K1K2KnST0ST1STmSUB11NEXTST01SUB12NEXTST12SUB13NEXTST13SUBm1NEXTSTm1SUBm2NEXTSTm2SUBmn

NEXTSTmn………………………按鍵狀態(tài)應(yīng)用狀態(tài)變量法設(shè)計鍵值分析程序具有如下優(yōu)點:(1)應(yīng)用一張狀態(tài)表,統(tǒng)一處理任何一組按鍵狀態(tài)的組合,簡化編譯過程、使程序易讀、易懂。(2)翻譯、解釋按鍵序列與執(zhí)行子程序完全分離,鍵值分析程序可單獨進行。(3)若儀表功能發(fā)生改變,程序的結(jié)構(gòu)不變,僅需要修改狀態(tài)表。(4)儀表設(shè)計越復(fù)雜,按鍵復(fù)用次數(shù)越多,效率越高。4.1.2鍵值分析——狀態(tài)變量法*發(fā)光二極管價格低、壽命長,對電壓電流要求低。*LED是近似恒壓的元件,導(dǎo)電的正向壓降一般為1.6V或2.4V,反向擊穿電壓一般≥5V。*工作電流在10~20mA,需串聯(lián)適當(dāng)?shù)南蘖麟娮琛?.2LED顯示器接口技術(shù)當(dāng)Vi=1時,發(fā)光二極管D上無電流流過,不發(fā)光

Vi=0時,I=5V-Vf-Vs

R一般選取I=4~15mA,當(dāng)取I=10mA,亮度已夠,但使用壽命可以大大延長。4.2LED顯示器接口技術(shù)單片機通過三極管對LED的控制單片機通過反相器對LED的控制4.2LED顯示器接口技術(shù)1.LED數(shù)碼顯示器的結(jié)構(gòu)

LED數(shù)碼顯示器是1種由LED發(fā)光二極管組合顯示字符的顯示器件。它使用了8個LED發(fā)光二極管,其中7個用于顯示字符,1個用于顯示小數(shù)點,故通常稱之為7段(也有稱作8段)發(fā)光二極管數(shù)碼顯示器。其內(nèi)部結(jié)構(gòu)如圖4.14所示。4.2LED顯示器接口技術(shù)圖4.147段LED數(shù)碼顯示器4.2LED顯示器接口技術(shù)2.LED數(shù)碼顯示器的顯示段碼為了顯示字符,要為LED顯示器提供顯示段碼(或稱字形代碼),組成一個“8”字形字符的7段,再加上1個小數(shù)點位,共計8段,因此提供給LED顯示器的顯示段碼為1個字節(jié)。各段碼位的對應(yīng)關(guān)系如下:段碼位D7D6D5D4D3D2D1D0顯示段dpgfedcba4.2LED顯示器接口技術(shù)表4-7十六進制數(shù)及空白字符與P的顯示段碼

4.2LED顯示器接口技術(shù)3.LED數(shù)碼顯示器的接口方法單片機與LED數(shù)碼顯示器有以硬件為主和以軟件為主的兩種接口方法。1)以硬件為主的接口方法這種接口方法的電路如圖4.15所示。4.2LED顯示器接口技術(shù)圖4.15采用硬件譯碼器的LED接口edcbagfD1D2D3D4Q1Q2Q3Q4ABCDD1D2D3D474759368FND500+5V0088H鎖存器段譯碼器共陰極顯示器將輸入的十六進制數(shù)轉(zhuǎn)換成段碼輸出若該接口地址為0088H,顯示數(shù)字0程序如下:MOVDPTR,#0088HMOVA,#00HMOVX@DPTR,A4.2LED顯示器接口技術(shù)

2)以軟件為主的接口方法接口方法的電路如圖4.161所示,它是以軟件查表代替硬件譯碼,不但省去了譯碼器,而且還能顯示更多的字符。但是驅(qū)動器是必不可少的,因為僅靠接口提供不了較大的電流供LED顯示器使用。4.2LED顯示器接口技術(shù)4.2LED顯示器接口技術(shù)字型碼字位LED6反向驅(qū)動器同向驅(qū)動器…740775452PA口PB口AD0~AD7ALEWRRDCEIO/MALEWRRDP0.0~P0.7P2.7P2.080C51LED1……圖4.16軟件譯碼的動態(tài)掃描多位LED顯示接口81554.LED數(shù)碼顯示器的顯示方法

由于各位數(shù)碼管的顯示段碼是互相并聯(lián)的,因此在同一時刻只能顯示同一種字符。對于這種接口電路來說,其顯示方法有靜態(tài)顯示和動態(tài)顯示兩種。(1)靜態(tài)顯示[靜態(tài)顯示]就是在同一時刻只顯示1種字符,或者說被顯示的字符在同一時刻是穩(wěn)定不變的。*其顯示方法比較簡單,只要將顯示段碼送至段碼口,并把位控字送至位控口即可。所用指令為:

4.2LED顯示器接口技術(shù)MOVDPTR,#SEGPORT;指向段碼口MOVA,#SEG;取顯示段碼MOVX@DPTR,A;輸出段碼MOVDPTR,#BITPORT;指向位控口MOVA,#BIT;取位控字MOVX@DPTR,A;輸出位控字4.2LED顯示器接口技術(shù)(2)動態(tài)顯示如果要在同一時刻顯示不同的字符,從電路上看,這是辦不到的。因此只能利用人眼對視覺的殘留效應(yīng),采用動態(tài)掃描顯示的方法,逐個地循環(huán)點亮各位數(shù)碼管,每位顯示1ms左右,使人看起來就好象在同時顯示不同的字符一樣(在亮度上要有差別)。在進行動態(tài)掃描顯示時,往往事先并不知道應(yīng)顯示什么內(nèi)容,這樣也就無從選擇被顯示字符的顯示段碼。為此,一般采用查表的方法,由待顯示的字符通過查表得到其對應(yīng)的顯示段碼。

4.2LED顯示器接口技術(shù)4.2LED顯示器接口技術(shù)字型碼字位LED6反向驅(qū)動器同向驅(qū)動器…740775452PA口PB口AD0~AD7ALEWRRDCEIO/MALEWRRDP0.0~P0.7P2.7P2.080C51LED1……圖4.16軟件譯碼的動態(tài)掃描多位LED顯示接口8155PA.0PA.5DISPB:MOVDPTR,#7F00H;8155命令口地址

MOVA,#03HMOVX@DPTR,A;PA、PB為輸出方式

MOVR0,#7AH;顯示緩沖區(qū)首地址

MOVR3,#01HMOVA,R3DISPB1:MOVDPTR,#7F01H;指向PA口

MOVX@DPTR,A4.2LED顯示器接口技術(shù)將單片機80C51內(nèi)部RAM中的7AH~7FH單元作為顯示緩沖區(qū),用來存放欲顯示的數(shù)據(jù)。8155的口地址為7F00H~7F05H;程序中采用查表取段碼指令MOVCA,@A+PC或者MOVCA,@A+DPTR

INCDPTR;指向PB口

MOVA,@R0;取顯示數(shù)據(jù)

ADDA,#0DH;查表偏移量

MOVCA,@A+PC;執(zhí)行后A中為段碼值

MOVX@DPTR,A;1字節(jié)

ACALLDELAY;延時2字節(jié)

INCR0;1字節(jié)

MOVA,R3;1字節(jié)

4.2LED顯示器接口技術(shù)將單片機80C51內(nèi)部RAM中的7AH~7FH單元作為顯示緩沖區(qū),用來存放欲顯示的數(shù)據(jù)。8155的口地址為7F00H~7F05H;程序中采用查表取段碼指令MOVCA,@A+PC或者MOVCA,@A+DPTR

JBACC.5,DISPB2;判斷6位LED是否都顯示完3字節(jié)

RLA;掃描模式左移1位1字節(jié)

MOVR3,A;1字節(jié)

AJMPDISPB1;2字節(jié)

DISPB2:RET;1字節(jié)

SEGPT2:DB3FH,06H,5BH,4FH,66H,6DH,……DELAY:…;延時

RET4.2LED顯示器接口技術(shù)將單片機80C51內(nèi)部RAM中的7AH~7FH單元作為顯示緩沖區(qū),用來存放欲顯示的數(shù)據(jù)。8155的口地址為7F00H~7F05H;程序中采用查表取段碼指令MOVCA,@A+PC或者MOVCA,@A+DPTR思考:若采用MOVCA,@A+DPTR,程序如何修改?程序說明:(1)本例接口電路是以軟件為主的接口電路,顯示數(shù)據(jù)有6位,每位數(shù)碼管對應(yīng)1位有效顯示數(shù)據(jù)。(2)由程序可知,由于數(shù)碼顯示器的低位(最右邊的位)顯示的是顯示緩沖區(qū)中的低地址單元中的數(shù),因此數(shù)在顯示緩沖區(qū)中存放的次序為低地址單元存低位,高地址單元存高位。(3)在動態(tài)掃描顯示過程中,每位數(shù)碼管的顯示時間約1ms,這由調(diào)用延時1ms子程序DELY來實現(xiàn)。4.2LED顯示器接口技術(shù)(4)本程序是利用查表方法來得到顯示段碼的,這是一種既簡便又快速的方法。由于MCS-51單片機具有查表指令(MOVC指令),因此用來編制查表程序是非常方便的。(5)在實際的單片機應(yīng)用系統(tǒng)中,一般將顯示程序作為1個子程序供監(jiān)控程序調(diào)用。4.2LED顯示器接口技術(shù)LED數(shù)碼顯示器應(yīng)用(作業(yè))1.靜態(tài)顯示舉例例1:開始時在數(shù)碼顯示器的最右邊一位上顯示1個“P”字,以后每隔0.5秒將“P”字左移1位,直到最左邊一位后則停止顯示。接口電路與端口地址同上,設(shè)有20ms延時子程序D20MS可供調(diào)用。試編寫相應(yīng)的程序。4.2LED顯示器接口技術(shù)2.動態(tài)顯示舉例例2:有一單字節(jié)無符號數(shù)存放在片內(nèi)RAM30H單元中,要求在數(shù)碼顯示器的最右邊兩位上顯示。提示:在不顯示數(shù)字的位上數(shù)碼管應(yīng)該不亮,而動態(tài)掃描顯示子程序每次對6位數(shù)碼管全掃描一遍。程序按如下思路編寫:(1)將該無符號數(shù)拆字節(jié)后存入顯示緩沖區(qū),應(yīng)注意數(shù)的存放次序。根據(jù)題意,低位數(shù)應(yīng)存入顯示緩沖區(qū)的低地址單元。(2)將“空白”字符的查表值10H送入不顯示位所對應(yīng)的顯示緩沖區(qū)中。(3)反復(fù)調(diào)用動態(tài)掃描顯示子程序。

4.2LED顯示器接口技術(shù)4.2LED顯示器接口技術(shù)字型碼字位LED6反向驅(qū)動器同向驅(qū)動器…740775452PA口PB口AD0~AD7ALEWRRDCEIO/MALEWRRDP0.0~P0.7P2.7P2.080C51LED1……圖4.16軟件譯碼的動態(tài)掃描多位LED顯示接口8155PA.0PA.5解:本例要顯示的字符已知,且在同一時刻只顯示2種字符,故可采用動態(tài)顯示的方法。由圖4.16可知,當(dāng)采用共陽極數(shù)碼管時,應(yīng)按共陽極規(guī)律控制。在程序的開始,應(yīng)對8155進行初始化編程,設(shè)A、B口均為輸出。4.2LED顯示器接口技術(shù)MOVA,#41H;取最右邊1位字符(‘A’)MOVR0,#7AH;指向顯緩區(qū)首址(最低位)MOVR1,#06H;共送入6個字符LOOP:MOV@R0,A;將字符送入顯緩區(qū)

INCR0;指向下一顯示單元

INCA;送下一個顯示字符

DJNZR1,LOOP;6個數(shù)未送完,則重復(fù)MM:LCALLDIR;掃描顯示一遍

SJMPMM;重復(fù)掃描4.2LED顯示器接口技術(shù)例3:編一動態(tài)顯示程序,使數(shù)碼顯示器同時顯示“ABCDEF”6個字符。設(shè)顯示緩沖區(qū)的首地址為7AH,可調(diào)用動態(tài)掃描顯示子程序DIR(直接調(diào)用)。例4:在一串單字節(jié)無符號數(shù)中找出最大值,并在數(shù)碼顯示器的最右邊兩位上顯示。設(shè)數(shù)據(jù)串的長度為20,存放在片內(nèi)RAM從30H單元開始的一段區(qū)域中。解:根據(jù)題意,LED數(shù)碼顯示器必須采用動態(tài)掃描顯示的方法。本例要顯示的是兩位數(shù),而數(shù)碼顯示器有6位。在不顯示數(shù)字的位上數(shù)碼管應(yīng)該不亮,而動態(tài)掃描顯示子程序每次對6位數(shù)碼管全掃描一遍。4.2LED顯示器接口技術(shù)程序按如下思路編寫:(1)先求出最大值。(2)將最大值拆字節(jié)后存入顯示緩沖區(qū),應(yīng)注意數(shù)的存放次序。根據(jù)題意,低位數(shù)應(yīng)存入顯示緩沖區(qū)的低地址單元。

如72H,應(yīng)在高地址單元存儲07H,低地址存存儲02H。(3)將“空白”字符的查表值10H送入不顯示位所對應(yīng)的顯示緩沖區(qū)中。(4)反復(fù)調(diào)用動態(tài)掃描顯示子程序。4.2LED顯示器接口技術(shù)

程序如下:

MOVR0,#30H;R0指向數(shù)據(jù)區(qū)首地址

MOVR1,#13H;比較次數(shù)送R1MOVA,@R0;取第1個數(shù)M1:INCR0;指向下一個數(shù)

MOV70H,@R0;下一個數(shù)送入70H單元中

CJNEA,70H,M3;若前后兩個數(shù)不相等則轉(zhuǎn)M2:DJNZR1,M1;若相等,則判比較完否?SJMPM4;若已完,則轉(zhuǎn)至顯示處理M3:JNCM2;前一個數(shù)大,轉(zhuǎn)至判結(jié)束否?4.2LED顯示器接口技術(shù)

MOVA,70H;前一個數(shù)小,將大數(shù)換入A中

SJMPM2;轉(zhuǎn)至判結(jié)束處M4:MOVR2,A;暫存最大值

ANLA,#0FH;保留低位數(shù)

MOV7AH,A;將低位數(shù)存入顯示緩沖區(qū)中

MOVA,R2;恢復(fù)最大值

ANLA,#0F0H;保留高位數(shù)

SWAP;將高位換入低位中

MOV7BH,A;存入高位數(shù)4.2LED顯示器接口技術(shù)

MOVA,#10H;取“空白”字符查表值

MOV7CH,A;放入顯示緩沖區(qū)不顯示位的單元中

MOV7DH,A;高4位不顯示

MOV7EH,AMOV7FH,AMM:LCALLDIR;掃描顯示一遍

SJMPMM;重復(fù)掃描,顯示最大值4.2LED顯示器接口技術(shù)MAX7219是MAXIM公司生產(chǎn)的一種串行輸入/輸出共陰極顯示驅(qū)動器,使用一個芯片實現(xiàn)以往用軟件完成道的動態(tài)顯示電路掃描工作的器件。每片可控制顯示8個七段LED數(shù)碼管、條形圖或64個發(fā)光二極管,控制字簡單,可與各種微機接口。可方便的進行多個芯片的級聯(lián),擴展顯示容量。有多種封裝形式,如DIP封裝形式。采用三線串行方式與單片機接口。4.2.2串行接口8位共陰極LED驅(qū)動器MAX72194.2.2串行接口8位共陰極LED驅(qū)動器MAX7219123456789101112242322212019181716151413DINDOUTDIG0DIG4DIG6DIG2DIG3DIG7GNDGNDDIG5DIG1LOADCLKSEGASEGFSEGBSEGGSEGDSEGDPSEGESEGCV+ISETMAX7219串行數(shù)據(jù)輸入,在CLK時鐘的上升沿移入,且最高位(MSB)在前串行數(shù)據(jù)輸出4.2.2串行接口8位共陰極LED驅(qū)動器MAX7219123456789101112242322212019181716151413DINDOUTDIG0DIG4DIG6DIG2DIG3DIG7GNDGNDDIG5DIG1LOADCLKSEGASEGFSEGBSEGGSEGDSEGDPSEGESEGCV+ISETMAX7219字位驅(qū)動引腳,從LED顯示器吸入電流4.2.2串行接口8位共陰極LED驅(qū)動器MAX7219123456789101112242322212019181716151413DINDOUTDIG0DIG4DIG6DIG2DIG3DIG7GNDGNDDIG5DIG1LOADCLKSEGASEGFSEGBSEGGSEGDSEGDPSEGESEGCV+ISETMAX7219兩個地必須相連4.2.2串行接口8位共陰極LED驅(qū)動器MAX7219123456789101112242322212019181716151413DINDOUTDIG0DIG4DIG6DIG2DIG3DIG7GNDGNDDIG5DIG1LOADCLKSEGASEGFSEGBSEGGSEGDSEGDPSEGESEGCV+ISETMAX7219在LOAD的上升沿將串行輸入數(shù)據(jù)的最后16位鎖存4.2.2串行接口8位共陰極LED驅(qū)動器MAX7219123456789101112242322212019181716151413DINDOUTDIG0DIG4DIG6DIG2DIG3DIG7GNDGNDDIG5DIG1LOADCLKSEGASEGFSEGBSEGGSEGDSEGDPSEGESEGCV+ISETMAX7219輸入的移位脈沖,最高頻率10MHz上升沿時,串行數(shù)據(jù)被移入內(nèi)部移位寄存器,下降沿從DOUT移出。4.2.2串行接口8位共陰極LED驅(qū)動器MAX7219123456789101112242322212019181716151413DINDOUTDIG0DIG4DIG6DIG2DIG3DIG7GNDGNDDIG5DIG1LOADCLKSEGASEGFSEGBSEGGSEGDSEGDPSEGESEGCV+ISETMAX72197段和小數(shù)點驅(qū)動輸出,提供LED顯示器源電流。4.2.2串行接口8位共陰極LED驅(qū)動器MAX7219123456789101112242322212019181716151413DINDOUTDIG0DIG4DIG6DIG2DIG3DIG7GNDGNDDIG5DIG1LOADCLKSEGASEGFSEGBSEGGSEGDSEGDPSEGESEGCV+ISETMAX7219+5V電源

MAX7219采用串行數(shù)據(jù)傳輸方式,由16位數(shù)據(jù)包發(fā)送到DIN,每一位數(shù)據(jù)在CLK的上升沿被移入內(nèi)部16位移位寄存器中,然后在LOAD的上升沿將數(shù)據(jù)鎖存到數(shù)據(jù)或控制寄存器中。串行數(shù)據(jù)以16為一楨,其中D15-D12任意,D11-D8為內(nèi)部寄存器地址,D7-D0為寄存器數(shù)據(jù)。4.2.2串行接口8位共陰極LED驅(qū)動器MAX7219D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0××××地址數(shù)據(jù)MSBLSBMAX7219具有5個控制寄存器,分別用于譯碼方式、顯示亮度、掃描界限(掃描數(shù)位的個數(shù))、停機和顯示測試。每一種寄存器都有其固定的地址,編程時按照書中介紹的對應(yīng)十六進制代碼。P210~P213MAX7219與單片機的接口如圖所示:4.2.2串行接口8位共陰極LED驅(qū)動器MAX72194.2.2串行接口8位共陰極LED驅(qū)動器MAX72194.2.2串行接口8位共陰極LED驅(qū)動器MAX7219為減輕CPU的負擔(dān),少占用其工作時間,目前已有專供鍵盤及顯示器接口用的可編程接口芯片。如Intel生產(chǎn)的8279就是常用的一種。8279分為鍵盤部分和顯示部分:①能夠提供64按鍵陣列的掃描接口,具有雙鍵鎖定或N鍵互鎖功能、反彈跳去抖動功能。②能夠?qū)?段LED等提供顯示接口。4.38279可編程鍵盤/顯示器芯片接口技術(shù)采用專用的鍵盤顯示器管理芯片8279,在系統(tǒng)的按鍵及顯示器位數(shù)較多時是一種好的方案,但目前鍵盤的設(shè)置趨于簡單化(即采用一鍵多用方式或利用增加鍵和減少鍵來取代數(shù)字鍵等),因此,一般系統(tǒng)按鍵不多,其顯示器的位數(shù)一般也不超過8位。這樣,采用8279由于需要較多的外圍電路器件,因此顯得不是很方便了。4.38279可編程鍵盤/顯示器芯片接口技術(shù)一、

8279的組成及引腳

8279芯片有40條引腳,由單一+5V電源供電。它主要由以下幾部分組成:I/O控制和數(shù)據(jù)緩沖器;控制和定時寄存器及定時控制部分;掃描計數(shù)器;回送緩沖器與鍵盤去抖動控制電路;FIFO(先進先出)寄存器和狀態(tài)電路;顯示器地址寄存器及顯示RAM。

4.38279可編程鍵盤/顯示器芯片接口技術(shù)圖4.208279引腳圖

4.38279可編程鍵盤/顯示器芯片接口技術(shù)二、引腳功能(1)DB0~DB7:雙向數(shù)據(jù)總線。(2)A0:命令狀態(tài)或數(shù)據(jù)選擇線。A0=1,表示從DB0~DB7線上傳送的是命令或狀態(tài)字;A0=0表示為數(shù)據(jù)。、:讀、寫信號線。IRQ:中斷請求線。SL0~SL3:掃描線??蛇M行譯碼掃描(4選1),也可進行編碼掃描(16選1),但要使用4-16譯碼器。若用3-8譯碼器的話,則掃描線為8選1。4.38279可編程鍵盤/顯示器芯片接口技術(shù)(6)RL0~RL7:回送線。內(nèi)部有上拉電阻,從此線上得到鍵盤的回掃信號。(7)OUTA0~OUTA3、OUTB0~OUTB3:顯示器刷新寄存器輸出,與掃描線同步。4.38279可編程鍵盤/顯示器芯片接口技術(shù)三、應(yīng)用舉例下圖用8279芯片管理24個鍵的鍵盤和6個LED數(shù)碼顯示器的實際應(yīng)用接口電路,以及它與80C51單片機的接口方法。作為一個外設(shè)接口芯片,8279的片選信號/CS由8031的P25、P26、P27這3條地址線經(jīng)地址譯碼器譯碼后得到的(P27、P26、P25=011)。其片內(nèi)尋址線A0與8031系統(tǒng)的地址線A0相連,此時8279數(shù)據(jù)口的地址號為6000H,命令/狀態(tài)口的地址號為6001H。4.38279可編程鍵盤/顯示器芯片接口技術(shù)8279應(yīng)用實例4.38279可編程鍵盤/顯示器芯片接口技術(shù)當(dāng)CPU響應(yīng)中斷,執(zhí)行中斷服務(wù)程序,并從FIFO中讀取編碼數(shù)據(jù)之后,則IRQ信號將自動撤消。

該接口電路的工作過程簡述如下:每當(dāng)按下一個鍵,8279會自動識別鍵號,產(chǎn)生相應(yīng)的鍵編碼自動送入先進先出寄存器FIFO中,同時產(chǎn)生中斷請求信號IRQ,向CPU請求中斷。當(dāng)CPU響應(yīng)中斷,執(zhí)行中斷服務(wù)程序,并從FIFO中讀取編碼數(shù)據(jù)之后,則IRQ信號將自動撤消。4.38279可編程鍵盤/顯示器芯片接口技術(shù)液晶顯示是一種功耗極低的被動式顯示器件。其優(yōu)點為:工作電流比LED小幾個數(shù)量級,尺寸小,厚度約為LED的1/3等一、工作原理和驅(qū)動方式1、工作原理目前常用的LCD是根據(jù)液晶的扭曲-向列效應(yīng)原理制成的。加在兩塊導(dǎo)電玻璃電極之間的液晶經(jīng)一定的處理后,偏振面會旋轉(zhuǎn)90°。有電場,扭曲結(jié)構(gòu)小時,旋光作用也消失,偏振光通過;無電場,正好相反。4.4.1LCD液晶顯示器接口技術(shù)當(dāng)上、下電極加上一定的電壓后,電極部分的液晶分子垂直排列,失去旋光性,從上偏振片入射的偏振光不被旋轉(zhuǎn),光無法通過下偏振片返回,因而呈黑色。根據(jù)需要,將電極做成各種文字、數(shù)字、圖形。就可以獲得各種狀態(tài)顯示。4.4.1LCD液晶顯示器接口技術(shù)

LCD常采用交流電驅(qū)動,采用“異或”門將顯示信號和顯示頻率信號合并為交變的驅(qū)動信號。4.4.1LCD液晶顯示器接口技術(shù)顯示控制信號顯示頻率信號ACLCDB1=1LCDABC不顯示顯示VBVCVA-VC4.4.1LCD液晶顯示器接口技術(shù)VA2、驅(qū)動方式液晶顯示器的驅(qū)動方式由電極引線的選擇方式確定。因此,在選擇好液晶顯示器后,用戶無法改變驅(qū)動方式。液晶顯示器的驅(qū)動方式一般有靜態(tài)驅(qū)動和動態(tài)驅(qū)動兩種。(1)在靜態(tài)顯示方式中,某個液晶顯示字段上兩個電極的電壓相位相同時,兩電極的相對電壓為零,該字段不顯示;當(dāng)此字段上兩個電極的電壓相位相反時,兩電極的相對電壓為兩倍幅值方波電壓,該字段呈黑色顯示。4.4.1LCD液晶顯示器接口技術(shù)

靜態(tài)驅(qū)動方式下,LCD的每個字段都要引出電極,所有顯示器的公共電極連在一起。適用于顯示位數(shù)少的場合。(2)動態(tài)驅(qū)動方式采用矩陣驅(qū)動法來驅(qū)動字段顯示。

分時驅(qū)動是常用的動態(tài)驅(qū)動方法,常采用偏壓法。其占空比有1/2,1/8,1/11,1/16,1/32,1/64等,偏比有1/2,1/3,1/4,1/5,1/7,1/9等。4.4.1LCD液晶顯示器接口技術(shù)4.4.1LCD液晶顯示器接口技術(shù)2Vc/3Vc/3Vc/3Vc0VCDRSVc/3Vc/3Vc/3CDRS2Vc/3Vc/3Vc/3RCCSDRVcDS液晶顯示器有字段型、字符型、點陣圖形型,在使用時,有的液晶顯示器內(nèi)部有控制器,使用比較方便。字段型液晶顯示器有六段、七段、八段等多種,七段是常用的一種。

4.4.2字段式LCD液晶顯示器的驅(qū)動接口字段型LCD以七段顯示為常見,用于顯示0~9十個數(shù)字及少量字符,在單片機應(yīng)用中需要專用的液晶顯示譯碼驅(qū)動器才能工作。4.4.2字段式LCD液晶顯示器的驅(qū)動接口字段型顯示器采用通用的三位半字段式芯片,它的具體尺寸和顯示信息見圖4.4.2字段式LCD液晶顯示器的驅(qū)動接口字段型液晶顯示器的顯示字段分布見表4.4.2字段式LCD液晶顯示器的驅(qū)動接口abcdefgBIPHABCDLDMC14543abcdefgBIPHABCDLDMC14543abcdefgBIPHABCDLDMC14543a1b1c1d1e1f1g1a1b1c1d1e1f1g1a1b1c1d1e1f1g1a1b1c1d1e1f1g14N07COMP3.7P1.4P1.5P1.64.4.2字段式LCD液晶顯示器的驅(qū)動接口工作電壓為3-6V,閾值電壓為1.5V,工作頻率為50-200Hz。靜態(tài)驅(qū)動。abcdefgBIPHABCDLDMC145434.4.2字段式LCD液晶顯示器的驅(qū)動接口MC14543是譯碼驅(qū)動器,將輸入的BCD碼轉(zhuǎn)換為7段顯示碼輸出至a~g控制驅(qū)動方式,輸入顯示方波信號內(nèi)部鎖存器選通端“1”時允許A~D端輸入BCD碼數(shù)據(jù);“0”時鎖存BCD碼輸入端,D為高位消隱控制端,“1”消隱;“0”顯示4.4.2字段式LCD液晶顯示器的驅(qū)動接口abcdefgBIPHABCDLDMC14543P3.7P1.0P1.1P1.2abcdefgBIPHABCDLDMC14543abcdefgBIPHABCDLDMC14543abcdefgBIPHABCDLDMC14543a1b1c1d1e1f1g1a1b1c1d1e1f1g1a1b1c1d1e1f1g1a1b1c1d1e1f1g14N07COMP3.7P1.4P1.5P1.6P1.7P1.3將顯示緩沖區(qū)DISB中的內(nèi)容顯示在LCD上。程序代碼如下:主程序顯示子程序中斷子程序4.4.2字段式LCD液晶顯示器的驅(qū)動接口DISBEQU60HORG0000HHINIT:LJMPSTART ORG001BH;定時器1入口

LJMPINTT1 ORG0030HSTART:MOVTMOD,#10HMOVTH1,#0ECHMOVTL1,#78HSETBTR1 SETBEASETBET1……LCALLDISP;調(diào)用顯示子程序4.4.2字段式LCD液晶顯示器的驅(qū)動接口顯示子程序:DISP:MOVR0,#DISBMOVR2,#10H;設(shè)定最高位鎖存控制標(biāo)志DISP1:MOVA,@R0ANLA,#0FH;保留BCD碼

ORLA,R2;加上鎖存控制位

MOVP1,AANLP1,#0FH;令所有的位處于鎖存狀態(tài)

INCR0 MOVA,R2;修改鎖存控制位

RLAMOVR2,AJNBACC.0,DISP1;未完成4位則繼續(xù)

RET4.4.2字段式LCD液晶顯示器的驅(qū)動接口定時器1中斷服務(wù)程序如下:INTT:CPLP3.7MOVTH1,#0ECHMOVTL1,#78HRETI4.4.2字段式LCD液晶顯示器的驅(qū)動接口

點陣式液晶顯示模塊能顯示的字符多,還可顯示漢字,在智能測控儀表中應(yīng)用廣泛。4.4.3點陣式液晶顯示模塊點陣圖形型液晶顯示器內(nèi)部都有控制器,各種類型的點陣圖形液晶顯示器的控制器使用要求不同,指令各異,但基本控制方式相同,一般點陣圖形型液晶顯示器都有一個對外的接口,了解了接口引腳的定義和使用條件,可以應(yīng)用單片機的數(shù)據(jù)總線或P1口對點陣圖形型液晶顯示器件進行控制。4.4.3點陣式液晶顯示模塊一、觸摸屏的類型按觸摸屏的檢測手段進行分類電阻式紅外式電容式表面聲波式補充:觸摸屏電阻觸摸屏的主要部分是一塊多層的復(fù)合電阻薄膜。特點:不怕油污,灰塵,水。缺點:因為復(fù)合薄膜的外層采用塑膠材料,易導(dǎo)致報廢。常用在PDA等手持設(shè)備。補充:觸摸屏——電阻式

紅外觸摸屏以光束阻斷技術(shù)為基本原理,不需要在原來的顯示器表面

溫馨提示

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

評論

0/150

提交評論