音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

PIC16F877單片機(jī)的液晶顯示模塊接口技術(shù)

出處:wangxueq 發(fā)布于:2008-08-19 16:50:03

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

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

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

  1.SED1520F0A的接口信號(hào)
  SED1520F0A屬行列驅(qū)動(dòng)及控制合一的小規(guī)模液晶顯示驅(qū)動(dòng)芯片,電路簡(jiǎn)單,經(jīng)濟(jì)實(shí)用,內(nèi)含振蕩器,只須外接振蕩電阻即可工作。模塊工作的穩(wěn)定性好。SED1520F0A與微處理器的接口信號(hào)如下。
  DB0~DB7:數(shù)據(jù)總線。
  A0:數(shù)據(jù)/指令選擇信號(hào)。A0=1表示出現(xiàn)在數(shù)據(jù)總線上的是數(shù)據(jù);A0=0,表示出現(xiàn)在數(shù)據(jù)總線上的是指令或讀出的狀態(tài)。
  RES:接口時(shí)序類型選擇。RES=1為M6800時(shí)序,其操作信號(hào)是E和R/W;RES=0為Intel8080時(shí)序,操作信號(hào)是RD和WR。
  RD(E):在Intel 8080時(shí)序時(shí)為讀,低電平有效;在M6800時(shí)序時(shí)為使能信號(hào),是個(gè)正脈沖,在下降沿處為寫操作,在高電平時(shí)為讀操作。
  WR(R/W):在Intel 8080時(shí)序時(shí)為寫,低電平有效;在M6800時(shí)序時(shí)為讀、寫選擇信號(hào),R/W=1為讀,R/W=0為寫。
  SED1520F0A與兩種總線的接口信號(hào)和時(shí)序的詳細(xì)資料見液晶顯示模塊使用手冊(cè)。

  2.MG-12232模塊的引腳說(shuō)明
  MG-12232模塊共有18個(gè)引腳,各引腳定義如表1所列。

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

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

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

  二、接口軟件編程

      1.SED1520F0A指令集

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

       表2 SED1520F0A指令集

