




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
精品文檔-下載后可編輯PIC16F877單片機(jī)的液晶顯示模塊接口技術(shù)-設(shè)計應(yīng)用詳述PIC16F877單片機(jī)的MG-12232圖形點陣式液晶顯示器的硬件接口電路特點和接口軟件編程方法。
引言由于液晶顯示器(LCD)具有功耗低、體積小、質(zhì)量輕、超薄等其他顯示器無法比擬的優(yōu)點,它廣泛用于各種智能型儀器和低功耗電子產(chǎn)品中。點陣式(或圖形式)LCD不僅可以顯示字符、數(shù)字,還可以顯示各種圖形、曲線及漢字,并且可以實現(xiàn)屏幕上下左右滾動、動畫、閃爍、文本特征顯示等功能,用途十分廣泛。本文在簡介液晶顯示器MG-12232的驅(qū)動器SED1520F0A的結(jié)構(gòu)、功能的基礎(chǔ)上,介紹了PIC16F877單片機(jī)的LCD硬件接口電路和軟件編程特點。
一、PIC16F877與MG-12232的硬件接口電路1.SED1520F0A的接口信號SED1520F0A屬行列驅(qū)動及控制合一的小規(guī)模液晶顯示驅(qū)動芯片,電路簡單,經(jīng)濟(jì)實用,內(nèi)含振蕩器,只須外接振蕩電阻即可工作。模塊工作的穩(wěn)定性好。SED1520F0A與微處理器的接口信號如下。DB0~DB7:數(shù)據(jù)總線。A0:數(shù)據(jù)/指令選擇信號。A0=1表示出現(xiàn)在數(shù)據(jù)總線上的是數(shù)據(jù);A0=0,表示出現(xiàn)在數(shù)據(jù)總線上的是指令或讀出的狀態(tài)。RES:接口時序類型選擇。RES=1為M6800時序,其操作信號是E和R/W;RES=0為Intel8080時序,操作信號是RD和WR。RD(E):在Intel8080時序時為讀,低電平有效;在M6800時序時為使能信號,是個正脈沖,在下降沿處為寫操作,在高電平時為讀操作。WR(R/W):在Intel8080時序時為寫,低電平有效;在M6800時序時為讀、寫選擇信號,R/W=1為讀,R/W=0為寫。SED1520F0A與兩種總線的接口信號和時序的詳細(xì)資料見液晶顯示模塊使用手冊。
2.MG-12232模塊的引腳說明MG-12232模塊共有18個引腳,各引腳定義如表1所列。
表1MG-12232模塊的引腳定義
序號符號狀態(tài)功能說明1Vcc-邏輯電源正2GND-邏輯電源地3V0-液晶顯示驅(qū)動電源4RES-接口時序類型選擇5E2輸入主工作方式IC使能信號6E2輸入從工作方式IC使能信號7R/W輸入讀/寫選擇信號8A0輸入寄存器選擇信號9~16DB0~DB7三態(tài)數(shù)據(jù)總線(低位)17SLA-18SLK-背光燈負(fù)電源
3.PIC16F877與MG-12232模塊的接口電路現(xiàn)以功能強(qiáng)、價格低的PIC16F877為例說明PIC與MG-12232模塊的硬件接口電路。其接口控制時序采用M6800操作時序,這樣SED1520F0A引出的控制信號R/W,A0,E1和E2由PIC16F877的I/O端口portb的4個腳控制。接口電路如圖1所示。圖中利用可調(diào)電阻R3實現(xiàn)液晶的背光亮度調(diào)節(jié),直接用電阻R2驅(qū)動液晶的背光燈。由于PIC16F877的位操作指令豐富,所以用軟件不難模擬出M6800操作時序。
二、接口軟件編程
1.SED1520F0A指令集
SED1520F0A液晶顯示驅(qū)動器有13條指令。表2所列的以與M6800系列MPU接口為例(RES=1)而總結(jié)出的指令。
表2SED1520F0A指令集
指令名稱控制信號控制代碼R/WA0D7D6D5D4D3D2D1D0顯示開/關(guān)指令001010111I/O顯示起始行設(shè)置00110顯示起行(0~31)設(shè)置頁地址00101110頁地址(0~3)設(shè)置列地址000列地址(0~79)讀狀態(tài)指令10BUSYADCOFF/ONRESET0000寫數(shù)據(jù)01顯示的數(shù)據(jù)讀數(shù)據(jù)11顯示的數(shù)據(jù)ADC選擇指令0010100000/1靜態(tài)驅(qū)動開/關(guān)0010100100/1占空比選擇0010101000/1改寫開始指令0011100000改寫結(jié)束指令0011101110復(fù)位0011100010
2.MG-12232模塊的編程下面是以圖1的接口電路為例編寫的只含E1主方式的程序(表1中E1=1,E2=0)。E2從方式(表1中E1=0,E2=1)的程序類推。在系統(tǒng)程序的初始化部分應(yīng)該對程序中用到的寄存器和臨時變量作說明,如:lcdfialequ0x20;存放標(biāo)志位sbdataequlcdflag+1;存放顯示數(shù)據(jù)clmaddequsbdata+1;存放列地址pageaddequclmadd+1;存放頁地址pagenumequpageadd+1;存放總頁數(shù)clmsumequpagenum+1;存放總列數(shù)intscodeequclmsum+1;存放指令代碼讀液晶顯示器狀態(tài)子程序StebsfSTATUS,RP0;選中存儲區(qū)1movlw0xffmovwfTRISD;設(shè)置D口為輸入bcfSTATUS,RP0;選中存儲區(qū)0bsfPORTB,4;E1=1bsfPORTB,1;R/W=1bcfPORTB,0;A0=0TaemovfPORTD,0;將狀態(tài)字讀入W中movwflcdfiag;將W中的狀態(tài)字存入lcdfiag中btfsclcdflag,7;判斷D7位是否為0gotoTae;D7=1,為忙狀態(tài)return對液晶顯示器發(fā)指令子程序(指令保存在W寄存器中)CweMovwfintscode;指令暫存intscodeBcfPORTB,1;R/W=0BcfPORTB,0;A0=0movfintscode,0movwfPORTDbcfPORTB,4;E1=0寫入指令return對液晶顯示器寫數(shù)據(jù)子程序(數(shù)據(jù)保存在W寄存器中)DweMovwfsbdata;數(shù)據(jù)暫存sbdataMovfclmadd,0CallCwe;設(shè)置列地址CallSteBsfSTATUS,RP0clrfTRISD;設(shè)置D口為輸出方式bcfSTATUS,RP0bsfPORTB,4;E1=1bcfPORTB,1;R/W=0bsfPORTB,0;A0=1movfsbdata,0movwfPORTDbcfPORTB,4;E1=0,寫入數(shù)據(jù)callSteinctclmadd,1;列地址加1return液晶顯示器開顯示、關(guān)顯示和清屏子程序Disp;開E1顯示movlw0xal;將控制命令放在W中callCwebsfPORTB,4;E1=1callSte;判是否忙bsfSTATUS,RP0clrfTRISD;設(shè)置D口輸出方式bcfSTATUS,RP0bsfPORTB,4;E1=1bsfPORTB,1;R/W=1bcfPORTB,0;A0=0bsfSTATUS,RP0movlw0xffmovwfTRISD;設(shè)置D口輸入方式bcfSTATUS,RP0movfPORTD,0movwflcdflag;讀入狀態(tài)并查詢btfsclcdflag,5;是否確定打開gotoDispreturnDisoff;關(guān)E1顯示movlw0xae;控制命令入在W中callCwebsfPORTB,4;E1=1bsfPORTB,1;R/W=1bcfPORTB,0;A0=0bsfSTATUS,RP0movlw0xffmovwfTRISDbcfSTATUS,RP0movfPORTD,0movwflcdfiag;讀入狀態(tài)并查詢btfsslcdfiag,5;判是否關(guān)閉gogoDisoffreturnCler;清屏movlw0xb8;設(shè)置頁地址代碼movwfpageaddmovlw0x04movwfpagenum;設(shè)置總頁數(shù)clr1movfpageadd,0callCwemovlw0x50;設(shè)置總列數(shù)movwfclmsum;80或60列movlw0x00movwfclmadd;設(shè)置起始列clr2movlw0x00callDwe;寫入00Hclardecfszclmsum,1;本頁未清完gotopageadd,1;頁號增1decfszpagenum,1;4頁未清完gotoclr1;返回繼續(xù)return有了以上的通用子程序,就可以構(gòu)造出各種顯示程序,如字符、漢字、曲線等。當(dāng)然,在這些程序執(zhí)行前必須對液晶進(jìn)行初始化。初始化的順序為:關(guān)顯示→正常顯示驅(qū)動設(shè)置→占空比設(shè)置→復(fù)位→ADC選擇→清屏→開顯示。程序如下:初始化子程序LcdinitcallDisoff;關(guān)顯示movlw0xa4;靜態(tài)顯示驅(qū)動callCwemovlw0xe2;復(fù)位callCwemovlw0xa0;ADC選擇正常輸出callCwemovlw0x9;占空比為1/32callCwecallCler;清零callDisp;開顯示return對于字符、漢字和曲線顯示的原理是類似的。它們都是以字節(jié)為單位進(jìn)行顯示。關(guān)鍵在于形成字模庫時必須保證每個上字節(jié)數(shù)據(jù)的位是與每一列
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 辦公室施工方案
- 水泥地面刷地坪漆施工方案
- 徐州安裝塑膠跑道施工方案
- 分層開挖裝車施工方案
- 佛山廠房補(bǔ)漏施工方案
- 圍堰工程施工方案
- 黑龍江室外木紋漆施工方案
- 家長會發(fā)言稿簡短
- 三下家長會語文發(fā)言稿
- 先進(jìn)雞舍發(fā)言稿
- 2022年高考(全國甲卷)語文仿真模擬卷【含答案】
- 腸瘺治療PPT醫(yī)學(xué)課件(PPT 25頁)
- 員工轉(zhuǎn)正評價表
- 道路交通事故責(zé)任認(rèn)定行政復(fù)議申請書范例
- 鄭州大學(xué)圖書館平立剖面效果圖
- 高效液相含量測定計算公式
- 公安機(jī)關(guān)通用告知書模板
- 《小學(xué)數(shù)學(xué)課程與教學(xué)》教學(xué)大綱
- 《手機(jī)攝影》全套課件(完整版)
- 礦井無計劃停電停風(fēng)安全技術(shù)措施
- 標(biāo)前合作合同協(xié)議書范本
評論
0/150
提交評論