日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

12864液晶 介绍

發布時間:2024/8/1 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 12864液晶 介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本小節目錄:

??????????? 8.1,12864液晶的簡介

??????????? 8.2,12864液晶連接單片機原理圖?????????

??????????? 8.3,12864時序圖的分析和程序編寫

????? 液晶是非常能給人視覺享受的東西啦!例如手機的液晶屏,液晶電視,………,浪漫點的還有液晶燈,迷人的液晶鞋,炫酷的液晶手表,,,,,,等等!但不管怎么說,還是學會使用最簡單的液晶吧!

8.1.1)12864液晶的簡介

?常用的12864液晶模塊有黃綠背光的、藍色背光的,有帶/不帶字庫的,其控制芯片主要有如KS0108、T6863、ST7920等,這里本人用的為ST7920為控制芯片的YB12864-ZB液晶屏。但不管用什么類型的12864,其使用操作都大同小異!當然,如果會使用1602了,12864的使用也變得事半功倍啦!

????

1)關于12864液晶的說明:

???? 1,可顯示漢字及圖形,內置8192個中文漢字(16X16點陣)、128個字符(8X16點陣)及64X256點陣顯示RAM(GDRAM),顯然比1602高級!

???? 2,可以選擇8位并行或者4位串行操作

???? 3,可以顯示128列× 64行內容,可實現文字與圖形混合顯示功能、可以自由的設置光標、顯示移位功能、垂直畫面旋轉功能、反白顯示功能、休眠模式等

??

??????????????????????????? 圖1 ?12864液晶實物圖

?

?

2)12864液晶接口說明:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖2 12864液晶接口圖

簡介上圖:

??? 1,引腳3(VL):一般接一個103的電位器,用于調節液晶的顯示亮度。

??? 2,引腳15(PSB):高電平時選擇并口,低電平時選擇串口

3,引腳16(NC):空腳即不需要接任何管腳即可。

?

3)12864狀態字說明

表8-1 狀態字分布表

STA7?

D7

STA6

D6

STA5

D5

STA4

D4

STA3

D3

STA2

D2

STA1

D1

STA0

D0

STA0~STA6

當前地址指針的數值

-

STA7

讀/寫操作使能

1:禁止 0:使能

??????????

??? 嚴格來說,對控制器每次進行讀寫操作之前,都必須進行讀寫檢測,確保STA7為0。也即一般程序中所謂的判斷忙操作。

?

8.1.2)12864指令說明

? 表8-2基本指令表

指令名稱

指令碼

指令說明

D7

D6

D5

D4

D3

D2

D1

D0

清屏

L

L

L

L

L

L

L

H

清屏:1、數據指針清零

2、所有顯示清零

歸位

L

L

L

L

L

L

H

*

AC = 0,光標、畫面回HOME位

輸入方式

設置

L

L

L

L

L

H

ID

S

ID=1→AC自動增一;

ID=0→AC減一

S=1→畫面平移;

S=0→畫面不動

顯示開

關控制

L

L

L

L

H

D

C

B

D=1→顯示開;D=0→顯示關

C=1→游標顯示;C=0→游標不顯示

B=1→游標反白;B=0→光標不反白

移位控制

L

L

L

H

SC

RL

*

*

SC=1→畫面平移一個字符;

SC=0→光標

R/L=1→右移;R/L=0→左移

功能設定

L

L

H

DL

*

RE

*

*

DL=0→8位數據接口;

DL=1→4位數據接口

RE=1→擴充指令;

RE=0→基本指令

設定

CGRAM

地址

L

H

A5

A4

A3

A2

A1

A0

設定CGRAM地址到地址計數器(AC),AC范圍為00H~3FH需確認擴充指令中SR=0

設定

DDRAM

地址

H

L

A5

A4

A3

A2

A1

A0

設定DDRAM地址計數器(AC)

第一行AC范圍:80H~8FH

第二行AC范圍:90H~9FH

?

?

表8-3擴充指令表

指令名稱

指令碼

指令說明

D7

D6

D5

D4

D3

D2

D1

D0

待命模式

L

L

L

L

L

L

L

H

進入待命模式后,其他指令都可以結束待命模式

卷動

RAM

地址選擇

