首頁
關于我們
產品中心
行業新聞
技術文章
下載中心
在線留言
聯系我們
1
2
3
4
5
6
主營產品:
LCD液晶顯示屏,LCM液晶顯示模塊,TFT彩色液晶屏,OLED顯示屏,OLED顯示模塊,LCD顯示器,液晶屏JRD320240,LCD顯示屏,液晶屏,液晶模塊12864
產品目錄
LCD/LCM/液晶顯示屏/模組
OLED顯示屏
高亮工業液晶屏
TFT屏
段試液晶屏
超薄車載液晶電視/顯示器
技術文章
首頁
>>>
技術文章
點陣式液晶字符反白和圖形顯示研究
點陣式液晶字符反白和圖形顯示研究
實驗動物獨立通氣籠盒
(Individual Ventilated Cages
,
IVC)(
閉環
)
監控系統,由微控制器實現對籠盒風扇的通氣量、籠盒內部的氨含量等參數采集,并根據這些參數來調整通氣風扇轉速,以調整籠盒的換氣率,從而確?;\盒內部的空氣質量。同時,根據相關參數指標發出警報以提醒更換過濾膜等,實現對小動物生長環境的過程控制。
在整個監控系統中,人機交互界面部分用于顯示整個實驗動物生長環境過程中的控制歷史數據、實時控制參數和環境溫度參數等。
本文采用以
ST7920
為控制器的
YMl2864R
點陣式液晶顯示模塊
(LCD Module
,
LCM)
構成了整個
IVC
監控系統的人機界面部分。
YM12864R
點陣式液晶顯示模塊具有靈活的接口方式和簡單的操作指令,構成的全中文人機交互圖形界面既可以顯示
8×4
行
16×16
點陣的漢字,也可以顯示圖形。模塊內部設有
2MB
的中文字型
CGROM
和
64×256
點陣的
GDRAM
繪圖區域;同時,提供
4
組可編程控制的
16×16
點陣造字空間。
1
點陣式液晶硬件接口設計
以
ST7920
為控制器的
YM12864R
點陣式液晶顯示模塊和單片機之間的接口方式有并行和串行兩種。本文采用串行接口方式,單片機選用
AVR
公司的
ATmega16
。接口電路如圖
1
所示。其中,
PC4
控制串行的片選信號
(CS)
,低電平有效;
PC5
控制串行的數據線
(SID)
;
PC6
控制串行的時鐘輸入
(CLK)
。
ST7920
通過
VCC(+5 V)
和
GND
之間串聯一個
10 kΩ
的電阻來控制背光強度。如果不需要調節對比度,可以直接將
VLCD
引腳接
VCC(+5 V)
,此時對比度*大。
2
文本顯示及繪圖顯示
2.1
文本顯示
ST7920
可以顯示半寬的
HCGROM
字型、
CGRAM
字型以及中文
CGROM
三種字型,通過在
DDRAM
中寫入的編碼選擇。文本顯示
DDRAM
提供
8
個
×4
行的漢字空間,如下所示:
字型編碼如下:
①
顯示半寬
HCGROM
字型。將
1
字節寫入
DDRAM
中,范圍為
02H
~
7FH
的編碼。
②
顯示半寬
CGRAM
字型。將
2
字節編碼寫入
DDRAM
中,總共有
0000H
、
0002H
、
0004H
、
0006H
四種編碼。
③
顯示中文
CGROM
字型。將
2
字節編碼寫入
DDRAM
中,范圍為
A1AOH
~
FTFFH(GB
碼
)
或
A140H
~
D75FH(BIG5
碼
)
的編碼。
2.2
繪圖顯示
繪圖顯示
GDRAM
提供
128×8
字節的記憶空間。在更改繪圖
RAM
時,先連續寫入水平與垂直的坐標值,再寫入
2
個字節的數據到繪圖
RAM
中,而地址計數器
(AC)
會自動加
1
。在寫入繪圖顯示
RAM
的期間,繪圖顯示功能必須關閉。整個寫入繪圖
RAM
的步驟如下:
①
關閉繪圖顯示功能;
②
先將水平的位元組坐標
(X)
寫入繪圖
RAM
地址,再將垂直的坐標
(Y)
寫入繪圖
RAM
地址;
③
依次將
D15
~
D8
和
D7
~
D0
寫入
RAM
中;
④
打開繪圖顯示功能。
圖形顯示坐標如圖
2
所示。其中,水平方向
X
以字節單位,垂直方向
Y
以位為單位。
3
字符反白
在實現人機交互界面菜單時,字符反白可以表示菜單中不同選項被選中的狀態。液晶顯示模塊
YM12864R
的使用手冊中提供了對應行的反白指令,但在原理上
ST7920
控制器的
128×64
點陣液晶等同于
256×32
點陣,第
3
行對應的文本顯示
(DDRAM)
地址緊接著第
1
行,第
4
行對應的文本顯示
(DDRAM)
地址緊接第
2
行。因此,用戶對第
1
行執行反白顯示操作時,第
3
行必然也反白顯示;對第
2
行執行反白操作時,第
4
行也必然反白??梢?,使用手冊中自帶的反白指令不能實現任意字符的反白。
為了解決上述問題,可以將圖形顯示和字符顯示結合起來使用。在
ST7920
控制器中,文本顯示的
DDRAM
和圖形顯示的
GDRAM
是相互獨立的,而*后顯示到液晶上的結果則是,文本顯示
DDRAM
中數據和圖形顯示
GDRAM
中數據的異或結果。
如果要在液晶顯示模塊的某個點上呈現反白顯示,那么就在該點繪圖并且顯示文本;如果要取消反白,只需用全
“0”
擦掉該點的繪圖。這樣,就可以實現
YM12864R
的任意字符的反白。
字符反白程序流程如圖
3
所示。其中,
base_x
表示繪圖起始的行地址;
Y_Pos
表示繪圖起始的列地址;第
1
行至第
4
行的起始地址分別是
(0x80
,
0x80)
,
(0xS0
,
0xg0)
,
(0x88
,
0xS0)
和
(0x88
,
0x90)
。
反白就是在需要反白的區域進行繪圖,即在這個區域寫進
0xff
。**一個區域的反白,就是對需要**反白的區域**繪圖,即在這個區域寫進
0x00
。
在整個繪圖的過程中,橫向地址指針是自動進行加
1
運算的,所以只需要確定這一行的首地址橫坐標;而縱坐標的地址不進行自動加
1
運算,需要在程序中修正,每次修正是以像素為基本單位的。
字符反白顯示實例如圖
4
所示。
4
任意位置顯示任意大小圖形
在實現人機交互界面時,圖文結合是常見的一種方式。本文嘗試一種任意位置顯示任意大小圖形
(
橫向尺寸以字節為基本單位,縱向尺寸以位為基本單位
)
的方法,為人機交互界面的圖形結合設計提供了捷徑。
4.1
任意位置顯示任意大小圖形程序
任意位置顯示任意大小圖形程序流程如圖
5
所示。其中,
x1
和
y1
表示所畫圖的起始點相對于
液晶屏
幕左上角起始點
(0xS0
,
0x80)
的距離
(
橫向
x1
以字節為基本單位,縱向
y1
以位為基本單位
)
;
x
表示所畫圖的起始橫坐標地址;
y
表示所畫圖的起始縱坐標地址;
Write_command()
函數用于向液晶中寫命令;
templ
表示圖形的縱向尺寸
(
以像素為單位
)
。
繪圖時,如果所畫的圖形只涉及上半屏
(
或下半屏
)
,那么在寫地址時可以不考慮地址跨越上下半屏的調整,只需要在所畫圖形的初始處寫好行地址和列地址:
Write_command(y+templ)
;
Write_command(x)
;
在繪圖過程中,橫坐標地址指針會在寫數據的過程中自動加
1
,因此只需要寫出這一行的首地址;但縱坐標地址指針不會自動加
1
,需要在程序中修正。
4.2
任意位置顯示任意大小圖形實例
任意位置顯示任意大小圖形實例如圖
6(a)
~
(c)
所示。
結
語
ST7920
因內置字庫而被廣泛應用,其圖形顯示的關鍵點是熟練掌握圖形顯示坐標。在筆者所參與的獨立通氣籠盒監控系統設計過程中,利用以
ST7920
為控制器的液晶顯示模塊構建良好的人機交互界面,以曲線和直方圖的方式顯示實時溫度。系統可由用戶設定開啟密碼,可以查看相關歷史數據、實現實驗動物生長環境及生長過程的控制,以及回溯歷史數據、實時控制參數和環境溫度等參數。該設計對優化控制實驗動物生長環境、穩定實驗動物生活習性、動物形態十分有益。
上一篇:
OLED顯示模塊與C8051F單片機的接口設計
下一篇:
1305控制的OLED12864驅動程序
Copyright@ 2003-2021
深圳景潤達電子有限公司
版權所有
電話:0755-26042986
傳真:0755-27696050
地址:深圳市寶安區廣深路373號西鄉崩山工業區深航工貿大廈2樓
郵編:510182
粵ICP備09026143號
亚洲精品熟女国产-亚洲中文字幕精品一区二区三区-国产午夜福利亚洲第一-国产明星裸体xxxx视频