指 令 名 稱 控 制 信 號(hào) 控  制  代  碼
R/W   A0 D7 D6 D5 D4 D3 D2 D1 D0
顯示開/關(guān)指令 0 0 1 0 1 0 1 1 1 I/O
顯示起始行設(shè)置 0 0 1 1 0 顯示起行(0~31)
設(shè)置頁(yè)地址 0 0 1 0 1 1 1 0 頁(yè)地址(0~3)
設(shè)置列地址 0 0
0
列地址(0~79)
讀狀態(tài)指令 1 0 BUSY ADC OFF/ON RESET 0 0 0 0
寫數(shù)據(jù) 0 1 顯示的數(shù)據(jù)
讀數(shù)據(jù) 1 1 顯示的數(shù)據(jù)
ADC選擇指令 0 0 1 0 1 0 0 0 0 0/1
靜態(tài)驅(qū)動(dòng)開/關(guān) 0 0 1 0 1 0 0 1 0 0/1
占空比選擇 0 0 1 0 1 0 1 0 0 0/1
改寫開始指令 0 0 1 1 1 0 0 0 0 0
改寫結(jié)束指令 0 0 1 1 1 0 1 1 1 0
復(fù)位 0 0 1 1 1 0 0 0 1 0

  2.MG-12232模塊的編程
  下面是以圖1的接口電路為例編寫的只含E1主方式的程序(表1中E1=1,E2=0)。E2從方式(表1中E1=0,E2=1)的程序類推。
  在系統(tǒng)程序的初始化部分應(yīng)該對(duì)程序中用到的寄存器和臨時(shí)變量作說(shuō)明,如:
       lcdfial equ 0x20 ;存放標(biāo)志位
       sbdata equ lcdflag+1 ;存放顯示數(shù)據(jù)
       clmadd equ sbdata+1 ;存放列地址
       pageadd equ clmadd+1 ;存放頁(yè)地址
       pagenum equ pageadd+1 ;存放總頁(yè)數(shù)
       clmsum equ pagenum+1 ;存放總列數(shù)
       intscode equ clmsum+1 ;存放指令代碼
       讀液晶顯示器狀態(tài)子程序
       Ste bsf STATUS,RP0;選中存儲(chǔ)區(qū)1
       movlw 0xff
       movwf TRISD ;設(shè)置D口為輸入
       bcf STATUS,RP0;選中存儲(chǔ)區(qū)0
       bsf PORTB,4 ;E1=1
       bsf PORTB,1 ;R/W=1
       bcf PORTB,0 ;A0=0
       Tae movf PORTD,0 ;將狀態(tài)字讀入W中
       movwf lcdfiag ;將W中的狀態(tài)字存入lcdfiag中
       btfsc lcdflag,7 ;判斷D7位是否為0
       goto Tae ;D7=1,為忙狀態(tài)
       return
       對(duì)液晶顯示器發(fā)指令子程序(指令保存在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
       對(duì)液晶顯示器寫數(shù)據(jù)子程序(數(shù)據(jù)保存在W寄存器中)
       Dwe
       Movwf sbdata ;數(shù)據(jù)暫存sbdata
       Movf clmadd,0
       Call Cwe ;設(shè)置列地址
       Call Ste
       Bsf STATUS,RP0
       clrf TRISD ;設(shè)置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,寫入數(shù)據(jù)
       call Ste
       inct clmadd,1 ;列地址加1
       return
       液晶顯示器開顯示、關(guān)顯示和清屏子程序
       Disp ;開E1顯示
       movlw 0xal ;將控制命令放在W中
       call Cwe
       bsf PORTB,4 ;E1=1
       call Ste ;判是否忙
       bsf STATUS,RP0
       clrf TRISD ;設(shè)置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 ;設(shè)置D口輸入方式
       bcf STATUS,RP0
       movf PORTD,0
       movwf lcdflag ;讀入狀態(tài)并查詢
       btfsc lcdflag,5 ;是否確定打開
       goto Disp
       return
       Disoff ;關(guān)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 ;讀入狀態(tài)并查詢
       btfss lcdfiag,5 ;判是否關(guān)閉
       gogo Disoff
       return
       Cler ;清屏
       movlw 0xb8 ;設(shè)置頁(yè)地址代碼
       movwf pageadd
       movlw 0x04
       movwf pagenum ;設(shè)置總頁(yè)數(shù)
       clr1 movf pageadd,0
       call Cwe
       movlw 0x50 ;設(shè)置總列數(shù)
       movwf clmsum ;80或60列
       movlw 0x00
       movwf clmadd ;設(shè)置起始列
       clr2 movlw 0x00
       call Dwe ;寫入00H
       clar decfsz clmsum,1 ;本頁(yè)未清完
       goto pageadd,1 ;頁(yè)號(hào)增1
       decfsz pagenum,1 ;4頁(yè)未清完
       goto clr1 ;返回繼續(xù)
        return
  有了以上的通用子程序,就可以構(gòu)造出各種顯示程序,如字符、漢字、曲線等。當(dāng)然,在這些程序執(zhí)行前必須對(duì)液晶進(jìn)行初始化。初始化的順序?yàn)椋宏P(guān)顯示→正常顯示驅(qū)動(dòng)設(shè)置→占空比設(shè)置→復(fù)位→ADC選擇→清屏→開顯示。程序如下:
 初始化子程序
Lcdinit
call Disoff ;關(guān)顯示
movlw 0xa4 ;靜態(tài)顯示驅(qū)動(dòng)
call Cwe
movlw 0xe2 ;復(fù)位
call Cwe
movlw 0xa0 ;ADC選擇正常輸出
call Cwe
movlw 0x9 ;占空比為1/32
call Cwe
call Cler ;清零
call Disp ;開顯示
return
  對(duì)于字符、漢字和曲線顯示的原理是類似的。它們都是以字節(jié)為單位進(jìn)行顯示。關(guān)鍵在于形成字模庫(kù)時(shí)必須保證每個(gè)上字節(jié)數(shù)據(jù)的位是與每一列下面一個(gè)點(diǎn)相對(duì)應(yīng),位與每一列上面點(diǎn)相對(duì)應(yīng)。當(dāng)然,這可以用專門的軟件來(lái)生成相應(yīng)的代碼,然后再將這些代碼逐字節(jié)地寫到相應(yīng)的頁(yè)和列。

  結(jié)束語(yǔ)

  PIC單片機(jī)與液晶模塊的接口只在硬件上滿足液晶模塊的接口要求,軟件上能夠模擬出要求的時(shí)序,并且初始化正確后,就可以隨心所欲地顯示信息了。
以上接口電路和程序在PIC試驗(yàn)板上調(diào)試通過(guò),可作為其他單片機(jī)與LCD接口的參考。
  欲知詳情,請(qǐng)登錄維庫(kù)電子市場(chǎng)網(wǎng)(m.58mhw.cn


  
關(guān)鍵詞:PIC16F877單片機(jī)的液晶顯示模塊接口技術(shù)INTELPIC16F8778080SED1520F0A電路顯示器單片機(jī)

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

集成電路5AGXMB1G4F35C5G INTEL電子元器件
廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫(kù)提出的寶貴意見,您的參與是維庫(kù)提升服務(wù)的動(dòng)力!意見一經(jīng)采納,將有感恩紅包奉上哦!