国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

PIC16F877單片機的液晶顯示模塊接口技術

發布時間:2010-8-6 15:49    發布者:lavida
由于液晶顯示器LCD)具有功耗低、體積小、質量輕、超薄等其他顯示器無法比擬的優點,它廣泛用于各種智能型儀器和低功耗電子產品中。點陣式(或圖形式) LCD不僅可以顯示字符、數字,還可以顯示各種圖形、曲線及漢字,并且可以實現屏幕上下左右滾動、動畫、閃爍、文本特征顯示等功能,用途十分廣泛。本文在簡介液晶顯示器MG-12232的驅動器SED1520F0A的結構、功能的基礎上,介紹了PIC16F877單片機的LCD硬件接口電路和軟件編程特點。  

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

1.SED1520F0A的接口信號

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

DB0~DB7:數據總線
A0:數據/指令選擇信號。A0=1表示出現在數據總線上的是數據;A0=0,表示出現在數據總線上的是指令或讀出的狀態。
RES:接口時序類型選擇。RES=1為M6800時序,其操作信號是E和R/W;RES=0為Intel8080時序,操作信號是RD和WR。
RD(E):在Intel 8080時序時為讀,低電平有效;在M6800時序時為使能信號,是個正脈沖,在下降沿處為寫操作,在高電平時為讀操作。
WR(R/W):在Intel 8080時序時為寫,低電平有效;在M6800時序時為讀、寫選擇信號,R/W=1為讀,R/W=0為寫。
SED1520F0A與兩種總線的接口信號和時序的詳細資料見液晶顯示模塊使用手冊。  

2.MG-12232模塊的引腳說明

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

表1 MG-12232模塊的引腳定義  
序 號符 號狀 態功 能 說 明
1Vcc-邏輯電源正
2GND-邏輯電源地
3V0-液晶顯示驅動電源
4RES-接口時序類型選擇
5E2輸入主工作方式IC使能信號
6E2輸入從工作方式IC使能信號
7R/W輸入讀/寫選擇信號
8A0輸入寄存器選擇信號
9~16DB0~DB7三態數據總線(低位)
17SLA-
18SLK-背光燈負電源
  
3.PIC16F877與MG-12232模塊的接口電路

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


  
二、接口軟件編程
  

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

表2 SED1520F0A指令集  
指 令 名 稱控 制 信 號控 制 代 碼
R/WA0D7D6D5D4D3D2D1D0
顯示開/關指令001010111I/O
顯示起始行設置00110顯示起行(0~31)
設置頁地址00101110頁地址(0~3)
設置列地址00
0

列地址(0~79)
讀狀態指令10BUSYADCOFF/ONRESET0000
寫數據01顯示的數據
讀數據11顯示的數據
ADC選擇指令0010100000/1
靜態驅動開/關0010100100/1
占空比選擇0010101000/1
改寫開始指令0011100000
改寫結束指令0011101110
復位0011100010
  
2.MG-12232模塊的編程

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

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

lcdfial equ 0x20 ;存放標志位
sbdata equ lcdflag+1 ;存放顯示數據
clmadd equ sbdata+1 ;存放列地址
pageadd equ clmadd+1 ;存放頁地址
pagenum equ pageadd+1 ;存放總頁數
clmsum equ pagenum+1 ;存放總列數
intscode equ clmsum+1 ;存放指令代碼

讀液晶顯示器狀態子程序
Ste bsf STATUS,RP0;選中存儲區1
movlw 0xff
movwf TRISD ;設置D口為輸入
bcf STATUS,RP0;選中存儲區0
bsf PORTB,4 ;E1=1
bsf PORTB,1 ;R/W=1
bcf PORTB,0 ;A0=0
Tae movf PORTD,0 ;將狀態字讀入W中
movwf lcdfiag ;將W中的狀態字存入lcdfiag中
btfsc lcdflag,7 ;判斷D7位是否為0
goto Tae ;D7=1,為忙狀態
return

對液晶顯示器發指令子程序(指令保存在W寄存器中)
Cwe
Movwf intscode ;指令暫存intscode
Bcf PORTB,1 ;R/W=0
Bcf PORTB,0 ;A0=0
movf intscode,0
movwf PORTD
bcf PORTB,4 ;E1=0寫入指令
return

