小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

基于HD44780的字符型液晶顯示模塊接口的單片機實現(xiàn)

 cangsiou 2015-09-26

基于HD44780的LCD的實現(xiàn)

—4Bit 接口

 

前言

  HD44780是點陣式的LCD控制器,它能顯示英文字母、阿拉伯?dāng)?shù)字、日文片假名和一般性的符號。微處理器可以使用2種方式來驅(qū)動他4-bit或者8-bit。

 

下面是HD44780的組成圖(xiaobin)



網(wǎng)上有許多基于8-bit的文章,我們主要介紹的是另外的一種實現(xiàn)方式:4-bit


 

一、簡介

針對上面的組成圖,我們做一簡單介紹。詳細(xì)信息請參見HD44780的數(shù)據(jù)手冊。

1.1 寄存器

HD44780有兩個8位寄存器,他們分別是指令寄存器(IR)和數(shù)據(jù)寄存器(DR)。

 

IR寄存器存儲指令代碼,比如顯示清除、光標(biāo)移動、顯示數(shù)據(jù)RAM(DDRAM)和字符生成器RAM(CGRAM)的地址信息。對于MPU來說IR寄存器是只寫的。

 

DR把暫存數(shù)據(jù)寫入DDRAM或CGRAM以及從DDRAM或CGRAM中讀取暫存數(shù)據(jù)。MPU寫入數(shù)據(jù)到DR時,DR會使用內(nèi)部操作自動寫入數(shù)據(jù)到DDRAM或CGRAM。DR已同樣的方式從DDRAM或CGRAM中讀取數(shù)據(jù)。當(dāng)寫入的地址信息是指向IR的時候,數(shù)據(jù)是DR從DDRAM或CGRAM中讀取的。也就是說,我們無論是發(fā)送命令,還是發(fā)送數(shù)據(jù),存儲這些信息的是DDRAM或CGRAM。

 

我們使用的外部接口RS就是來做選擇寄存器的。是使用IR,還是DR。這決定了,我們發(fā)送過去的信息是命令還是顯示數(shù)據(jù)。

 

 

1.2 忙標(biāo)志(BF)

當(dāng)BF=1時,表明HD44780在進(jìn)行內(nèi)部操作。BF的輸出在DB7口。

 

 

1.3 地址累加器(AC)

當(dāng)一個指令把地址信息寫到IR,則IR發(fā)送這個信息給AC。

 

之后寫到(或讀)DDRAM或CGRAM,AC是自動累加1的。AC的輸出DB0至DB6

 

表1 寄存器選擇(Register Selection)

RS

R/W

Operation

0

0

IR write as an internal operation(display clear, etc.)

0

1

Read busy flag(DB7) and address counter(DB0 to DB6)

1

0

DR write as an internal operation(DR to DDRAM or CGRAM)

1

1

DR read as an internal operation(DR to DDRAM or CGRAM to DR)

 

 

二、程序?qū)崿F(xiàn)

 

編寫程序之前,我們先要知道HD44780的字符代碼和字模。

 

圖2: 基本字符代碼和字模(ROM Code:A00)



圖2: 擴展的字符代碼和字模(ROM Code:A02)


程序流程:





HD44780 指令

Instruction

RS

R/W

DB7

DB6

DB5

DB4

DB3

DB2

DB1

DB0

Clear display

0

0

0

0

0

0

0

0

0

1

Return home

0

0

0

0

0

0

0

0

1

-

Entry mode set

0

0

0

0

0

0

0

1

I/D

S

Display on/off control

0

0

0

0

0

0

1

D

C

B

Cursor or display shift

0

0

0

0

0

1

S/C

R/L

-

-

Function set

0

0

0

0

1

DL

N

F

-

-

Set CGRAM address

0

0

0

1

CGRAM Address

Set DDRAM address

0

0

1

DDRAM Address

Read busy flag & address

0

1

BF

DDRAM Address

Write RAM

1

0

Write Data

Read RAM

1

1

Read Data

 

 

程序代碼:(xiaobin演示之用)

__CONFIG   _CP_OFF &  _WDT_OFF & _PWRTE_ON & _XT_OSC	LIST	   P=16F84A	INCLUDE  <P16F84A.INC>	CBLOCK 0x0C	ENDC	ORG	0x00Begin	call	LCD_Init	movlw	'H'	call	LCD_Write	movlw	'e'	call	LCD_Write	movlw	'l'	call	LCD_Write	movlw	'l'	call	LCD_Write	movlw	'o'	call	LCD_Write	sleep	END

 

電路圖:



    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多