L

L

L

L

L

L

H

SR

SR=1→允許輸入垂直卷動地址

SR=0→允許輸入IRAM地址(擴充指令)及設定CGRAM地址

反白顯示

L

L

L

L

L

H

L

R0

R0=1→第二行反白;R0=0→第一行反白(與執行次數有關)

睡眠模式

L

L

L

L

H

SL

L

L

D=1→脫離睡眠模式;

D=0→進入睡眠模式

擴充功能

L

L

H

DL

*

RE

G

*

DL=1→8位數據接口;

DL=0→4位數據接口

RE=1→擴充指令集;

RE=0→基本指令集

G=1→繪圖顯示開;

G=0→繪圖顯示關;

設定

IRAM地址

卷動地址

L

H

A5

A4

A3

A2

A1

A0

SR=1→A5~A0為垂直卷動地址

SR=0→A3~A0為IRAM地址

設定

繪圖RAM

地址

H

L

L

L

A3

A2

A1

A0

垂直地址范圍:AC6~AC0

水平地址范圍:AC3~AC0

A6

A5

A4

A3

A2

A1

A0

?

?

8.1.3)? 12864顯示坐標關系

1)漢字顯示坐標

表8-4漢字顯示坐標地址表

行名稱

列地址

第一行

80H

81H

82H

83H

84H

85H

86H

87H

第二行

90H

91H

92H

93H

94H

95H

96H

97H

第三行

88H

89H

8AH

8BH

8CH

8DH

8EH

8FH

第四行

98H

99H

9AH

9BH

9CH

9DH

9EH

9FH

?

2)繪圖坐標分布圖

? ? ?

?????????????????????? 圖3 12864液晶繪圖顯示坐標

水平方向有128個點,垂直方向有64個點,在更改繪圖RAM時,由擴充指令設置GDRAM地址,設置順序為先垂直后水平地址(連續2個字節的數據來定義垂直和水平地址),最后是2個字節的數據給繪圖RAM(先高8位,后低8位)。

最后總結一下12864液晶繪圖的步驟,步驟如下:

1) 關閉圖形顯示,設置為擴充指令模式。

2) 寫垂直地址,分上下半屏,地址范圍為:0~31。

3) 寫水平地址,兩起始地址范圍分別為:0x80~0x87(上半屏)、0x88~0x8F(下半屏)。

4) 寫數據,一幀數據分兩次寫,先寫高8位,后寫低8位。

5) 開圖形顯示,并設置為基本指令模式。

?

在此說明一點,也是好多新人模糊的地方。ST7920可控制256*32點陣(32行256列),而12864液晶實際的行地址只有0-31行,12864液晶的32-63行是從0-31行的第128列劃分出來的。也就是說12864的實質是“256×32”,只是這樣的屏“又長又窄”,不適用,所以將后半部分截下來,拼裝到下面,因而有了上下兩半屏之說。再通俗點說第0行和第32行同屬一行,行地址相同;第1行和第33行同屬一行,以此類推。

??? 如果還不明白,暫時不需要深究,當會用的時候,自然而然就會明白了!

?

8.2)12864液晶連接單片機原理圖

?????????????????? 圖4? 麥光單片機開發板中液晶連接單片機圖

?

有些初學者可能會問? 為什么電路圖是這樣連接的,讀者可以對照上圖2即知

接口說明:

1)液晶1、2為電源接口; 19、20為背光電源。

2)? 液晶3端為液晶對比度調節端,其中連接一個10KΩ電位器來調節液晶對比度第一次使用時,在液晶上電狀態下,調節至液晶上面一行顯示出黑色小格為止。

3)? 液晶4端為向液晶控制器寫數據、命令選擇端,接單片機的P3.5口。

4)液晶5端為讀、寫選擇端,接單片機的P3.4口。

5)液晶6端為使能信號端,接單片機的P3.3口。

6)液晶15端為串(L)、并(H)口選擇端,接單片機的P3.2口。

7)液晶16、18為空管腳口,在硬件上不做連接。

8)液晶7~14為8位數據端口,依次接單片機的P0口。

?

8.3,12864時序圖的分析和程序編寫

這里本人只介紹并行操作,串行操作基本留給感興趣的讀者去探索吧!

