當(dāng)前位置:首頁 > 模擬 > 模擬
[導(dǎo)讀]本文采用以ST7920為控制器的YMl2864R構(gòu)成了自動監(jiān)控型獨(dú)立通氣籠盒(Individually Ventilated Cages,IVC)系統(tǒng)的人機(jī)界面顯示部分;給出了點(diǎn)陣液晶顯示模塊與單片機(jī)之間的硬件接口設(shè)計;介紹了液晶模塊文本顯示和繪圖顯示的基本特性及實(shí)現(xiàn),并重點(diǎn)介紹了任意字符反白和任意位置任意大小圖形顯示的方法。

引  言

實(shí)驗(yàn)動物獨(dú)立通氣籠盒(Individual Ventilated Cages,IVC)(閉環(huán))監(jiān)控系統(tǒng),由微控制器實(shí)現(xiàn)對籠盒風(fēng)扇的通氣量、籠盒內(nèi)部的氨含量等參數(shù)采集,并根據(jù)這些參數(shù)來調(diào)整通氣風(fēng)扇轉(zhuǎn)速,以調(diào)整籠盒的換氣率,從而確保籠盒內(nèi)部的空氣質(zhì)量。同時,根據(jù)相關(guān)參數(shù)指標(biāo)發(fā)出警報以提醒更換過濾膜等,實(shí)現(xiàn)對小動物生長環(huán)境的過程控制。

在整個監(jiān)控系統(tǒng)中,人機(jī)交互界面部分用于顯示整個實(shí)驗(yàn)動物生長環(huán)境過程中的控制歷史數(shù)據(jù)、實(shí)時控制參數(shù)和環(huán)境溫度參數(shù)等。

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

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

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



2 文本顯示及繪圖顯示

2.1 文本顯示

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



字型編碼如下:

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

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

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

2.2  繪圖顯示

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

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

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

③依次將D15~D8和D7~D0寫入RAM中;

④打開繪圖顯示功能。

圖形顯示坐標(biāo)如圖2所示。其中,水平方向X以字節(jié)單位,垂直方向Y以位為單位。



3 字符反白

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

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

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

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



反白就是在需要反白的區(qū)域進(jìn)行繪圖,即在這個區(qū)域?qū)戇M(jìn)0xff。清除一個區(qū)域的反白,就是對需要清除反白的區(qū)域清除繪圖,即在這個區(qū)域?qū)戇M(jìn)0x00。

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

字符反白顯示實(shí)例如圖4所示。



4 任意位置顯示任意大小圖形

在實(shí)現(xiàn)人機(jī)交互界面時,圖文結(jié)合是常見的一種方式。本文嘗試一種任意位置顯示任意大小圖形(橫向尺寸以字節(jié)為基本單位,縱向尺寸以位為基本單位)的方法,為人機(jī)交互界面的圖形結(jié)合設(shè)計提供了捷徑。

4.1 任意位置顯示任意大小圖形程序

任意位置顯示任意大小圖形程序流程如圖5所示。其中,x1和y1表示所畫圖的起始點(diǎn)相對于液晶屏幕左上角起始點(diǎn)(0xS0,0x80)的距離(橫向x1以字節(jié)為基本單位,縱向y1以位為基本單位);x表示所畫圖的起始橫坐標(biāo)地址;y表示所畫圖的起始縱坐標(biāo)地址;Write_command()函數(shù)用于向液晶中寫命令;templ表示圖形的縱向尺寸(以像素為單位)。



繪圖時,如果所畫的圖形只涉及上半屏(或下半屏),那么在寫地址時可以不考慮地址跨越上下半屏的調(diào)整,只需要在所畫圖形的初始處寫好行地址和列地址:

Write_command(y+templ);
Write_command(x);

在繪圖過程中,橫坐標(biāo)地址指針會在寫數(shù)據(jù)的過程中自動加1,因此只需要寫出這一行的首地址;但縱坐標(biāo)地址指針不會自動加1,需要在程序中修正。

4.2  任意位置顯示任意大小圖形實(shí)例   

任意位置顯示任意大小圖形實(shí)例如圖6(a)~(c) 所示。



結(jié)  語

ST7920因內(nèi)置字庫而被廣泛應(yīng)用,其圖形顯示的關(guān)鍵點(diǎn)是熟練掌握圖形顯示坐標(biāo)。在筆者所參與的獨(dú)立通氣籠盒監(jiān)控系統(tǒng)設(shè)計過程中,利用以ST7920為控制器的液晶顯示模塊構(gòu)建良好的人機(jī)交互界面,以曲線和直方圖的方式顯示實(shí)時溫度。系統(tǒng)可由用戶設(shè)定開啟密碼,可以查看相關(guān)歷史數(shù)據(jù)、實(shí)現(xiàn)實(shí)驗(yàn)動物生長環(huán)境及生長過程的控制,以及回溯歷史數(shù)據(jù)、實(shí)時控制參數(shù)和環(huán)境溫度等參數(shù)。該設(shè)計對優(yōu)化控制實(shí)驗(yàn)動物生長環(huán)境、穩(wěn)定實(shí)驗(yàn)動物生活習(xí)性、動物形態(tài)十分有益。
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