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

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

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

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

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

  引言

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

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

  1.SED1520F0A的接口信號

  SED1520F0A屬行列驅動(dòng)及控制合一的小規模液晶顯示驅動(dòng)芯片,電路簡(jiǎn)單,經(jīng)濟實(shí)用,內含振蕩器,只須外接振蕩電阻即可工作。模塊工作的穩定性好。SED1520F0A與微處理器的接口信號如下。

  DB0~DB7:數據總線(xiàn)。

  A0:數據/指令選擇信號。A0=1表示出現在數據總線(xiàn)上的是數據;A0=0,表示出現在數據總線(xiàn)上的是指令或讀出的狀態(tài)。

  RES:接口時(shí)序類(lèi)型選擇。RES=1為M6800時(shí)序,其操作信號是E和R/W;RES=0為Intel8080時(shí)序,操作信號是RD和WR。

  RD(E):在Intel8080時(shí)序時(shí)為讀,低電平有效;在M6800時(shí)序時(shí)為使能信號,是個(gè)正脈沖,在下降沿處為寫(xiě)操作,在高電平時(shí)為讀操作。

  WR(R/W):在Intel8080時(shí)序時(shí)為寫(xiě),低電平有效;在M6800時(shí)序時(shí)為讀、寫(xiě)選擇信號,R/W=1為讀,R/W=0為寫(xiě)。

  SED1520F0A與兩種總線(xiàn)的接口信號和時(shí)序的詳細資料見(jiàn)液晶顯示模塊使用手冊。

  2.MG-12232模塊的引腳說(shuō)明

  MG-12232模塊共有18個(gè)引腳,各引腳定義如表1所列。

  表1MG-12232模塊的引腳定義

  序號符號狀態(tài)功能說(shuō)明1Vcc-邏輯電源正2GND-邏輯電源地3V0-液晶顯示驅動(dòng)電源4RES-接口時(shí)序類(lèi)型選擇5E2輸入主工作方式IC使能信號6E2輸入從工作方式IC使能信號7R/W輸入讀/寫(xiě)選擇信號8A0輸入寄存器選擇信號9~16DB0~DB7三態(tài)數據總線(xiàn)(低位)17SLA-18SLK-背光燈負電源

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

  現以功能強、價(jià)格低的PIC16F877為例說(shuō)明PIC與MG-12232模塊的硬件接口電路。其接口控制時(shí)序采用M6800操作時(shí)序,這樣SED1520F0A引出的控制信號R/W,A0,E1和E2由PIC16F877的I/O端口portb的4個(gè)腳控制。接口電路如圖1所示。圖中利用可調電阻R3實(shí)現液晶的背光亮度調節,直接用電阻R2驅動(dòng)液晶的背光燈。由于PIC16F877的位操作指令豐富,所以用軟件不難模擬出M6800操作時(shí)序。

  二、接口軟件編程

  1.SED1520F0A指令集

  SED1520F0A液晶顯示驅動(dòng)器有13條指令。表2所列的以與M6800系列MPU接口為例(RES=1)而總結出的指令。

  表2SED1520F0A指令集

  指令名稱(chēng)控制信號控制代碼R/WA0D7D6D5D4D3D2D1D0顯示開(kāi)/關(guān)指令001010111I/O顯示起始行設置00110顯示起行(0~31)設置頁(yè)地址00101110頁(yè)地址(0~3)設置列地址00

  列地址(0~79)

  讀狀態(tài)指令10BUSYADCOFF/ONRESET0000寫(xiě)數據01顯示的數據讀數據11顯示的數據ADC選擇指令0010100000/1靜態(tài)驅動(dòng)開(kāi)/關(guān)0010100100/1占空比選擇0010101000/1改寫(xiě)開(kāi)始指令0011100000改寫(xiě)結束指令0011101110復位0011100010

  2.MG-12232模塊的編程

  下面是以圖1的接口電路為例編寫(xiě)的只含E1主方式的程序(表1中E1=1,E2=0)。E2從方式(表1中E1=0,E2=1)的程序類(lèi)推。

  在系統程序的初始化部分應該對程序中用到的寄存器和臨時(shí)變量作說(shuō)明,如:

  lcdfialequ0x20;存放標志位

  sbdataequlcdflag+1;存放顯示數據

  clmaddequsbdata+1;存放列地址

  pageaddequclmadd+1;存放頁(yè)地址

  pagenumequpageadd+1;存放總頁(yè)數

  clmsumequpagenum+1;存放總列數

  intscodeequclmsum+1;存放指令代碼

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

  StebsfSTATUS,RP0;選中存儲區1

  movlw0xff

  movwfTRISD;設置D口為輸入

  bcfSTATUS,RP0;選中存儲區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寫(xiě)入指令

  return

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

  Dwe

  Movwfsbdata;數據暫存sbdata

  Movfclmadd,0

  CallCwe;設置列地址

  CallSte

  BsfSTATUS,RP0

  clrfTRISD;設置D口為輸出方式

  bcfSTATUS,RP0

  bsfPORTB,4;E1=1

  bcfPORTB,1;R/W=0

  bsfPORTB,0;A0=1

  movfsbdata,0

  movwfPORTD

  bcfPORTB,4;E1=0,寫(xiě)入數據

  callSte

  inctclmadd,1;列地址加1

  return

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

  Disp;開(kāi)E1顯示

  movlw0xal;將控制命令放在W中

  callCwe

  bsfPORTB,4;E1=1

  callSte;判是否忙

  bsfSTATUS,RP0

  clrfTRISD;設置D口輸出方式

  bcfSTATUS,RP0

  bsfPORTB,4;E1=1

  bsfPORTB,1;R/W=1

  bcfPORTB,0;A0=0

  bsfSTATUS,RP0

  movlw0xff

  movwfTRISD;設置D口輸入方式

  bcfSTATUS,RP0

  movfPORTD,0

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

  btfsclcdflag,5;是否確定打開(kāi)

  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)并查詢(xún)

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

  gogoDisoff

  return

  Cler;清屏

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

  movwfpageadd

  movlw0x04

  movwfpagenum;設置總頁(yè)數

  clr1movfpageadd,0

  callCwe

  movlw0x50;設置總列數

  movwfclmsum;80或60列

  movlw0x00

  movwfclmadd;設置起始列

  clr2movlw0x00

  callDwe;寫(xiě)入00H

  clardecfszclmsum,1;本頁(yè)未清完

  gotopageadd,1;頁(yè)號增1

  decfszpagenum,1;4頁(yè)未清完

  gotoclr1;返回繼續

  return

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

  初始化子程序

  Lcdinit

  callDisoff;關(guān)顯示

  movlw0xa4;靜態(tài)顯示驅動(dòng)

  callCwe

  movlw0xe2;復位

  callCwe

  movlw0xa0;ADC選擇正常輸出

  callCwe

  movlw0x9;占空比為1/32

  callCwe

  callCler;清零

  callDisp;開(kāi)顯示

  return

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

  結束語(yǔ)

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

  以上接口電路和程

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

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

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

定點(diǎn)停車(chē)技術(shù)的操作方法總結07-01

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

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

cad打開(kāi)文件顯示圖形文件無(wú)效的解決辦法06-16

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

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

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

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

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

99久久精品免费看国产一区二区三区|baoyu135国产精品t|40分钟97精品国产最大网站|久久综合丝袜日本网|欧美videosdesexo肥婆