版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
8.1鍵盤和數(shù)碼顯示8.1.1矩陣式鍵盤與8051的接口鍵盤是單片機最簡單的輸入設(shè)備,可以實現(xiàn)簡單的人機交互。鍵盤按其結(jié)構(gòu)形式可以分為非編碼鍵盤和編碼鍵盤。非編碼鍵盤用軟件的方法產(chǎn)生編碼,編碼鍵盤用硬件的方法產(chǎn)生編碼。由于非編碼鍵盤結(jié)構(gòu)簡單、成本低廉,因此通常在單片機應(yīng)用系統(tǒng)中采用。非編碼鍵盤又分為獨立式鍵盤和矩陣式鍵盤兩種。獨立式鍵盤與單片機連接時,每個按鍵都需要單片機的一個I/O口,若某單片機系統(tǒng)需要多個按鍵時,為了節(jié)省I/O口資源,通常會使用矩陣式鍵盤。下一頁返回8.1鍵盤和數(shù)碼顯示
無論是獨立式鍵盤還是矩陣式鍵盤,單片機檢測按鍵是否被按下的依據(jù)都是一樣的,鍵盤輸入信息的主要過程是:(1)CPU判斷是否有鍵按下;(2)確定哪一個鍵被按下;(3)把此鍵代表的信息翻譯成計算機可以識別的代碼,如ASCII或其他特征碼。圖8.1是8051與行列式鍵盤的接口電路。P3口作鍵盤接口,P3.0~P3.3作鍵盤的行掃描輸入線,P3.4~P3.7作列檢測輸入線。鍵的識別功能,就是判斷鍵盤中是否有鍵按下,若有鍵按下則確定其所在的行列位置。上一頁下一頁返回8.1鍵盤和數(shù)碼顯示
程序掃描法是一種常用的按鍵識別方法。在這種方法中,只要CPU有空閑,就調(diào)用鍵盤掃描程序,查詢鍵盤并給予處理。8.1.2七段LED顯示器與8051的接口LED顯示器由發(fā)光二極管構(gòu)成,也稱數(shù)碼管,在單片機中的應(yīng)用非常普遍。通常所說的LED顯示器由7個發(fā)光二極管構(gòu)成,因此稱為七段LED顯示器,數(shù)碼顯示器分為發(fā)光管的LED和液晶的LCD兩種。點亮數(shù)碼顯示器包含靜態(tài)和動態(tài)兩種方式。上一頁下一頁返回8.1鍵盤和數(shù)碼顯示
LED顯示器工作在靜態(tài)顯示方式時,其陰極(或其陽極)各點連接在一起并接地(或接+5V),每一個的段選線(a、b、c、d、e、f、g、dp)分別與一個8位口相連。LCD數(shù)碼顯示只能工作在靜態(tài)顯示,并要求加上專門的驅(qū)動芯片4056。LED顯示器工作在動態(tài)顯示方式時,段選碼端口I/O1用來輸出顯示字符的段選碼,I/O2輸出位選碼。I/O1不斷送待顯示字符的段選碼,I/O2不斷送出不同的位掃描碼,并使每位顯示字符停留顯示一段時間,一般為1~5ms,利用人眼的視覺暫留效應(yīng)和發(fā)光二極管熄滅時的余輝效應(yīng),便可以從顯示器上見到多個字符同時顯示。上一頁返回8.2字符型LCD顯示模塊8.2.1字符型LCD的結(jié)構(gòu)和引腳字符型LCD是一種用5×7點陣圖形來顯示字符的液晶顯示器。LCD的內(nèi)部結(jié)構(gòu)如圖8.3所示?!馜DRAM:顯示數(shù)據(jù)RAM。用來寄存待顯示的代碼?!馛GROM:字符發(fā)生器ROM。它內(nèi)部已經(jīng)存儲了160個不同的點陣字符圖形,字符圖形用于字符的顯示?!馛GRAM:字符發(fā)生器RAM。它是8個允許用戶自定義的字符圖形RAM。下一頁返回8.2字符型LCD顯示模塊
●DDRAM的地址:LCD控制器的指令系統(tǒng)規(guī)定,在送待顯示字符代碼的指令前,先要送DDRAM的地址,實際上是待顯示的字符顯示位置。若LCD為雙行字符顯示,每行40個顯示位置,第一行地址為00H~27H;第二行地址為40H~67H。8.2.2顯示板控制器的指令系統(tǒng)字符型LCD顯示板控制器有11條指令,它的讀寫操作、屏幕和光標(biāo)的操作都是通過對指令的編程來實現(xiàn)的。LCD控制器的11條指令如表8.2所示。上一頁下一頁返回8.2字符型LCD顯示模塊
指令表8.2中D0~D7位所使用的字符說明如下:I/D=1/0:增量/減量。S=1:全顯示屏移動。S/C=1/0:顯示屏移動/光標(biāo)移動。R/L=1/0:右移/左移。DL=1/0:8位/4位。N=1/0:2行/1行。F=1/0:5×10點陣/5×7點陣。BF=1/0:內(nèi)部操作正在進行/允許指令操作。*:無關(guān)項。上一頁返回8.2字符型LCD顯示模塊
下面逐條解釋各指令的功能:●指令1:清顯示,光標(biāo)復(fù)位到地址00H位置?!裰噶?:光標(biāo)復(fù)位,光標(biāo)返回到地址00H?!裰噶?:讀/寫方式下的光標(biāo)和顯示模式設(shè)置命令。I/D:表示地址計數(shù)器的變化方向,即光標(biāo)移動的方向。I/D=1:AC自動加1,光標(biāo)右移一個字符位。I/D=0:AC自動減1,光標(biāo)左移一個字符位。S:顯示屏上畫面向左或向右全部平移一個字符位。S=0:無效;S=1:有效。S=1,I/D=1:顯示畫面左移。S=1,I/D=0:顯示畫面右移。上一頁下一頁返回8.2字符型LCD顯示模塊
●指令4:顯示開關(guān)控制,控制顯示、光標(biāo)、光標(biāo)閃爍的開關(guān)。D:當(dāng)D=0時顯示關(guān)閉,DDRAM中數(shù)據(jù)保持不變。C:當(dāng)C=1時顯示光標(biāo)。B:當(dāng)B=1時光標(biāo)閃爍?!裰噶?:光標(biāo)或顯示移位,但DDRAM中內(nèi)容不改變。S/C=1時,移動顯示;S/C=0時,移動光標(biāo)。R/L=1時,為右移;R/L=0時,為左移。●指令6:功能設(shè)置命令。DL=1時,內(nèi)部總線為4位寬度DB7~DB4;DL=0時,內(nèi)部總線為8位寬度。上一頁下一頁返回8.2字符型LCD顯示模塊
N=0時,單行顯示;N=1時,雙行顯示。F=0時,為顯示字型5×7點陣;F=1時,為顯示字型5×10點陣?!裰噶?:CGRAM地址設(shè)置?!裰噶?:DDRAM地址設(shè)置?!裰噶?:讀狀態(tài)標(biāo)志和AC中地址。●指令10:寫數(shù)據(jù)。●指令11:讀數(shù)據(jù)。LCD顯示板與單片機的接口如圖8.4所示。上一頁下一頁返回8.3點陣型LCD顯示模塊8.3.1HD61830的特點和引腳1.HD61830的特點(1)HD61830是點陣式液晶圖像顯示控制器,可與M6800系列相適配的MPU直接接口。(2)具有專用指令集,可完成文本顯示或圖形顯示的功能設(shè)置,以及實現(xiàn)畫面卷動、光標(biāo)閃爍、位操作等功能。(3)HD61830可管理64KB顯示RAM,其中圖形方式為64KB,字符方式為4KB。下一頁返回8.3點陣型LCD顯示模塊
(4)內(nèi)部字符發(fā)生器CGROM共有192種字符。其中5×7字體160種,5×11字體32種,HD61830還可以外接字符發(fā)生器,使字符量達到256種。(5)HD61830可以靜態(tài)方式顯示,亦可以最大為1/128占空比的動態(tài)方式顯示。上一頁下一頁返回8.3點陣型LCD顯示模塊
2.HD61830的受控引腳上一頁下一頁返回8.3點陣型LCD顯示模塊
HD61830的工作時序如圖8.5所示。從時序上分析MPU與HD61830聯(lián)絡(luò)的關(guān)鍵信號是使能信號E。讀寫信號R/W可認(rèn)為是數(shù)據(jù)總線上數(shù)據(jù)流方向的控制信號,使能信號E在讀、寫操作過程中的作用如表8.3所示。8.3.2HD61830指令集HD61830的指令結(jié)構(gòu)是一致的,一條指令由一個字節(jié)的指令代碼與一個字節(jié)的指令參數(shù)組成。(1)方式控制:指令代碼為00H。向指令寄存器寫入00后緊接著向數(shù)據(jù)存儲器寫入?yún)?shù)即可定義顯示方式。方式控制參數(shù)格式如下:上一頁下一頁返回8.3點陣型LCD顯示模塊
上一頁下一頁返回●D0:字符發(fā)生器選擇位。0時為CGROM,1時為EXCGROM?!馜1:顯示方式選擇位。0時為文本方式,1時為圖形方式?!馜2、D3組合實現(xiàn)功能如表8.4所示?!馜4:工作方式選擇位。0時為從方式,1時為主方式?!馜5:顯示狀態(tài)選擇位。0時為禁止顯示,1時為啟用顯示。8.3點陣型LCD顯示模塊
(2)字體設(shè)置:指令代碼為01H。該指令設(shè)置文本方式下字符的點陣大小,指令參數(shù)格式如下:●VP:字符點陣行數(shù),取值范圍為1~16?!馠P:字符點陣列數(shù),圖形方式表示一個字節(jié)顯示數(shù)據(jù)的有效位數(shù),HP的取值范圍為6、7、8。(3)顯示域設(shè)置:指令代碼為02H。該指令參數(shù)如下:上一頁下一頁返回8.3點陣型LCD顯示模塊
●HN:為一行顯示所占的字節(jié)數(shù),其取值范圍為2~128內(nèi)的偶數(shù)值,由HN和HP可得顯示屏有效顯示列數(shù)N=HN×HP。(4)幀設(shè)置:指令代碼為03H。該指令參數(shù)如下:●NX:為顯示時的幀掃描行數(shù),其倒數(shù)即為占空比。(5)光標(biāo)位置設(shè)置:指令代碼為04H。文本方式下光標(biāo)為一行點陣顯示,該指令用來指明該行點陣在字符體中的第幾行,指令參數(shù)格式如下:上一頁下一頁返回8.3點陣型LCD顯示模塊
●CP:表示光標(biāo)在字符體中的行位置,CP取值范圍在1~VP。(6)SADL設(shè)置:指令代碼為08H。(7)SADH設(shè)置:指令代碼為09H。上面兩條指令設(shè)置顯示緩沖區(qū)起始地址,它們的指令參數(shù)分別是該地址的低位和高位字節(jié)。該地址對應(yīng)著顯示屏上左上角顯示的位。(8)CACL設(shè)置:指令代碼為0AH。(9)CACH設(shè)置:指令代碼為0BH。上面兩條指令設(shè)置光標(biāo)地址指針,它們的指令參數(shù)即是該光標(biāo)地址指針的低位和高位字節(jié)。其作用一是用來指示當(dāng)前要讀、寫顯示緩沖區(qū)單元的地址;二是用在文本方式下,指出光標(biāo)或閃爍字符在顯示屏上的位置。上一頁下一頁返回8.3點陣型LCD顯示模塊
(10)數(shù)據(jù)寫:指令代碼為0CH。該指令代碼寫入指令寄存器后,以下向數(shù)據(jù)寄存器寫入的數(shù)據(jù)都將送入光標(biāo)地址指針?biāo)赶騿卧娘@示緩沖區(qū)單元。該指令功能的終止將由下一條指令的輸入完成。(11)數(shù)據(jù)讀:指令代碼為0DH。該指令代碼寫入后,緊跟著一次“空讀”操作后,就可以連續(xù)讀出當(dāng)前光標(biāo)地址指針?biāo)赶騿卧膬?nèi)容。(12)位清零:指令代碼為0EH。(13)位置“1”:指令代碼為0FH。以上兩條指令的功能是將光標(biāo)地址指針?biāo)赶虻娘@示緩沖區(qū)單元中的字節(jié)某位清零或置“1”。指令執(zhí)行一次光標(biāo)地址指針自動增1。指令參數(shù)格式為:上一頁下一頁返回8.3點陣型LCD顯示模塊
NB:表示清零或置“1”功能,取值1~8,對應(yīng)該字節(jié)的LSB~MSB。8.3.3與內(nèi)藏HD61830的液晶模塊的接口和編程整個模塊有18個外引出線可供接口使用,其引腳順序如下。上一頁下一頁返回8.3點陣型LCD顯示模塊
其中GND、VCC為地和+5V電源。V0為負(fù)向液晶驅(qū)動電源,對MGLS-240128來說V0的取值為-15V左右。4~10引腳含義見HD61830的引腳說明。LED+和LED-為接背景光時的電源。圖8.6是采用間接方式用8255控制MGLS-240128模塊的接口電路,8255的地址為8000H~8003H。上一頁下一頁返回8.3點陣型LCD顯示模塊
例8.4用點陣型LCD顯示模塊顯示英文字符串,編程實現(xiàn)之。下面是顯示字符串“WELCOME”的程序welc.c,程序包括顯示字符串函數(shù)disstr,寫指令函數(shù)wcode和寫數(shù)據(jù)函數(shù)wdata。#include<reg51.h>#include<absacc.h>#defineucharunsignedchar#defineuintunsignedint#definePAXBYTE[0x8000]#definePBXBYTE[0x8001]上一頁下一頁返回8.3點陣型LCD顯示模塊
#definePCXBYTE[0x8002]#defineCOMXBYTE[0x8003]#defineDELAY3ucharidatawelc[11]={0x20,0x57,0x45,0x4c,0x43,0x4f,0x4d,0x45,0x21,0x20,0x00};/*"WELCOME"*/ucharidatasade,sadh;ucharidataaddl,addh;voidwcode(ucharc);voidwdata(uchard);上一頁下一頁返回8.3點陣型LCD顯示模塊
voiddisstr(ucharidata*str);voidmain(void){COM=0x81;PB=0x00;PB=0xf0;/*MGLS-240128模塊復(fù)位*/disstr(welc);/*顯示字符串*/while(1);}voidwcode(ucharc)/*寫指令代碼*/{上一頁下一頁返回8.3點陣型LCD顯示模塊
uchari=DELAY;while(i)i--;PC=0x9f;PA=c;PC=0xdf;PC=0x5f;PC=0x1f;PC=0x9f;}voidwdata(uchard)/*寫指令參數(shù)*/{uchari=DELAY;while(i)i--;PC=0x8f;PA=d;PC=0xcf;PC=0x4f;PC=0x0f;PC=0x8f;}上一頁下一頁返回8.3點陣型LCD顯示模塊
voidcomd(x,y)/*寫一條指令*/ucharx,y;{wcode(x);wdata(y);}voiddisstr(ucharidata*str){uchari,j;上一頁下一頁返回8.3點陣型LCD顯示模塊
comd(0x00,0x3c);/*方式設(shè)置,主方式顯示,光標(biāo)閃爍,文本方式,選用CGROM*/comd(0x01,0x77);/*字體設(shè)置,VP=8,HP=8,8×8字體*/comd(0x02,0x1d);/*顯示域設(shè)置,HN=30,
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 18117-2025照相已加工照相彩色膠片和相紙照片影像穩(wěn)定性試驗方法
- 盆腔炎中醫(yī)護理的科研進展
- 高頻股票市場面試試題及答案
- 初級會計資格考試題庫(+答案)
- 供應(yīng)鏈管理考試及答案
- 注冊會計師稅法真題試卷+解析及答案
- 稅務(wù)師稅法試題及答案
- 洛陽市老城區(qū)社區(qū)網(wǎng)格工作人員應(yīng)知應(yīng)會知識題庫含答案
- 2025年注冊會計師考試《會計》易錯陷阱預(yù)測模擬試題與解析附答案
- 神經(jīng)康復(fù)學(xué)考試題及答案
- 2026年安徽皖信人力資源管理有限公司公開招聘宣城市涇縣某電力外委工作人員筆試備考試題及答案解析
- 2026中國煙草總公司鄭州煙草研究院高校畢業(yè)生招聘19人備考題庫(河南)及1套完整答案詳解
- 骨科患者石膏固定護理
- 高一英語完形填空專項訓(xùn)練100(附答案)及解析
- CJJT 164-2011 盾構(gòu)隧道管片質(zhì)量檢測技術(shù)標(biāo)準(zhǔn)
- 婚禮中心工作總結(jié)
- 《數(shù)字貿(mào)易學(xué)》教學(xué)大綱、二維碼試題及答案
- 嚴(yán)仁詞人生創(chuàng)作背景考述
- 大鎖孫天宇小品《時間都去哪了》臺詞劇本完整版-一年一度喜劇大賽
- nyt5932023年食用稻品種品質(zhì)
- TOC戰(zhàn)略思想《關(guān)鍵鏈》
評論
0/150
提交評論