<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于YMl2864R點(diǎn)陣式液晶顯示模塊的IVC監控系統

基于YMl2864R點(diǎn)陣式液晶顯示模塊的IVC監控系統

作者: 時(shí)間:2010-12-07 來(lái)源:網(wǎng)絡(luò ) 收藏

實(shí)驗動(dòng)物獨立通氣籠盒(Individual Ventilated Cages,)(閉環(huán)),由微控制器實(shí)現對籠盒風(fēng)扇的通氣量、籠盒內部的氨含量等參數采集,并根據這些參數來(lái)調整通氣風(fēng)扇轉速,以調整籠盒的換氣率,從而確?;\盒內部的空氣質(zhì)量。同時(shí),根據相關(guān)參數指標發(fā)出警報以提醒更換過(guò)濾膜等,實(shí)現對小動(dòng)物生長(cháng)環(huán)境的過(guò)程控制。

在整個(gè)中,人機交互界面部分用于顯示整個(gè)實(shí)驗動(dòng)物生長(cháng)環(huán)境過(guò)程中的控制歷史數據、實(shí)時(shí)控制參數和環(huán)境溫度參數等。

本文采用以ST7920為控制器的(LCD Module,LCM)構成了整個(gè)的人機界面部分。YM12864R具有靈活的接口方式和簡(jiǎn)單的操作指令,構成的全中文人機交互圖形界面既可以顯示8×4行16×16的漢字,也可以顯示圖形。內部設有2MB的中文字型CGROM和64×256點(diǎn)陣的GDRAM繪圖區域;同時(shí),提供4組可編程控制的16×16點(diǎn)陣造字空間。

1點(diǎn)陣式液晶硬件接口設計

以ST7920為控制器的YM12864R點(diǎn)陣式模塊和單片機之間的接口方式有并行和串行兩種。本文采用串行接口方式,單片機選用AVR公司的ATmega16。接口電路如圖1所示。其中,PC4控制串行的片選信號(CS),低電平有效;PC5控制串行的數據線(xiàn)(SID);PC6控制串行的時(shí)鐘輸入(CLK)。ST7920通過(guò)VCC(+5 V)和GND之間串聯(lián)一個(gè)10 kΩ的電阻來(lái)控制背光強度。如果不需要調節對比度,可以直接將VLCD引腳接VCC(+5 V),此時(shí)對比度最大。



2 文本顯示及繪圖顯示

2.1文本顯示

ST7920可以顯示半寬的HCGROM字型、CGRAM字型以及中文CGROM三種字型,通過(guò)在DDRAM中寫(xiě)入的編碼選擇。文本顯示DDRAM提供8個(gè)×4行的漢字空間,如下所示:



字型編碼如下:

①顯示半寬HCGROM字型。將1字節寫(xiě)入DDRAM中,范圍為02H~7FH的編碼。

②顯示半寬CGRAM字型。將2字節編碼寫(xiě)入DDRAM中,總共有0000H、0002H、0004H、0006H四種編碼。

③顯示中文CGROM字型。將2字節編碼寫(xiě)入DDRAM中,范圍為A1AOH~FTFFH(GB碼)或A140H~D75FH(BIG5碼)的編碼。

2.2 繪圖顯示

繪圖顯示GDRAM提供128×8字節的記憶空間。在更改繪圖RAM時(shí),先連續寫(xiě)入水平與垂直的坐標值,再寫(xiě)入2個(gè)字節的數據到繪圖RAM中,而地址計數器(AC)會(huì )自動(dòng)加1。在寫(xiě)入繪圖顯示RAM的期間,繪圖顯示功能必須關(guān)閉。整個(gè)寫(xiě)入繪圖RAM的步驟如下:

①關(guān)閉繪圖顯示功能;

②先將水平的位元組坐標(X)寫(xiě)入繪圖RAM地址,再將垂直的坐標(Y)寫(xiě)入繪圖RAM地址;

③依次將D15~D8和D7~D0寫(xiě)入RAM中;

④打開(kāi)繪圖顯示功能。

圖形顯示坐標如圖2所示。其中,水平方向X以字節單位,垂直方向Y以位為單位。



3 字符反白

在實(shí)現人機交互界面菜單時(shí),字符反白可以表示菜單中不同選項被選中的狀態(tài)。液晶顯示模塊YM12864R的使用手冊中提供了對應行的反白指令,但在原理上ST7920控制器的128×64點(diǎn)陣液晶等同于256×32點(diǎn)陣,第3行對應的文本顯示(DDRAM)地址緊接著(zhù)第1行,第4行對應的文本顯示(DDRAM)地址緊接第2行。因此,用戶(hù)對第1行執行反白顯示操作時(shí),第3行必然也反白顯示;對第2行執行反白操作時(shí),第4行也必然反白??梢?jiàn),使用手冊中自帶的反白指令不能實(shí)現任意字符的反白。

為了解決上述問(wèn)題,可以將圖形顯示和字符顯示結合起來(lái)使用。在ST7920控制器中,文本顯示的DDRAM和圖形顯示的GDRAM是相互獨立的,而最后顯示到液晶上的結果則是,文本顯示DDRAM中數據和圖形顯示GDRAM中數據的異或結果。

如果要在液晶顯示模塊的某個(gè)點(diǎn)上呈現反白顯示,那么就在該點(diǎn)繪圖并且顯示文本;如果要取消反白,只需用全“0”擦掉該點(diǎn)的繪圖。這樣,就可以實(shí)現YM12864R的任意字符的反白。

字符反白程序流程如圖3所示。其中,base_x表示繪圖起始的行地址;Y_Pos表示繪圖起始的列地址;第1行至第4行的起始地址分別是(0x80,0x80),(0xS0,0xg0),(0x88,0xS0)和(0x88,0x90)。



反白就是在需要反白的區域進(jìn)行繪圖,即在這個(gè)區域寫(xiě)進(jìn)0xff。清除一個(gè)區域的反白,就是對需要清除反白的區域清除繪圖,即在這個(gè)區域寫(xiě)進(jìn)0x00。

在整個(gè)繪圖的過(guò)程中,橫向地址指針是自動(dòng)進(jìn)行加1運算的,所以只需要確定這一行的首地址橫坐標;而縱坐標的地址不進(jìn)行自動(dòng)加1運算,需要在程序中修正,每次修正是以像素為基本單位的。

電子血壓計相關(guān)文章:電子血壓計原理



上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>