久久综合丝袜日本网手机版,日韩欧美中文字幕在线三区,亚洲精品国产品国语在线,极品在线观看视频婷婷

      • 單片機的圖形液顯示模塊接口技術(shù)操作方法

        時間:2022-06-28 09:16:31 圖形圖像/多媒體 我要投稿
        • 相關(guān)推薦

        單片機的圖形液顯示模塊接口技術(shù)操作方法

          摘要:詳述PIC16F877單片機的MG-12232圖形點陣式液晶顯示器的硬件接口電路特點和接口軟件編程方法。

          關(guān)鍵詞:PIC16F877LCD接口

          引言

          由于液晶顯示器(LCD)具有功耗低、體積小、質(zhì)量輕、超薄等其他顯示器無法比擬的優(yōu)點,它廣泛用于各種智能型儀器和低功耗電子產(chǎn)品中。點陣式(或圖形式)LCD不僅可以顯示字符、數(shù)字,還可以顯示各種圖形、曲線及漢字,并且可以實現(xiàn)屏幕上下左右滾動、動畫、閃爍、文本特征顯示等功能,用途十分廣泛。本文在簡介液晶顯示器MG-12232的驅(qū)動器SED1520F0A的結(jié)構(gòu)、功能的基礎(chǔ)上,介紹了PIC16F877單片機的LCD硬件接口電路和軟件編程特點。

          一、PIC16F877與MG-12232的硬件接口電路

          1.SED1520F0A的接口信號

          SED1520F0A屬行列驅(qū)動及控制合一的小規(guī)模液晶顯示驅(qū)動芯片,電路簡單,經(jīng)濟實用,內(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與兩種總線的接口信號和時序的詳細資料見液晶顯示模塊使用手冊。

          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-背光燈負電源

          3.PIC16F877與MG-12232模塊的接口電路

          現(xiàn)以功能強、價格低的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è)置列地址00

          列地址(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;存放標志位

          sbdataequlcdflag+1;存放顯示數(shù)據(jù)

          clmaddequsbdata+1;存放列地址

          pageaddequclmadd+1;存放頁地址

          pagenumequpageadd+1;存放總頁數(shù)

          clmsumequpagenum+1;存放總列數(shù)

          intscodeequclmsum+1;存放指令代碼

          讀液晶顯示器狀態(tài)子程序

          StebsfSTATUS,RP0;選中存儲區(qū)1

          movlw0xff

          movwfTRISD;設(shè)置D口為輸入

          bcfSTATUS,RP0;選中存儲區(qū)0

          bsfPORTB,4;E1=1

          bsfPORTB,1;R/W=1

          bcfPORTB,0;A0=0

          TaemovfPORTD,0;將狀態(tài)字讀入W中

          movwflcdfiag;將W中的狀態(tài)字存入lcdfiag中

          btfsclcdflag,7;判斷D7位是否為0

          gotoTae;D7=1,為忙狀態(tài)

          return

          對液晶顯示器發(fā)指令子程序(指令保存在W寄存器中)

          Cwe

          Movwfintscode;指令暫存intscode

          BcfPORTB,1;R/W=0

          BcfPORTB,0;A0=0

          mo

          vfintscode,0

          movwfPORTD

          bcfPORTB,4;E1=0寫入指令

          return

          對液晶顯示器寫數(shù)據(jù)子程序(數(shù)據(jù)保存在W寄存器中)

          Dwe

          Movwfsbdata;數(shù)據(jù)暫存sbdata

          Movfclmadd,0

          CallCwe;設(shè)置列地址

          CallSte

          BsfSTATUS,RP0

          clrfTRISD;設(shè)置D口為輸出方式

          bcfSTATUS,RP0

          bsfPORTB,4;E1=1

          bcfPORTB,1;R/W=0

          bsfPORTB,0;A0=1

          movfsbdata,0

          movwfPORTD

          bcfPORTB,4;E1=0,寫入數(shù)據(jù)

          callSte

          inctclmadd,1;列地址加1

          return

          液晶顯示器開顯示、關(guān)顯示和清屏子程序

          Disp;開E1顯示

          movlw0xal;將控制命令放在W中

          callCwe

          bsfPORTB,4;E1=1

          callSte;判是否忙

          bsfSTATUS,RP0

          clrfTRISD;設(shè)置D口輸出方式

          bcfSTATUS,RP0

          bsfPORTB,4;E1=1

          bsfPORTB,1;R/W=1

          bcfPORTB,0;A0=0

          bsfSTATUS,RP0

          movlw0xff

          movwfTRISD;設(shè)置D口輸入方式

          bcfSTATUS,RP0

          movfPORTD,0

          movwflcdflag;讀入狀態(tài)并查詢

          btfsclcdflag,5;是否確定打開

          gotoDisp

          return

          Disoff;關(guān)E1顯示

          movlw0xae;控制命令入在W中

          callCwe

          bsfPORTB,4;E1=1

          bsfPORTB,1;R/W=1

          bcfPORTB,0;A0=0

          bsfSTATUS,RP0

          movlw0xff

          movwfTRISD

          bcfSTATUS,RP0

          movfPORTD,0

          movwflcdfiag;讀入狀態(tài)并查詢

          btfsslcdfiag,5;判是否關(guān)閉

          gogoDisoff

          return

          Cler;清屏

          movlw0xb8;設(shè)置頁地址代碼

          movwfpageadd

          movlw0x04

          movwfpagenum;設(shè)置總頁數(shù)

          clr1movfpageadd,0

          callCwe

          movlw0x50;設(shè)置總列數(shù)

          movwfclmsum;80或60列

          movlw0x00

          movwfclmadd;設(shè)置起始列

          clr2movlw0x00

          callDwe;寫入00H

          clardecfszclmsum,1;本頁未清完

          gotopageadd,1;頁號增1

          decfszpagenum,1;4頁未清完

          gotoclr1;返回繼續(xù)

          return

          有了以上的通用子程序,就可以構(gòu)造出各種顯示程序,如字符、漢字、曲線等。當(dāng)然,在這些程序執(zhí)行前必須對液晶進行初始化。初始化的順序為:關(guān)顯示→正常顯示驅(qū)動設(shè)置→占空比設(shè)置→復(fù)位→ADC選擇→清屏→開顯示。程序如下:

          初始化子程序

          Lcdinit

          callDisoff;關(guān)顯示

          movlw0xa4;靜態(tài)顯示驅(qū)動

          callCwe

          movlw0xe2;復(fù)位

          callCwe

          movlw0xa0;ADC選擇正常輸出

          callCwe

          movlw0x9;占空比為1/32

          callCwe

          callCler;清零

          callDisp;開顯示

          return

          對于字符、漢字和曲線顯示的原理是類似的。它們都是以字節(jié)為單位進行顯示。關(guān)鍵在于形成字模庫時必須保證每個上字節(jié)數(shù)據(jù)的最高位是與每一列最下面一個點相對應(yīng),最低位與每一列最上面點相對應(yīng)。當(dāng)然,這可以用專門的軟件來生成相應(yīng)的代碼,然后再將這些代碼逐字節(jié)地寫到相應(yīng)的頁和列。

          結(jié)束語

          PIC單片機與液晶模塊的接口只在硬件上滿足液晶模塊的接口要求,軟件上能夠模擬出要求的時序,并且初始化正確后,就可以隨心所欲地顯示信息了。

          以上接口電路和程

          序在PIC試驗板上調(diào)試通過,可作為其他單片機與LCD接口的參考。

        【單片機的圖形液顯示模塊接口技術(shù)操作方法】相關(guān)文章:

        針灸技術(shù)刺絡(luò)的操作方法06-30

        定點停車技術(shù)的操作方法總結(jié)07-01

        基于STM32單片機的智能家居模塊設(shè)計論文07-03

        單片機的電子技術(shù)應(yīng)用及開發(fā)技術(shù)論文07-04

        cad打開文件顯示圖形文件無效的解決辦法06-16

        單片機的電子技術(shù)應(yīng)用論文07-04

        計算機接口技術(shù)求職信07-05

        單片機開發(fā)應(yīng)用電子技術(shù)論文07-03

        大型股票的操作方法07-04

        《圖形的移動與復(fù)制》信息技術(shù)教學(xué)反思07-02