日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 智能硬件 > 智能硬件
[導(dǎo)讀]詳述PIC16F877單片機(jī)的MG-12232圖形點(diǎn)陣式液晶顯示器的硬件接口電路特點(diǎn)和接口軟件編程方法。

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

    關(guān)鍵詞:PIC16F877 LCD 接口

引言

由于液晶顯示器(LCD)具有功耗低、體積小、質(zhì)量輕、超薄等其他顯示器無法比擬的優(yōu)點(diǎn),它廣泛用于各種智能型儀器和低功耗電子產(chǎn)品中。點(diǎn)陣式(或圖形式)LCD不僅可以顯示字符、數(shù)字,還可以顯示各種圖形、曲線及漢字,并且可以實(shí)現(xiàn)屏幕上下左右滾動(dòng)、動(dòng)畫、閃爍、文本特征顯示等功能,用途十分廣泛。本文在簡介液晶顯示器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)芯片,電路簡單,經(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ì)資料見液晶顯示模塊使用手冊。

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

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

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

序  號(hào) 符  號(hào) 狀  態(tài) 功  能  說  明
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為例說明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è)置頁地址 0 0 1 0 1 1 1 0 頁地址(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)該對程序中用到的寄存器和臨時(shí)變量作說明,如:

lcdfial equ 0x20 ;存放標(biāo)志位

sbdata equ lcdflag+1 ;存放顯示數(shù)據(jù)

clmadd equ sbdata+1 ;存放列地址

pageadd equ clmadd+1 ;存放頁地址

pagenum equ pageadd+1 ;存放總頁數(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

對液晶顯示器發(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

對液晶顯示器寫數(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è)置頁地址代碼

movwf pageadd

movlw 0x04

movwf pagenum ;設(shè)置總頁數(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 ;本頁未清完

goto pageadd,1 ;頁號(hào)增1

decfsz pagenum,1 ;4頁未清完

goto clr1 ;返回繼續(xù)

return

有了以上的通用子程序,就可以構(gòu)造出各種顯示程序,如字符、漢字、曲線等。當(dāng)然,在這些程序執(zhí)行前必須對液晶進(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

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

結(jié)束語

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

以上接口電路和程序在PIC試驗(yàn)板上調(diào)試通過,可作為其他單片機(jī)與LCD接口的參考。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

8位單片機(jī)在嵌入式設(shè)計(jì)領(lǐng)域已經(jīng)成為半個(gè)多世紀(jì)以來的主流選擇。盡管嵌入式系統(tǒng)市場日益復(fù)雜,8位單片機(jī)依然不斷發(fā)展,積極應(yīng)對新的挑戰(zhàn)和系統(tǒng)需求。如今,Microchip推出的8位PIC?和AVR?單片機(jī)系列,配備了先進(jìn)的獨(dú)立...

關(guān)鍵字: 單片機(jī) 嵌入式 CPU

在嵌入式系統(tǒng)開發(fā)中,程序燒錄是連接軟件設(shè)計(jì)與硬件實(shí)現(xiàn)的關(guān)鍵環(huán)節(jié)。當(dāng)前主流的單片機(jī)燒錄技術(shù)已形成ICP(在電路編程)、ISP(在系統(tǒng)編程)、IAP(在應(yīng)用編程)三大技術(shù)體系,分別對應(yīng)開發(fā)調(diào)試、量產(chǎn)燒錄、遠(yuǎn)程升級(jí)等不同場景。...

關(guān)鍵字: 單片機(jī) ISP ICP IAP 嵌入式系統(tǒng)開發(fā)

在嵌入式系統(tǒng)開發(fā)中,看門狗(Watchdog Timer, WDT)是保障系統(tǒng)可靠性的核心組件,其初始化時(shí)機(jī)的選擇直接影響系統(tǒng)抗干擾能力和穩(wěn)定性。本文從硬件架構(gòu)、軟件流程、安全規(guī)范三個(gè)維度,系統(tǒng)分析看門狗初始化的最佳實(shí)踐...

關(guān)鍵字: 單片機(jī) 看門狗 嵌入式系統(tǒng)

本文中,小編將對單片機(jī)予以介紹,如果你想對它的詳細(xì)情況有所認(rèn)識(shí),或者想要增進(jìn)對它的了解程度,不妨請看以下內(nèi)容哦。

關(guān)鍵字: 單片機(jī) 開發(fā)板 Keil

隨著單片機(jī)系統(tǒng)越來越廣泛地應(yīng)用于消費(fèi)類電子、醫(yī)療、工業(yè)自動(dòng)化、智能化儀器儀表、航空航天等各領(lǐng)域,單片機(jī)系統(tǒng)面臨著電磁干擾(EMI)日益嚴(yán)重的威脅。電磁兼容性(EMC)包含系統(tǒng)的發(fā)射和敏感度兩方面的問題。

關(guān)鍵字: 單片機(jī) 電磁兼容

以下內(nèi)容中,小編將對單片機(jī)的相關(guān)內(nèi)容進(jìn)行著重介紹和闡述,希望本文能幫您增進(jìn)對單片機(jī)的了解,和小編一起來看看吧。

關(guān)鍵字: 單片機(jī) 復(fù)位電路

在這篇文章中,小編將為大家?guī)韱纹瑱C(jī)的相關(guān)報(bào)道。如果你對本文即將要講解的內(nèi)容存在一定興趣,不妨繼續(xù)往下閱讀哦。

關(guān)鍵字: 單片機(jī) 異常復(fù)位

今天,小編將在這篇文章中為大家?guī)韱纹瑱C(jī)的有關(guān)報(bào)道,通過閱讀這篇文章,大家可以對它具備清晰的認(rèn)識(shí),主要內(nèi)容如下。

關(guān)鍵字: 單片機(jī) 仿真器

單片機(jī)將是下述內(nèi)容的主要介紹對象,通過這篇文章,小編希望大家可以對它的相關(guān)情況以及信息有所認(rèn)識(shí)和了解,詳細(xì)內(nèi)容如下。

關(guān)鍵字: 單片機(jī) 中斷 boot

一直以來,單片機(jī)都是大家的關(guān)注焦點(diǎn)之一。因此針對大家的興趣點(diǎn)所在,小編將為大家?guī)韱纹瑱C(jī)的相關(guān)介紹,詳細(xì)內(nèi)容請看下文。

關(guān)鍵字: 單片機(jī) 數(shù)字信號(hào) 模擬信號(hào)
關(guān)閉