




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第2章智能儀器人機(jī)接口技術(shù)
本章介紹智能儀器中人-機(jī)接口的方法與技術(shù),包括鍵盤、LED顯示器接口技術(shù)及可編程鍵盤、顯示器接口芯片的應(yīng)用;段式及點(diǎn)陣式液晶顯示器的原理及接口技術(shù);微型打印機(jī)接口方法及程序設(shè)計(jì);觸摸屏的檢測原理及接口方法。2.1LED顯示器接口技術(shù)
發(fā)光二極管(LED)顯示器,是一種由某些特殊半導(dǎo)體材料制作成的PN結(jié),由于摻雜濃度很高,當(dāng)正向偏置時(shí),會產(chǎn)生大量的電子—空穴復(fù)合,把多余的能量釋放變?yōu)楣饽堋?/p>
LED顯示器具有工作電壓低、體積小、壽命長(約十萬小時(shí))、響應(yīng)速度快(小于1μs)、顏色豐富(紅、黃、綠等)等特點(diǎn),是智能儀器最常用的顯示器。
LED的正向工作壓降一般為1.2~2.6V,發(fā)光工作電流為5~20mA,發(fā)光強(qiáng)度基本與正向電流成正比。實(shí)際應(yīng)用中,電路應(yīng)串聯(lián)適當(dāng)?shù)南蘖麟娮?。LED非常適合于脈沖工作狀態(tài),在平均電流相同的情況下,脈沖工作狀態(tài)產(chǎn)生的亮度增強(qiáng)20%左右。
LED顯示器按照結(jié)構(gòu)的不同,分為單個(gè)LED顯示器、七段LED顯示器及點(diǎn)陣式LED顯示器。智能儀器中應(yīng)用較多的是七段LED顯示器及點(diǎn)陣式LED顯示器。2.1.1七段LED顯示器結(jié)構(gòu)
1.七段LED顯示器
七段LED顯示器由七個(gè)條形LED組成,分別稱作a、b、c、d、e、f、g段,點(diǎn)亮不同的段,可顯示出數(shù)字0~9及多個(gè)字母、符號。七段LED顯示器的段排列及引腳說明如圖2-1(a)所示,其中引腳COM為公共端。為了能夠顯示出小數(shù)點(diǎn),一般在右下角設(shè)置一圓形LED,稱為dp段。
根據(jù)內(nèi)部電路連接方式的不同,七段LED顯示器有兩種結(jié)構(gòu),即共陰極及共陽極結(jié)構(gòu),分別如圖2-1(b)、(c)所示。在共陰極結(jié)構(gòu)中,所有LED的陰極連接在一起引出(叫公共端)接地,陽極經(jīng)限流電阻后連到管腳。各段陽極接高電平時(shí),段點(diǎn)亮;接低電平時(shí),段熄滅。共陽極結(jié)構(gòu)中,所有LED的陽極連接在一起接+5V電源,當(dāng)各段陰極接低電平時(shí),段點(diǎn)亮;接高電平時(shí),段熄滅。圖2-1七段LED顯示器
為了用七段LED顯示器顯示數(shù)字,必須將要顯示的數(shù)字譯成相應(yīng)的段碼。譯碼有兩種方法,即硬件譯碼和軟件譯碼。硬件譯碼電路由鎖存器、譯碼器、驅(qū)動器等組成。譯碼器一般有兩種,即十六進(jìn)制型和BCD型。圖2-2所示的譯碼電路用于將BCD碼譯為7段字型碼(簡稱段碼),其中74LS173為鎖存器,74LS47為BCD碼-7段字型碼譯碼/驅(qū)動器。硬件譯碼的優(yōu)點(diǎn)是可以節(jié)省CPU的時(shí)間。但成本高,而且只能譯出十進(jìn)制或十六進(jìn)制的字符,無法顯示除此之外的其他字符。圖2-2硬件譯碼顯示電路
軟件譯碼的基本思想是預(yù)先在內(nèi)存中建立一張如表2-1所示的段碼表,根據(jù)要顯示的數(shù)字或字符去查表獲得對應(yīng)的段碼,將查得的段碼經(jīng)過驅(qū)動器后送至七段LED顯示器,就可以顯示出對應(yīng)的數(shù)字或字符。表2-1七段LED顯示器段碼表
七段LED顯示器的顯示方式有兩種,一種為靜態(tài)顯示方式,就是各位LED恒定地顯示對應(yīng)的數(shù)字、字符。在這種顯示方式中,每位LED需要一個(gè)鎖存器鎖存段碼信號。靜態(tài)顯示方式的優(yōu)點(diǎn)是顯示程序簡單,占用CPU工作時(shí)間少,輸出口直接驅(qū)動。缺點(diǎn)是當(dāng)顯示位數(shù)增加時(shí),硬件成本增加,功耗增大。2.1.2七段LED顯示器工作原理
另一種為動態(tài)顯示方式,就是各位LED輪流顯示對應(yīng)數(shù)字、字符。由于人眼存在視覺殘留現(xiàn)象,只要各位LED輪流顯示的時(shí)間間隔足夠短,就會造成各位LED同時(shí)顯示的視覺。動態(tài)顯示方式硬件開支小、功耗低,但需要CPU以掃描的方式送出各位LED的段碼及位碼,占用CPU一定的工作時(shí)間,顯示需較大的驅(qū)動電流,在輸出口之后需加驅(qū)動器。在智能儀器儀表中常用動態(tài)顯示方式。
要顯示的6位數(shù)據(jù)分別存放在89C51的RAM單元7AH~7FH中,作為顯示緩沖單元,由8155的PB口輸出。PA口輸出掃描信號,通過反相驅(qū)動器去逐個(gè)點(diǎn)亮各位LED。8155I/O口的地址為7F00H~7F05H。2.1.3七段LED顯示器接口實(shí)例89C51的顯示子程序如下:
DISP:MOVDPTR,#7F00H;
MOVA,#03H
MOVX@DPTR,A;置8155PA、PB口為輸出方式
MOVR0,#7AH;置顯示緩沖器指針初值
MOVR3,#01H;置掃描模式初值
MOVA,R3DISP1:MOVDPTR,#7F01HMOVX@DPTR,A;掃描模式→8155PA口
INCDPTR
MOVA,@R0;取顯示數(shù)據(jù)
ADDA,#0DH;加偏移量
MOVCA,@A+PC;查表取段碼MOVX@DPTR,A;段碼→8155PB口
ACALLDELAY;延時(shí)
INCR0
MOVA,R3
JBACC.5,DISP2;判完
RLA;掃描模式左移1位
MOVR3,A
AJMPDISP1DISP2:RETSEGPT:DB3FH,06H,5BH,4FH…DELAY:MOVR5,#02H;延時(shí)子程序(lms)DELAY1:MOVR4,#OFFHDELAY2:DJNZR4,DELAY2DJNZR5,DELAY1RET2.1.4點(diǎn)陣式LED顯示器及接口
1.點(diǎn)陣式LED顯示器的結(jié)構(gòu)七段LED顯示器只能顯示數(shù)字及部分字符,不能顯示任意字符及圖形。點(diǎn)陣式LED顯示器克服了這個(gè)缺點(diǎn)。點(diǎn)陣式LED顯示器的格式有4×7,5×7,7×9等幾種,常用的是5×7點(diǎn)陣。圖2-125×7點(diǎn)陣字符顯示器的結(jié)構(gòu)與字形代碼2.點(diǎn)陣式LED顯示器接口電路
接口電路由字符ROM、輸出口、點(diǎn)陣式顯示器、五分頻器、譯碼器等組成,如圖4-13所示。字符ROM用于存放所有被顯示字符的字形代碼,高7位地址信號A9~A3是輸出口送出的被顯示字符的ASCII碼。低3位地址信號由五分頻計(jì)數(shù)器輸出得到。五分頻計(jì)數(shù)器的輸出同時(shí)經(jīng)譯碼器以選擇顯示器的某一列。
欲顯示某一字符(如“A”)時(shí),輸出口送出字符“A”的ASCII碼0100001,它選中了ROM中字符“A”字形代碼所在的區(qū)域。當(dāng)分頻器輸出為000時(shí),ROM輸出字符“A”的第一列字形碼00111111,同時(shí)譯碼器輸出選擇顯示器的第一列,第一列的LED在對應(yīng)字形碼為1時(shí)被點(diǎn)亮。當(dāng)分頻器輸出為001時(shí),ROM輸出字符“A”的第2列字形碼01001000,譯碼器輸出選擇顯示器第二列。當(dāng)分頻器連續(xù)工作時(shí),ROM依次輸出字符“A”的全部字形碼,譯碼器也依次選中顯示器的所有列,從而顯示器顯示出字符“A”。圖2-13點(diǎn)陣式LED顯示器接口電路2.2LCD顯示器接口技術(shù)
液晶顯示器(LiquidCrystalDiode,LCD)是一種功耗極低、體積小、重量輕的顯示器件,是袖珍式儀表和低功耗系統(tǒng)中的首選器件,隨著制造技術(shù)的發(fā)展,液晶顯示器的性價(jià)比不斷提高,在智能儀器儀表中的應(yīng)用日益廣泛。2.2.1液晶顯示器的原理及驅(qū)動方式
液晶是一種介于固體與液體之間的一種特殊有機(jī)化合物。液晶顯示器是利用液晶的扭曲——向列效應(yīng)原理制成的。圖4-21是常用的反射式液晶顯示器原理示意圖。由偏極方向垂直的上下偏光片、玻璃基板、配向膜、電極、反射板及填充于上、下配向膜間的液晶構(gòu)成。1—液晶2、3—上下電極4—封接劑5、10—上下偏光片6、9—上下玻璃基板7、8—配向膜11—反射板
圖2-21LCD結(jié)構(gòu)原理圖
當(dāng)上、下電極沒有加電壓時(shí),偏極光經(jīng)過偏光片進(jìn)入液晶區(qū)后,跟著液晶做90°扭轉(zhuǎn),由于上、下偏光片偏極方向成90°,所以光線就會通過下偏光片,并經(jīng)過反射板反射回來,液晶顯示器看起來就呈現(xiàn)“亮”的白色狀態(tài)。
當(dāng)上下電極間加一定電壓時(shí),電極部分對應(yīng)的液晶分子受到極化,轉(zhuǎn)成上、下垂直排列,失去扭轉(zhuǎn)特性。由于上、下偏光片偏極方向垂直。所以從上偏光片通過的偏極光就無法通過下偏光片,因而器件就呈現(xiàn)“暗”的黑色狀態(tài)。根據(jù)需要,將電極做成字段、點(diǎn)陣,就可以構(gòu)成字段式、字符點(diǎn)陣式及圖像點(diǎn)陣式液晶顯示器。
LCD的一個(gè)重要特點(diǎn)是必須采用交流驅(qū)動方式(一般用矩形波驅(qū)動)。若交流電壓中含有直流成分,其值應(yīng)小于100mV,否則會使液晶材料在長時(shí)間直流電壓作用下發(fā)生電解,大大縮短LCD壽命。交流電壓的頻率不應(yīng)低于30Hz,以免造成顯示數(shù)字閃爍,但也不應(yīng)高于200Hz,因?yàn)檩^高的頻率增大了LCD的功耗。
圖4-22所示是一種基本的LCD驅(qū)動電路及其波形。驅(qū)動電路由一個(gè)簡單的異或門構(gòu)成。當(dāng)控制信號A為低電平時(shí),LCD兩端電壓為0,LCD不顯示。而當(dāng)控制信號A為高電平時(shí),LCD兩端呈現(xiàn)交變電壓,LCD顯示。常用的扭曲——向列型LCD,驅(qū)動電壓范圍是3~6V。圖2-22LCD的基本驅(qū)動電路及波形
LCD的驅(qū)動方式有靜態(tài)驅(qū)動法和動態(tài)驅(qū)動法。靜態(tài)驅(qū)動法是指在每個(gè)像素(如段式顯示器的一個(gè)字段或矩陣顯示器的一個(gè)點(diǎn))的前后電極上施加交變電壓時(shí)呈顯示狀態(tài),不施加交變電壓時(shí)則呈非顯示狀態(tài)的一種驅(qū)動方法。靜態(tài)驅(qū)動法中,每個(gè)像素的像素電極均需引出,而所有像素的公用電極連在一起引出,顯示的像素越多,引出線也越多,相應(yīng)的驅(qū)動電路也越多,故它適應(yīng)于像素較少的場合。
七段LCD顯示電路圖它由7個(gè)驅(qū)動回路組合而成,CommON為公共端,當(dāng)CommON端為1時(shí),反相后輸出為0,當(dāng)任意一端比如a為1時(shí),第一個(gè)異或門輸出為1,兩個(gè)電極電壓電位相反,字段顯示當(dāng)a為0時(shí),異或門輸出為0,兩個(gè)電極電壓相位相同,a字段不能顯示。
動態(tài)驅(qū)動法也稱迭加驅(qū)動法或時(shí)間分割驅(qū)動法。為了適應(yīng)多像素顯示,將顯示器件的電極制作成矩陣結(jié)構(gòu),把水平一組像素的背電極連在一起引出,稱之為行電極(或公共電極COM),把縱向一組像素的像素電極連在一起引出,稱之為列電極(或像素電極PIX),每個(gè)顯示像素都由其所在的行與列的位置唯一確定。圖2-23字段式LCD顯示器動態(tài)驅(qū)動的連線方法4位液晶顯示迭加驅(qū)動接線圖
由圖中的接線方法可以得出加在各字段上的電壓值分別為:
a=COM1-S2b=COM1-S1c=COM2-S1d=COM3-S2e=COM3-S3f=COM2-S3g=COM2-S2dp=COM3-S1迭加驅(qū)動方式波形示意圖從圖中驅(qū)動波形可以看出:a和c字段上所加的驅(qū)動波形是峰值為V0的選擇狀態(tài),而g段上所加的驅(qū)動波形是峰值為1/3V0的非選擇狀態(tài)。a和c字段顯示,而g字段不顯示。2.2.2段式LCD顯示器接口
段式LCD顯示器是以條狀像素組成的液晶顯示器,其中7段顯示方式最為常見。段式LCD顯示器可以采用靜態(tài)驅(qū)動方式或動態(tài)驅(qū)動方式,取決于顯示器件各個(gè)像素外引線的引出和排列方式。段式LCD顯示器的靜態(tài)驅(qū)動方式有兩種,一種是采用由硬件譯碼驅(qū)動器,將欲顯示的數(shù)字譯為段碼,再轉(zhuǎn)換為交變信號送到LCD顯示器。另一種是采用軟件譯碼加驅(qū)動器的方法,譯碼通過單片機(jī)查譯碼表完成。4位液晶顯示電路(靜態(tài))背極bp由4047構(gòu)成的振蕩電路提供方波信號,4056為BCD碼-七段譯碼/驅(qū)動器,4514為4-16譯碼器。高電平輸出有效,將D端接地,4個(gè)4056由4514構(gòu)成的3-8譯碼器輪流選通。P1.4、P1.5、P1.6分別與A、B、C相連,形成3-8譯碼。P1.7與INIHBIT(23腳)輸出允許端相連,以控制有效輸出,4054為4位液晶顯示驅(qū)動器,四進(jìn)四出,作為小數(shù)點(diǎn)驅(qū)動。由于4056和4054都具有鎖存功能,因此,該顯示電路可實(shí)現(xiàn)靜態(tài)顯示。4514輸出的高電平選通信號控制4056和4054進(jìn)行數(shù)據(jù)鎖存,它們所需要的方波信號由4047振蕩電路提供。
設(shè)顯示緩沖區(qū)為89C51片內(nèi)RAM的30H~33H,4個(gè)單元依次放置四位分離的BCD碼。DISPLA:MOVR0,#30H;初始化,緩沖單元首址→R0MOVR3,#00H;初位選
MOVR4,#04H;4位顯示DISPL1:MOVA,R3;位選有效位轉(zhuǎn)為高
4位并入R2保存
SWAPA;MOVR2,A;MOVA,@R0;拼成P1口輸出BCD
碼及控制位。ORLA,R2;MOVP1,A;ANLP1,#7FH;屏蔽P1.7位ORLP1,#80H;INCR3;指向下一位送顯示數(shù)INCR0;指向下一個(gè)顯示緩沖單元DJNZR4,DISPL1RET
2.2.3點(diǎn)陣式LCD顯示器接口
段式LCD顯示器僅能顯示數(shù)字及少量字符,而點(diǎn)陣式LCD顯示器可以顯示任意字符及圖形。點(diǎn)陣式LCD顯示器按照顯示原理的不同分為字符點(diǎn)陣式和圖形點(diǎn)陣式兩類。點(diǎn)陣式LCD顯示器品種較多,下面介紹一種常用的由EPSON公司生產(chǎn)的20×4字符點(diǎn)陣式LCD顯示器EA-D20040AR。1.EA-D20040AR的結(jié)構(gòu)及工作原理EA-D20040AR由扭曲向列型(TN)液晶顯示面板、集成控制器SED1278、驅(qū)動電路等組成,內(nèi)部結(jié)構(gòu)及引腳如圖2-25所示,內(nèi)部有能顯示96個(gè)ASCII字符和92個(gè)特殊字符的字庫,并可以經(jīng)過編程自定義8個(gè)字符(5×7點(diǎn)陣)。圖2-25EA-D20040AR內(nèi)部結(jié)構(gòu)及引腳EA-D20040AR引腳功能如下。VSS:參考地端。VDD:+5V電源輸入端。
VO:LCD面板亮度調(diào)節(jié)端。接至電位器(20kΩ)可調(diào)端,電位器兩端分別接VDD、地。RS:寄存器選擇信號輸入端。RS=0選擇指令寄存器,RS=1選擇數(shù)據(jù)寄存器。:讀/寫信號輸入端。R/=0寫有效,R/=1讀有效。E:片選信號輸入端,高電平有效。D0~D7:數(shù)據(jù)總線。
下面介紹EA-D20040AR工作原理。
EA-D20040AR液晶顯示模塊采用5×7點(diǎn)陣圖形顯示字符。顯示時(shí),微處理器先送出被顯示字符在液晶顯示模塊上的地址(位置),存儲在液晶顯示模塊的指令寄存器中,然后微處理器送出被顯示字符的代碼,存儲在液晶顯示模塊的顯示數(shù)據(jù)RAM(DDRAM)中,控制器根據(jù)此代碼從字符發(fā)生存儲器(字庫)中取出對應(yīng)的字符點(diǎn)陣(5×7),送到由指令寄存器中地址指定的顯示屏位置上,顯示出該字符。字符發(fā)生存儲器有隨機(jī)存儲器CGRAM和只讀存儲器CGROM兩種。2.寄存器及存儲器
(1)指令寄存器IR、數(shù)據(jù)寄存器DREA-D20040AR內(nèi)部有兩個(gè)8位寄存器:指令寄存器和數(shù)據(jù)寄存器。用戶可以通過RS和信號的組合選擇指定的寄存器,進(jìn)行相應(yīng)的操作。寄存器的選擇及功能如表4-12所示。表2-12寄存器的選擇及功能RS說明00將指令寫入指令寄存器01分別將忙標(biāo)志BF和地址計(jì)數(shù)器AC內(nèi)容讀到DB7和DB6~DB010將數(shù)據(jù)寫入數(shù)據(jù)寄存器中,模塊的內(nèi)部操作自動將數(shù)據(jù)寫到DDRAM或者CGRAM中。11將數(shù)據(jù)寄存器內(nèi)的數(shù)據(jù)讀出,模塊的內(nèi)部操作自動將DDRAM或者CGRAM的數(shù)據(jù)送入數(shù)據(jù)寄存器。(2)忙標(biāo)志BF及地址計(jì)數(shù)器AC
忙標(biāo)志BF:當(dāng)BF=1時(shí),表明液晶顯示模塊正在進(jìn)行內(nèi)部操作,不會接受任何命令。在RS=0,=1時(shí),BF輸出到DB7。每次操作之前應(yīng)進(jìn)行狀態(tài)檢測,只有在確認(rèn)BF=0時(shí),CPU才能訪問液晶顯示模塊。地址計(jì)數(shù)器AC:地址計(jì)數(shù)器的內(nèi)容是顯示數(shù)據(jù)RAM(DDRAM)或字符發(fā)生存儲器CGRAM單元的地址。當(dāng)設(shè)置地址指令寫入指令寄存器后,DDRAM或CGRAM單元的地址就送入地址計(jì)數(shù)器AC。當(dāng)對DDRAM或CGRAM進(jìn)行讀寫數(shù)據(jù)時(shí),地址計(jì)數(shù)器自動加1或自動減1。當(dāng)RS=0、=1時(shí),地址計(jì)數(shù)器的內(nèi)容從DB6~DB0輸出。(3)顯示數(shù)據(jù)RAM(DDRAM)
顯示數(shù)據(jù)RAM是80×8位的RAM,能夠存儲80個(gè)8位字符代碼。沒用上的DDRAM單元被CPU當(dāng)作一般RAM使用。DDRAM的地址用7位二進(jìn)制數(shù)A6~A0表示,程序中用2位十六進(jìn)制數(shù)表示。DDRAM地址與LCD顯示屏上顯示位置的關(guān)系如表4-13所示。要注意的是第二行地址與第一行地址并沒有連續(xù),而是第一、第三行地址連續(xù),第二、第四行地址連續(xù)。該液晶顯示模塊實(shí)質(zhì)上為獨(dú)立兩行顯示。表4-13DDRAM地址與顯示屏上顯示位置的關(guān)系
字符代碼與字符的關(guān)系如表2-14所示。在液晶顯示模塊中,表中第一列由CGRAM產(chǎn)生(可自定義),其余各列由CGROM產(chǎn)生。表2-14字符代碼與字符的關(guān)系
高位低位0000001000110100010101100111101010111100110111101111(CGRAM產(chǎn)生)0@P\p-々ミαp0000(1)0001(2)!1AQAq·ㄡチㄙaq0010(3)“2BRBr┍イツメβθ0011(4)#3CSCs┛ウチモε∞0100(5)$4DTDt、エトヤμΩ0101(6)%5EUEu。オナユσО0110(7)&6FVFvラカニヨρΣ0111(8),7GWGwァキヌラgπ1000(1)(8HXHxィクネリ∫X1001(2))9IYIyゥケノル-1Y1010(3)*:JZjzェコハレj千1011(4)+;K[k{ォサヒロ×萬1100(5),<L¥l|セシフワΦ⊕1101(6)-=M]m}コスヘン£÷1110(7).>N^n→ョセホハn1111(8)/?O-o←ツソマロO■(4)字符發(fā)生器ROM(CGROM)
在CGROM中,液晶顯示模塊已經(jīng)生成了所有字符的字符字模(一個(gè)字符字模為一個(gè)5×7點(diǎn)陣圖形)。CGROM的單元地址與字符字模的關(guān)系如圖4-26所示。CGROM的單元地址(字符字模一行的地址)為12位,高8位為字符代碼,低4位由內(nèi)部電路產(chǎn)生。字符字模數(shù)據(jù)位的D4~D0用于表示字符,D7~D5位為0,第八行表示光標(biāo)位置,數(shù)據(jù)位均為0,第九行以下數(shù)據(jù)全為0。圖2-26CGROM的地址與字符字模的關(guān)系(5)字符發(fā)生器RAM(CGRAM)CGRAM用于產(chǎn)生用戶自定義的字符字模,可以生成5×7點(diǎn)陣的字符字模8個(gè),相對應(yīng)的字符代碼范圍為00H~07H(或08H~0FH)。CGRAM的地址與字符字模、字符代碼的關(guān)系如表4-15所示,該表右列是自定義自符“上”的自模。CGRAM地址共6位,高3位地址為字符代碼的低3位,CGRAM地址的低3位用于選擇字模的不同行。字符字模的第八行是光標(biāo)位置,第八行數(shù)據(jù)為0時(shí)顯示光標(biāo),為1時(shí)不顯示光標(biāo)。字符字模僅用D4~D0位表示字符,因此D7~D5位可用作一般數(shù)據(jù)RAM。在產(chǎn)生字符字模時(shí),液晶模塊對字符代碼的D3位未作確定,所以字符代碼00H~07H與08H~0FH選中相同的8個(gè)自定義自模。如字符代碼00H與08H均選擇了表4-15中字符“上”的字模。表2-15CGRAM地址與字符字模、字符代碼的關(guān)系字符代碼(DDRAM數(shù)據(jù))CGRAM地址字符字模(CGRAM數(shù)據(jù))C7C6C5C4C3C2C1C0
0000×000A5A4A3A2A1A0000001010000011100101110111D7D6D5D4D3D2D1D0×××00100×××00100×××00100×××00111×××00100×××00100×××11111×××000003.命令功能液晶模塊的顯示命令有11條。(1)清顯示命令命令代碼如下:RSD7D6D5D4D3D2D1D00000000001
將空格字符代碼20H送入全部DDRAM中;地址計(jì)數(shù)器AC復(fù)位為零;光標(biāo)/閃爍回到顯示屏左上角(起始位置);不改變移位設(shè)置模式;并設(shè)置輸入模式為地址自動增1(I/D=1),整個(gè)顯示移動(S=1)。(2)返回命令D7D6D5D4D3D2D1D0000000001x命令代碼如下:置地址計(jì)數(shù)器AC=0;光標(biāo)/閃爍回到起始位置;
DDRAM中的內(nèi)容不變。(3)輸入模式設(shè)置命令命令代碼如下:D7D6D5D4D3D2D1D000000001I/DSI/D:對DDRAM、CGRAM讀/寫時(shí),地址計(jì)數(shù)器AC變化趨勢標(biāo)志。I/D=1,對DDRAM讀/寫一個(gè)字符代碼后,光標(biāo)右移,AC自動加1。I/D=0,對DDRAM讀/寫一個(gè)字符代碼時(shí),光標(biāo)左移,AC自動減1。對CGRAM進(jìn)行讀/寫操作時(shí),AC變化趨勢與DDRAM相同,但與光標(biāo)無關(guān)。S:顯示移位標(biāo)志。S=1,將全部顯示右移(I/D=0)或者左移(I/D=1)一位。S=0,顯示不發(fā)生移位。(4)顯示開/關(guān)控制命令命令代碼:
D7D6D5D4D3D2D1D00000001DCB
RS
D:顯示開/關(guān)控制標(biāo)志。D=1,開顯示;D=0,關(guān)顯示,關(guān)顯示后DDRAM中的數(shù)據(jù)不變。C:光標(biāo)顯示控制標(biāo)志。C=1,光標(biāo)顯示;C=0,光標(biāo)不顯示。B:光標(biāo)閃爍控制標(biāo)志。B=1,光標(biāo)閃爍,而且光標(biāo)所指位置上交替顯示字符和全黑點(diǎn)陣。(5)光標(biāo)或顯示移位命令命令代碼如下:RSD7D6D5D4D3D2D1D0000001S/CR/L××
光標(biāo)或顯示移位命令可使光標(biāo)或顯示在沒有讀/寫顯示數(shù)據(jù)的情況下,向左或向右移動。運(yùn)用此指令可以實(shí)現(xiàn)顯示的查找和替換。在雙行顯示方式下,光標(biāo)可以從第一行40位移到第二行首位,但不能從第二行40位移到第一行首位,而是回到第二行首位;顯示字符只能在本行移動。移位方式如表4-16所示。S/CR/L功能00110101光標(biāo)左移,AC自動減1光標(biāo)右移,AC自動增1光標(biāo)和字符一起左移,AC值不變光標(biāo)和字符一起右移,AC值不變表2-16光標(biāo)或顯示移位方式(6)功能設(shè)置命令命令代碼如下:RSD7D6D5D4D3D2D1D000001IFNF××IF:用于設(shè)置接口數(shù)據(jù)寬度。IF=1,接口數(shù)據(jù)為8位;IF=0接口數(shù)據(jù)寬度為4位,D7~D4為有效數(shù)據(jù)位,D3~D0未用。
N:用于設(shè)置顯示行數(shù)。N=1,顯示兩行;N=0,顯示一行。F:用于設(shè)置顯示字符點(diǎn)陣格式。F=1,為5×10點(diǎn)陣;F=0,為5×7點(diǎn)陣。(7)CGRAM地址設(shè)置命令命令代碼如下:RSD7D6D5D4D3D2D1D00001A5A4A3A2A1A0
該命令的功能是設(shè)置CGRAM的地址指針。把6位CGRAM地址A5~A0送到地址計(jì)數(shù)器AC中。命令執(zhí)行后,CPU可以對CGRAM連續(xù)進(jìn)行讀/寫操作。
(8)DDRAM地址設(shè)置命令
該命令用于設(shè)置DDRAM的地址指針。把7位DDRAM地址A6~A0送到地址計(jì)數(shù)器AC。命令執(zhí)行后,CPU可以對DDRAM進(jìn)行讀/寫操作。命令代碼:
D7D6D5D4D3D2D1D0001A6A5A4A3A2A1A0RS(9)讀忙標(biāo)志和地址命令
該命令的功能是將忙標(biāo)志BF及地址計(jì)數(shù)器AC當(dāng)前值讀出。若讀出的BF=1,說明系統(tǒng)內(nèi)部正在進(jìn)行操作,不能接收下一條命令。讀出的AC值為CPU當(dāng)前進(jìn)行訪問的DDRAM或CGRAM的地址。RSD7D6D5D4D3D2D1D001BFA6A5A4A3A2A1A0命令代碼如下:(10)CGRAM或DDRAM寫數(shù)據(jù)命令
該命令的功能是將1字節(jié)二進(jìn)制數(shù)DDDDDDDD,寫到當(dāng)前地址計(jì)數(shù)器AC指定的CGRAM或DDRAM中。在執(zhí)行本命令前,應(yīng)將地址計(jì)數(shù)器AC設(shè)置或調(diào)整到需要寫數(shù)的CGRAM或DDRAM地址上。命令代碼如下:RSD7D6D5D4D3D2D1D010DDDDDDDD(11)CGRAM或DDRAM讀數(shù)據(jù)命令
該命令的功能是從當(dāng)前地址計(jì)數(shù)器AC指定的CGRAM或DDRAM單元中讀出數(shù)據(jù)。執(zhí)行本命令前,應(yīng)將AC設(shè)置或調(diào)整到需要讀數(shù)的CGRAM或DDRAM地址上。命令代碼如下:RSD7D6D5D4D3D2D1D011DDDDDDDD
4.接口電路及程序
圖2-27所示的是EA-D20040AR與80C51單片機(jī)的接口電路,液晶顯示模塊的信號由單片機(jī)的、組合得到,液晶模塊的命令寄存器地址為8000H,數(shù)據(jù)寄存器地址為8001H。初始化、顯示字符串及自定義字符的程序如下:;初始化程序START:MOVDPTR,#8000H;8000H為命令寄存器地址
MOVA,#38H;置功能,2行,5×7點(diǎn)陣,8位數(shù)據(jù)
MOVX@DPTR,ALCALLWAITMOVA,#06H;置輸入模式,光標(biāo)左移
MOVX@DPTR,ALCALLWAITMOVA,#0FH;置顯示開/關(guān)控制MOVX@DPTR,ALCALLWAITMOVA,#01H;總清MOVX@PDTR,ALCALLWAITRETWAIT:MOVDPTR,#8000H;置命令寄存器地址
MOVA,@DPTRJBACC.7,WAIT;讀忙標(biāo)志
RET圖2-27EA-D20040AR與80C51的接口
顯示字符串SINGLE的程序,程序執(zhí)行后,從第一個(gè)字符位置上開始顯示。SINGLE:MOVDPTR,#8000H;置命令寄存器
;地址
MOVA,#84H;置DDRAM地址初值04HMOV@DPTR,ALCALLWAITMOVA,#53H;SLCALLCHAR1MOVA,#49H;ILCALLCHAR1MOVA,#4EH;NLCALLCHAR1MOVA,#47H;GLCALLCHAR1MOVA,#4CH;ILCALLCHAR1MOVA,#45H;LLCALLCHAR1LJMPSINGLECHAR1:MOVDPTR#8001H;8001H為數(shù)據(jù)寄存器地址MOVX@DPTR,ALCALLWAITRET自定義字符“上”及其顯示的程序:CHAR1:MOVDPTR,#8000H;置命令寄存器地址
MOVA,#40H;置CGRAM地址初值00HMOVX@DPTR,ALCALLWAITMOVA,#04H;置字符點(diǎn)陣LCALLCHAR1MOVA,#04HLCALLCHAR1MOVA,#04HLCALLCHAR1MOVA,#07HLCALLCHAR1MOVA,#04HLCALLCHAR1MOVA,#04HLCALLCHAR1MOVA,#1FHLCALLCHAR1MOVA,#00HLCALLCHAR1SHG:MOVDPTR,#8000H;置命令寄存器地址MOVA,#88H;置DDRAM地址初值08HMOVX@DPTR,ALCALLWAITMOVA,#00H;顯示“上”LCALLCHAR1LJMPSHG
程序中從標(biāo)號CHAR1到SHG是定義字符“上”(5×7點(diǎn)陣)的程序段。標(biāo)號SHG開始的程序段用于把定義好的字符進(jìn)行顯示。2.3鍵盤接口技術(shù)
鍵盤是一組開關(guān)的集合,是智能儀器常見的輸入設(shè)備之一。鍵盤與CPU的接口包括硬件和軟件兩部分,硬件是指鍵盤的結(jié)構(gòu)及其與主機(jī)的連接方式;軟件是指對按鍵的識別與分析,稱為鍵盤管理程序。鍵盤管理程序主要完成下列任務(wù)。
①識鍵:判斷是否有鍵按下。若有,則進(jìn)行譯鍵;若無,則等待或轉(zhuǎn)做別的工作。②譯鍵:在有鍵按下的情況下,識別出是哪個(gè)鍵,并求出該鍵的鍵值。③鍵義分析:在單義鍵的情況下,CPU根據(jù)鍵值執(zhí)行相應(yīng)的程序。在多義鍵的情況下,譯出按鍵序列的含義,并執(zhí)行相應(yīng)的鍵盤處理程序。
鍵盤中的按鍵一般都采用觸點(diǎn)式按鍵開關(guān)。從鍵按下到接觸穩(wěn)定,觸點(diǎn)的彈性會產(chǎn)生數(shù)毫秒的抖動時(shí)間,鍵釋放時(shí)也存在同樣的問題,如圖4-1所示。鍵抖動時(shí)間的長短與鍵的材料有關(guān),一般為5~10ms。
2.3.1鍵抖動、鍵連擊及串鍵的處理1.鍵抖動處理圖2-1鍵抖動波形圖
硬件去抖動的方法可采用RS觸發(fā)器或單穩(wěn)態(tài)電路,RS觸發(fā)器的去抖動電路如圖4-2所示,只能用于按鍵數(shù)目較小的場合。軟件去抖動的方法是,當(dāng)首次檢測到按鍵按下或按鍵釋放信號時(shí),用軟件延時(shí)一段時(shí)間(10~20ms),再次判斷按鍵的狀態(tài),顯然這次讀入的是按鍵穩(wěn)定后的狀態(tài)。軟件去抖動不用額外的硬件開銷,軟件也不復(fù)雜,因此在智能儀器中被廣泛使用。圖4-2應(yīng)用RS觸發(fā)器去抖動2.串鍵處理
由于操作不慎,可能會造成同時(shí)有幾個(gè)鍵被按下,這種情況稱為串鍵,通常有三種處理串鍵的技術(shù),即兩鍵同時(shí)按下、
N鍵同時(shí)按下及N鍵鎖定技術(shù)。
2.3.2鍵盤的結(jié)構(gòu)及控制方式
鍵盤按其工作原理可分為編碼式鍵盤和非編碼式鍵盤。編碼式鍵盤由鍵盤和專用編碼器兩部分構(gòu)成。當(dāng)鍵盤中某一按鍵按下時(shí),編碼器自動產(chǎn)生對應(yīng)按鍵的代碼,并輸出一選通脈沖與CPU進(jìn)行信息聯(lián)絡(luò)。編碼式鍵盤的優(yōu)點(diǎn)是CPU不需要掃描鍵盤,編碼器自動提供按鍵的代碼,缺點(diǎn)是編碼器成本較高。1.鍵盤的結(jié)構(gòu)
非編碼式鍵盤不含編碼器,當(dāng)某鍵按下時(shí),鍵盤僅送出一個(gè)簡單的閉合信號,對應(yīng)按鍵的代碼必須通過軟件來確定。因此非編碼式鍵盤可以任意組合,成本低、使用靈活,因而智能儀器大多采用非編碼式鍵盤。非編碼式鍵盤按照與主機(jī)連接方式的不同,分為獨(dú)立式鍵盤、矩陣式鍵盤和交互式鍵盤。圖2-4非編碼式鍵盤的結(jié)構(gòu)
CPU對鍵盤的控制有三種方式,即程序控制方式,定時(shí)控制方式及中斷控制方式。程序控制方式:該方式是利用CPU在完成其他工作的空余,調(diào)用鍵盤掃描程序,以響應(yīng)鍵輸入的要求。2.控制方式
定時(shí)控制方式:該方式是利用一個(gè)專門的定時(shí)器,在定時(shí)時(shí)間到時(shí)提出定時(shí)中斷申請,CPU響應(yīng)后對鍵盤進(jìn)行掃描,若有鍵按下則轉(zhuǎn)入相應(yīng)的鍵功能處理程序。
中斷控制方式:在這種方式下,當(dāng)鍵盤中有鍵按下時(shí),硬件產(chǎn)生中斷請求信號,CPU響應(yīng)中斷后對鍵盤進(jìn)行掃描,并在有鍵按下時(shí)轉(zhuǎn)入相應(yīng)的鍵功能處理程序。該方式的優(yōu)點(diǎn)是能確保對用戶的每次按鍵操作都能做出迅速的響應(yīng),而且由于在無鍵按下時(shí)不進(jìn)行掃描,因而提高了CPU的工作效率。
在智能儀器中,應(yīng)用最多的非編碼式鍵盤結(jié)構(gòu)形式是矩陣式鍵盤。識別矩陣式鍵盤按鍵的基本方法有兩種:一種是行掃描(row-scanning)法,另一種是線反轉(zhuǎn)(line-reverse)法。2.3.3非編碼式鍵盤接口
①各行同時(shí)送低電平,檢查是否有鍵按下。為了提高識別按鍵的效率,CPU同時(shí)給各行送出低電平,然后讀回全部列線的狀態(tài),若列線中有低電平存在,說明有鍵按下;若列線均為高電平,說明無鍵按下。②消除鍵抖動。若有鍵按下,則通過軟件延時(shí)幾十毫秒,再判斷是否有鍵按下,若某列線仍為低電平,說明確實(shí)有鍵按下。
1.行掃描法
③逐行掃描,求出按下鍵的鍵值。
④等待閉合鍵釋放。為保證按鍵每閉合一次,CPU只做一次處理,程序需等待閉合鍵釋放后再做其他處理,以克服鍵連擊現(xiàn)象。
圖中為4行4列鍵盤接口電路,共有16個(gè)鍵,4條行線接到輸出口,4條列線接至輸入口。兩端口的數(shù)據(jù)端和控制端分別與單片機(jī)的數(shù)據(jù)線和控制線相連。89C51判鍵號程序:KEY:MOVXDPTR,#7F00H;置8155PA、PB口為輸出方式
MOVA,#03H;PC口為輸入方式
MOV@DPTR,A
MOVR4,#00H;0→鍵號寄存器R4
MOVR2,#01H;掃描模式01H→R2KEY1:MOVDPTR,#7F0lH
MOVA,R2
MOVX@DPTR,A;掃描模式→8155PA口
INCDPTR
INCDPTR
MOVXA,@DPTR;讀8155PC口JBACC.0,KEY2;0列無鍵閉合,轉(zhuǎn)判1列
MOVA,#00H;0列有鍵閉合,0→A
AJMPKEY5KEY2:JBACC.1,KEY3;1列無鍵閉合,轉(zhuǎn)判2列
MOVA,#01H;1列有鍵閉合,1→AAJMPKEY5KEY3:JBACC.2,KEY4;2列無鍵閉合,轉(zhuǎn)判3列
MOVA,#02H;2列有鍵閉合2→AAJMPKEY5KEY4:JBACC.3,NEXT;3列無鍵閉合,轉(zhuǎn)判下一行
MOVA,#03H;3列有鍵閉合,3→AKEY5:ADDA,R4;列線號+(R4)→R4
MOVR4,A
RETNEXT:MOVA,R4
ADDA,#04H;鍵號寄存器加4
MOVR4,A
MOVA,R2JBACC.3,NEXT1;判是否已掃到最后1行
RLA;掃描模式左移1位
MOVR2,A
AJMPKEY1NEXT1:MOVR4,#OFFH;置無鍵閉合標(biāo)志
RET2.3.4可編程鍵盤/顯示器接口電路
智能儀器儀表中鍵盤顯示器是不可缺少的組成部分,為了減輕CPU的負(fù)擔(dān),少占用它的工作時(shí)間,已出現(xiàn)了專供鍵盤及顯示器用的可編程接口芯片,如Intel8279、HD7279A、Zlg7289等,也出現(xiàn)了串行接口LED驅(qū)動芯片,如MAX7219、PS7219等。下面介紹常用的Intel8279和MAX7219的功能及其應(yīng)用。2.3.4.1可編程鍵盤/顯示器接口電路82791.8279的功能
8279的功能如下:能同時(shí)進(jìn)行鍵盤與顯示器操作;掃描式鍵盤與顯示器工作方式;自動消除鍵抖動;具有雙鍵互鎖及N鍵有效功能;鍵盤可擴(kuò)充為128個(gè)按鍵;顯示器位數(shù)最多可為16位;具有左端輸入或右端輸入的顯示格式。
2.8279引腳介紹
8279的邏輯圖如圖2-14所示,內(nèi)部包含一個(gè)16×8位顯示RAM、一個(gè)8×8位FIFO/傳感器RAM、一組命令寄存器等部件。圖2-148279邏輯圖8279的引腳功能如下:
D0~D7:雙向數(shù)據(jù)線,用于傳輸CPU和8279間的數(shù)據(jù)及命令。CLK:時(shí)鐘信號。為8279提供內(nèi)部時(shí)鐘。RESET:復(fù)位信號,高電平有效。:片選信號,低電平時(shí)允許CPU對其讀寫。、:讀、寫信號,低電平有效。IRQ:中斷請求信號,高電平有效。在鍵盤方式下,當(dāng)FIFO/傳感器RAM中有數(shù)據(jù)時(shí),IRQ=1。CPU每次從RAM中讀出數(shù)據(jù)時(shí),IRQ變?yōu)?;如果讀后RAM中仍有數(shù)據(jù),則IRQ再次恢復(fù)為1。在傳感器方式下,每當(dāng)檢測到傳感器狀態(tài)變化時(shí)IRQ為1。SL0~SL3:掃描信號。用來掃描鍵盤或傳感器以及顯示器。它們可以設(shè)定為編碼(16選1)或譯碼(4選1)輸出。RL0~RL7:回饋信號。它們是鍵盤矩陣或傳感器矩陣的列(或行)信號輸入線。但在選通方式下,它們?yōu)?位輸入數(shù)據(jù)線。OUTA0~OUTA3;OUTB0~OUTB3:顯示數(shù)據(jù)輸出線。兩組可以獨(dú)立使用,也可以合并使用。合并使用時(shí),OUTA3是最高位,OUTB0是最低位,合并后用作8位數(shù)字段碼輸出。SHIFT:換檔輸入信號。在鍵盤工作方式時(shí),用來擴(kuò)充鍵開關(guān)的功能,作為換檔功能鍵的輸入。在傳感器方式和選通方式SHIFT無效。CNTL/STB:控制/選通信號。在鍵盤工作方式時(shí)用來擴(kuò)充鍵開關(guān)的功能,作為控制功能鍵的輸入。在選通方式時(shí)在該信號的上升沿,把來自RL0~RL7的數(shù)據(jù)存入FIFORAM中。在傳感器方式下,該信號無效。:顯示消隱信號。在更換顯示數(shù)字或使用消隱命令時(shí),該信號可使顯示器熄滅。:命令/數(shù)據(jù)選擇端。=1時(shí),CPU寫入的信息為命令,CPU讀出的信息為狀態(tài)。
=0時(shí),CPU讀寫的字節(jié)均為數(shù)據(jù)。3.數(shù)據(jù)輸入方式8279數(shù)據(jù)輸入有3種方式,即鍵掃描方式、傳感器掃描方式和選通輸入方式。采用鍵掃描方式時(shí),掃描線為SL0~SL3,回饋線為RL0~RL7。每按下一個(gè)鍵,便由8279自動編碼,并送入先進(jìn)先出堆棧FIFO,同時(shí)產(chǎn)生中斷請求信號IRQ。鍵的編碼格式如下:
如果芯片的控制腳CNTL和換檔腳SHIFT接地,則D7和D6均為“0”。例如,若被按下鍵的位置在第2行(掃描行序號為010)與第4列(回饋列序號為100)相交處,則該鍵所對應(yīng)的代碼為00010100,即14H。D7D6D5D3D2D0CNTLSHIFT掃描行序號回饋線(列)序號8279的掃描輸出有兩種方式:譯碼掃描和編碼掃描。所謂譯碼掃描,即4條掃描線在同一時(shí)刻只有一條是低電平,并且以一定的頻率輪流更換。如果用戶鍵盤的掃描線多于4條,則需采用編碼掃描方式。
在傳感器掃描方式工作時(shí),掃描線及回饋線分別為SL0~SL2、RL0~RL3。將對開關(guān)陣列中每個(gè)結(jié)點(diǎn)的通斷狀態(tài)(傳感器狀態(tài))進(jìn)行掃描,回饋數(shù)據(jù)存于FIFO的8個(gè)存儲單元,存儲單元的地址與掃描信號的順序一致。當(dāng)開關(guān)陣列中任何一位狀態(tài)改變時(shí),便自動產(chǎn)生中斷請求信號IRQ,中斷服務(wù)程序?qū)IFO的內(nèi)容讀入CPU,并與原有狀態(tài)比較后便可確定哪一位的狀態(tài)發(fā)生了變化。所以用8279檢測開關(guān)的通斷狀態(tài)非常方便。
在選通輸入方式工作時(shí),RL0~RL7與8255的選通并行輸入端口的功能完全一樣。此時(shí),CNTL/STB端作為選通信號STB輸入端,STB為高電平有效。
此外,在使用8279時(shí),不必考慮按鍵的抖動問題。因?yàn)樵谛酒瑑?nèi)部已設(shè)置了消除鍵抖動和串鍵的邏輯電路,當(dāng)消抖電路檢測到有鍵閉合時(shí),等待10ms再次檢測,若該鍵仍然閉合,則將閉合鍵的編碼送入FIFO堆棧。8279消除串鍵的方法有兩種,一種為兩鍵互鎖方式,即當(dāng)?shù)谝绘I按下未釋放時(shí),第二鍵又被按下,則第二鍵為無效鍵;而當(dāng)兩鍵同時(shí)按下時(shí),后釋放的鍵為有效鍵。第二種為多鍵有效方式,指若多個(gè)鍵同時(shí)按下時(shí),所有鍵依掃描順序被識別,代碼依次寫入FIFO堆棧。4.顯示輸出方式
8279內(nèi)部設(shè)置了16×8顯示RAM,每個(gè)單元存儲一個(gè)字符的8位段碼。當(dāng)向顯示RAM某一單元寫入顯示字符段碼后,8279的硬件自動管理顯示RAM的輸出及同步掃描信號。顯示RAM每一單元的字符段碼D7~D0從OUTA3~OUTB0端輸出。顯示器的位掃描信號由SL0~SL3得到。
顯示器的掃描信號與鍵盤輸入掃描信號是公用的,當(dāng)實(shí)際的顯示位數(shù)多于4時(shí),必須采用編碼掃描輸出。
8279可外接8個(gè)或16個(gè)LED顯示器,當(dāng)實(shí)際的顯示器數(shù)目少于8時(shí),也必須設(shè)置成8字符或16字符顯示模式之一。
顯示器的數(shù)字輸入方式有兩種,即左端輸入方式及右端輸入方式。左端輸入方式中,顯示器的位置編號與顯示RAM的地址一一對應(yīng),即顯示RAM中“0”地址的內(nèi)容在“0”號(最左端)位置顯示,CPU依次從“0”地址或某一地址開始將字符段碼寫入顯示RAM。地址大于“15”時(shí),再從0地址開始寫入。寫入過程如圖4-15所示。圖2-15左端輸入過程圖2-16右端輸入過程5.命令字功能8279的工作方式是由各種操作命令決定的。共有8條命令。①鍵盤、顯示器工作模式設(shè)置命令編碼格式為:
D1、D0用于決定顯示方式,其定義如表所示。
D1D0顯示管理方式000110118字符顯示;左端輸入16字符顯示;左端輸入8字符顯示;右端輸入16字符顯示;右端輸入K2、K1、K0用于設(shè)置鍵盤的工作方式,定義如表。②掃描頻率設(shè)置命令編碼格式為:D7D6D5D4D3D2D1D0001P4P3P2P1P0
最高3位001是本命令的特征碼。P4P3P2P1P0取值為2到31,它是外接時(shí)鐘的分頻系數(shù),經(jīng)分頻后得到內(nèi)部時(shí)鐘頻率。③讀FIFO堆棧的命令編碼格式為:D7D6D5D4D3D2D1D0010AI×A2A1A0
地址由A2A1A0決定,例如A2A1A0=0H,則輸入指令執(zhí)行的結(jié)果是將FIFO堆棧頂(或傳感器列陣狀態(tài)存儲器)的數(shù)據(jù)讀入CPU的累加器。AI是自動增1標(biāo)志,當(dāng)AI=1時(shí),每執(zhí)行一次輸入指令,地址A2A1A0自動加1。④讀顯示RAM的命令編碼格式為:D7D6D5D4D3D2D1D0011AIA3A2A1A08279接收到本命令后,CPU執(zhí)行輸入指令,從顯示RAM讀取數(shù)據(jù)。A3A2A1A0是用于區(qū)別該RAM的16個(gè)地址,AI是地址自動增“1”標(biāo)志。
⑤寫顯示RAM的命令編碼格式為:D7D6D5D4D3D2D1D0100AIA3A2A1A0
在將數(shù)據(jù)寫入顯示RAM之前,CPU必須先輸出這條命令。命令中的地址碼A3A2A1A0決定8279芯片接收來自CPU的數(shù)據(jù)存放在顯示RAM的哪個(gè)單元。⑥清除命令
編碼格式為:D7D6D5D4D3D2D1D0110CD2CD1CD0CFCACD2、CD1、CD0用來設(shè)定清除顯示RAM的方式,定義如表所示。CF=1,清除FIFO狀態(tài)標(biāo)志,F(xiàn)IFO被置成空狀態(tài)(無數(shù)據(jù)),并復(fù)位中斷輸出IRQ。CA是總清除的特征位,CA=1,清除FIFO狀態(tài)和顯示RAM(方式仍由CD1、CDo確定)。CD2CD1CD0消除方式10×101顯示RAM所有單元均置“0”顯示RAM所有單元均置“20H”顯示RAM所有單元均置“1”0××
不清除(CA=0時(shí))6.8279的狀態(tài)字
狀態(tài)字用來指出FIFORAM中字符個(gè)數(shù)、出錯(cuò)信息以及能否對顯示RAM進(jìn)行寫操作。狀態(tài)字格式如下:D7D6D5D4D3D2D1D0DUS/EOUFN2N1N0N2N1N0:用來表示FIFORAM中的字符個(gè)數(shù)。F:FIFORAM滿標(biāo)志位。當(dāng)F=1時(shí),表示FIFORAM已滿。O、U:超出、不足標(biāo)志位。當(dāng)FIFO已裝滿,其他鍵數(shù)據(jù)還企圖寫入FIFORAM時(shí),O置1。當(dāng)FIFORAM已置空,CPU還企圖讀時(shí),U置1。S/E:傳感器信號結(jié)束/錯(cuò)誤標(biāo)志位。當(dāng)8279工作在傳感器方式時(shí),若S/E=1,表示最后一個(gè)傳感器信號已進(jìn)入傳感器RAM。當(dāng)8279工作在特殊錯(cuò)誤方式時(shí),則表示出現(xiàn)了多鍵同時(shí)按下錯(cuò)誤。DU:顯示無效標(biāo)志位。在清除顯示RAM和總清時(shí),DU=1.此時(shí)對顯示RAM寫無效。7.8279與單片機(jī)的接口(1)硬件接口電路該電路設(shè)有8位顯示器,4×8個(gè)鍵,其中鍵盤的行線接8279的RL0~RL3。8279選用外部譯碼方式,SL0~SL2經(jīng)74LS138(1)譯碼輸出Y0~Y7接鍵盤的列線,SL0~SL2又由74LS138(2)譯碼輸出端Y0~Y2,經(jīng)驅(qū)動后輸出到各位顯示器的公共陰極,輸出線OUTB0~OUTB3和OUTA0~OUTA3作為8位段數(shù)據(jù)輸出口,其中OUTB0最低位,OUTA3為最高位,BD控制74LS138(2)的譯碼,使顯示器在位切換時(shí)全為暗碼。當(dāng)有鍵被按下時(shí),鍵輸入數(shù)據(jù)自動進(jìn)入8279的FIFORAM存儲器中,并向89C51請求中斷,89C51響應(yīng)中斷后讀取8279堆棧中的輸入鍵值,據(jù)此轉(zhuǎn)移到相應(yīng)鍵的處理程序中。更新顯示器輸出時(shí),只需改變8279中顯示數(shù)據(jù)存儲器中的內(nèi)容,8279即可自動完成顯示任務(wù)。(2)軟件框圖設(shè)計(jì)①初始化:在主程序中必須對8279進(jìn)行初始化,其初始化的內(nèi)容主要包括以下幾個(gè)方面:②鍵盤中斷服務(wù)程序:在鍵盤中斷服務(wù)程序中,首先必須設(shè)置讀FIFORAM命令,然后才能有效地讀入鍵值。(3)顯示子程序框圖:在送顯示數(shù)據(jù)之前,必須設(shè)置寫顯示RAM命令。該系統(tǒng)中設(shè)置89C51內(nèi)RAM的78H~7FH為顯示緩沖區(qū)。
③程序清單及說明初始化程序:MAIN:SETBEX1;允許外部中斷1中斷
MOVDPTR,#7FFFH;指向8279
命令口
MOVA,#0D1H;置清除命令
MOVX@DPTR,A;LP:MOVXA,@DPTR;讀8279狀態(tài)
JBACC.7,LP;等待清除結(jié)束
MOVA,#00H;置鍵盤、顯示器工作方式
MOVX@DPTR,A;左入外譯碼,鍵掃描,雙鍵互鎖方式
MOVA,#2AH;置分頻系數(shù),晶振6MHZMOVX@DPTR,A;需10分頻SETBEA;開放中斷
2.3.4.2串行接口LED驅(qū)動器MAX7219MAX7219是MAXIM公司生產(chǎn)的一種串行接口方式7段共陰極LED顯示驅(qū)動器。其片內(nèi)包含一個(gè)BCD碼到段碼的譯碼器、多路復(fù)用掃描電路、字段和字位驅(qū)動器,以及存儲每個(gè)數(shù)字的8×8RAM。每位數(shù)字都可以被尋址和更新,允許對每一位數(shù)字選擇段碼譯碼或不譯碼。采用三線串行方式與單片機(jī)接口。電路十分簡單,只需要一個(gè)10kΩ左右的外接電阻來設(shè)置所有LED的段電流。圖2-18MAX7219的引腳排列1.引腳功能
MAX7219的引腳排列如圖2-18所示。各引腳功能如下:DIN:串行數(shù)據(jù)輸入。在CLK時(shí)鐘的上升沿,串行數(shù)據(jù)被移入內(nèi)部移位寄存器。移入時(shí)最高位(MSB)在前。DIG0~7:8根字位驅(qū)動引腳,它從LED顯示器
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 麥當(dāng)勞供應(yīng)鏈研究
- 財(cái)務(wù)收支與利潤分析表
- 2025年拉薩貨運(yùn)從業(yè)資格證考試模擬考試
- 工程施工合伙合同
- 2025年梧州道路貨運(yùn)從業(yè)資格證考試
- 店面房屋買賣合同
- 商業(yè)地產(chǎn)項(xiàng)目策劃、開發(fā)及運(yùn)營規(guī)范
- 綠色能源市場份額統(tǒng)計(jì)表
- 使用新辦公系統(tǒng)的基本指南
- 三農(nóng)村居民生態(tài)文明空間化建設(shè)規(guī)劃
- 合唱之美知到智慧樹章節(jié)測試課后答案2024年秋山東航空學(xué)院
- 海南省澄邁縣2024-2025學(xué)年七年級上學(xué)期期末考試地理試題(含答案)
- 食品安全演練預(yù)案及流程
- 2025年蘇州衛(wèi)生職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 2025屆威海市高三語文上學(xué)期期末考試卷附答案解析
- 新能源汽車充電設(shè)施建設(shè)規(guī)劃與管理計(jì)劃
- 《污水中微塑料的測定 傅里葉變換顯微紅外光譜法》
- 【MOOC】跨文化思想交流英語-南京理工大學(xué) 中國大學(xué)慕課MOOC答案
- 部編人教版五年級下冊小學(xué)數(shù)學(xué)全冊教案
- 2024年世界職業(yè)院校技能大賽高職組“聲樂、器樂表演組”賽項(xiàng)參考試題庫(含答案)
- 2024年共青團(tuán)入團(tuán)考試題庫及答案
評論
0/150
提交評論