?

1)?并行寫操作時序圖

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖5? 12864寫操作時序圖

?

相信看懂1602的人都很容易知道時序圖了,在此不多說

/*************************************************

函數功能:??? 寫命令數據到LCD

入口參數:??? Cmd

出口參數:??? ? void

RS=L; RW=L, E=高脈沖,D0~D7=指令碼

**************************************************/

void Write_LCD_Command(Uchar8 Cmd)?? ? // 寫命令

{

?? LCD_Busy_Wait();?? // 忙檢測

?? LCD_Rs = 0; ?

? LCD_Rw = 0;

? LCD_En = 0;

?? P0 = Cmd; ? ? ? ?

? ?Delay_1ms(5);

?? LCD_En = 1;

?? Delay_1ms(5);

?? LCD_En = 0;

}

/*************************************************

函數功能:??? 寫數據

入口參數:??? Data

出口參數:??? void

RS = H, RW = L, E= 高脈沖, D0~D7= 數據。

*************************************************/

void Write_LCD_Data(Uchar8 Date)??? ? // 寫數據?

{

??? LCD_Busy_Wait();?? // 忙檢測

??? LCD_Rs = 1;

?????? LCD_Rw = 0;

?????? LCD_En = 0;

?????? P0 = Date;

?????? Delay_1ms(5);

?????? LCD_En = 1;

?????? Delay_1ms(5);

?????? LCD_En = 0;

}

?

以上程序的說明基本跟1602液晶是一樣的

/*******************************************************

函數功能:行列(位置)選擇,設定顯示位置

入口參數:X(行)、Y(列)

出口參數:無

******************************************************/

void lcd_pos(Uchar8 X, Uchar8 Y)

{

??? Uchar8 pos;

?????? if(X ==1)? {X = 0x80;}????????????? // 第一行

?????? else if(X == 2) {X = 0x90;}? // 第二行

?????? else if(X == 3) {X = 0x88;}? // 第三行

?????? else if(X == 4) {X = 0x98;}? // 第四行

?????? pos = X+Y;

?????? Write_LCD_Command(pos);??????? // 顯示地址

}

由于程序太長,為了更好編輯,本人已將剩下程序上傳,需看可下載。

?

本人見過有些程序中沒有忙檢測也是可以的,但個人一直認為:加上忙檢測LCD_Busy_Wait()是非常有必要的,為什么?1,對于電子學習的一種嚴謹,培養這種意識吧 ?2,為日后我們使用更大,更復雜液晶的時候避免出現不必要的麻煩呀!3,一顆不嚴謹,不靠譜的心,如何給女人安全感呀?嘿嘿………..

? ?

怎么說液晶也算是有點嬌氣的東東啦!并且很多液晶價格蠻貴的!還是建議看看佳佰科技有關于液晶使用注意事項吧:

?

1.處理

(1)要避免在處理機械振動和對模塊施加外力,都可能使屏不顯示或損壞。???

(2)不能用手或堅硬工具或物體接觸、按壓、磨擦顯示屏,否則屏上的偏光片被物體劃壞。

(3)如果屏破裂液晶材料外漏,液晶可以通過空氣被吸入,而且要避免液晶與皮膚接觸,如果接,觸應立即用酒精沖洗,然后再用水徹底沖洗。

(4)不能使用可溶有機體來清洗顯示屏。因為這些可溶的溶劑對偏光片不利,清洗顯示屏時,可

用棉花蘸少量石油苯輕輕擦拭或用透明膠帶粘起臟物。

?(5)要防止高壓靜電產生的放電,將損壞模塊中的 CMOS 電路。

(6)不能把模塊放在溫度高的地方,尤其不能長時間放在濕度大的地方,最好把模塊放在溫度為

0℃-35℃,濕度低于 70%的環境中。

(7)模塊不能貯存在太陽直射的地方。

?

2.操作

?(1)當電源接通時,不能組裝或拆卸模塊。

(2)在電源電壓的偏差、輸入電壓的偏差及環境溫度等最壞條件下,也不能超過最大的額定值,

否則將損壞 LCD 模塊。

?

?

總結

以上是生活随笔為你收集整理的12864液晶 介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。