對液晶顯示器寫數據子程序(數據保存在W寄存器中)
Dwe
Movwf sbdata ;數據暫存sbdata
Movf clmadd,0
Call Cwe ;設置列地址
Call Ste
Bsf STATUS,RP0
clrf TRISD ;設置D口為輸出方式
bcf STATUS,RP0
bsf PORTB,4 ;E1=1
bcf PORTB,1 ;R/W=0
bsf PORTB,0 ;A0=1
movf sbdata,0
movwf PORTD
bcf PORTB,4 ;E1=0,寫入數據
call Ste
inct clmadd,1 ;列地址加1
return

液晶顯示器開顯示、關顯示和清屏子程序
Disp ;開E1顯示
movlw 0xal ;將控制命令放在W中
call Cwe
bsf PORTB,4 ;E1=1
call Ste ;判是否忙
bsf STATUS,RP0
clrf TRISD ;設置D口輸出方式
bcf STATUS,RP0
bsf PORTB,4 ;E1=1
bsf PORTB,1 ;R/W=1
bcf PORTB,0 ;A0=0
bsf STATUS,RP0
movlw 0xff
movwf TRISD ;設置D口輸入方式
bcf STATUS,RP0
movf PORTD,0
movwf lcdflag ;讀入狀態并查詢
btfsc lcdflag,5 ;是否確定打開
goto Disp
return
Disoff ;關E1顯示
movlw 0xae ;控制命令入在W中
call Cwe
bsf PORTB,4 ;E1=1
bsf PORTB,1 ;R/W=1
bcf PORTB,0 ;A0=0
bsf STATUS,RP0
movlw 0xff
movwf TRISD
bcf STATUS,RP0
movf PORTD,0
movwf lcdfiag ;讀入狀態并查詢
btfss lcdfiag,5 ;判是否關閉
gogo Disoff
return
Cler ;清屏
movlw 0xb8 ;設置頁地址代碼
movwf pageadd
movlw 0x04
movwf pagenum ;設置總頁數
clr1 movf pageadd,0
call Cwe
movlw 0x50 ;設置總列數
movwf clmsum ;80或60列
movlw 0x00
movwf clmadd ;設置起始列
clr2 movlw 0x00
call Dwe ;寫入00H
clar decfsz clmsum,1 ;本頁未清完
goto pageadd,1 ;頁號增1
decfsz pagenum,1 ;4頁未清完
goto clr1 ;返回繼續
return

有了以上的通用子程序,就可以構造出各種顯示程序,如字符、漢字、曲線等。當然,在這些程序執行前必須對液晶進行初始化。初始化的順序為:關顯示→正常顯示驅動設置→占空比設置→復位→ADC選擇→清屏→開顯示。程序如下:
初始化子程序
Lcdinit
call Disoff ;關顯示
movlw 0xa4 ;靜態顯示驅動
call Cwe
movlw 0xe2 ;復位
call Cwe
movlw 0xa0 ;ADC選擇正常輸出
call Cwe
movlw 0x9 ;占空比為1/32
call Cwe
call Cler ;清零
call Disp ;開顯示
return

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

結束語

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

以上接口電路和程序在PIC試驗板上調試通過,可作為其他單片機與LCD接口的參考。
本文地址:http://m.qingdxww.cn/thread-19886-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
xulidejia 發表于 2012-8-9 08:54:58
謝謝
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關在線工具

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国内精品久久国产 | 国产一区二区福利久久 | 四虎免费永久网站入口 | 免费国产之a视频 | 国产成人精品一区二区三在线观看 | 久久精品在这里 | 久操网视频 | 亚洲毛片在线 | 亚洲福利国产精品17p | 澳门一级片 | 黑人一级大毛片 | 久久国产精品视频 | 久久笫一福利免费导航 | 麻豆天美果冻星空91制片厂 | 欧美日韩天堂 | 亚洲无线码一区二区三区 | 久久久久综合网 | 国产三级精品91三级在专区 | 四虎影院大全 | 国产四虎精品 | 成人黄色网站视频 | 成人免费视频在线看 | 日本一区二区三区免费看 | 八戒八戒看片在线观看网 | 国产女人18毛片水 | 国产精品久久精品福利网站 | 国产精品综合在线 | α片毛片免费看 | 欧美一区二区三区在线 | 九九免费精品视频在这里 | 欧美专区一区二区三区 | 韩国一级黄色毛片 | 免费看的黄色网址 | 一区二区三区四区视频在线观看 | 国产精品久久久久久影视 | 国产a视频精品免费观看 | 视频国产91 | 国产福利一区二区精品免费 | 99国产在线观看 | 成人黄色网站视频 | 久久精品免视着国产成人 |