廣播電視系統(tǒng)人機交互界面的設計與實現(xiàn)
隨著科學技術(shù)日益的發(fā)展,廣播電視設備的國產(chǎn)化程度也越來越高。在一個性能優(yōu)良的廣播電視系統(tǒng)中,友好的中文人機交互界面也尤為重要。本文設計了一種廣播電視系統(tǒng)人機交互界面系統(tǒng),以滿足“數(shù)字立體聲調(diào)頻調(diào)制器”顯控要求為前提,采用MSP430F149單片機作為系統(tǒng)的MCU ;液晶屏為滿足漢字4行11列、字母4行22列顯示要求的LCM168651顯示模塊;并滿足用戶通過鍵盤輸入的方式進行工作參數(shù)設置和工作狀態(tài)查詢的人機交互要求。
1.系統(tǒng)組成
本系統(tǒng)主要由三個模塊組成,即以MSP430F149單片機為核心的MCU;以LCM168651為主要部件的菜單顯示模塊;以及以ZLG7289B為主的鍵盤掃描管理模塊。
1.1 單片機控制模塊
本系統(tǒng)中單片機控制模塊主要完成顯示、控制信息的采集、處理以及與“數(shù)字立體聲調(diào)頻調(diào)制器”其他分系統(tǒng)之間的通信。選型要求主要考慮以下幾個方面:
·低功耗; ·具有豐富的I/O端口及定時、中斷功能;
·3v左右的工作電壓; ·至少一個串行通信接口;
·大于8KB的存儲空間;·基本時鐘模塊在4MHz以上; ·具有加密保護功能。
根據(jù)以上的要求,我們選用TI公司推出的超低功耗Flash型16位RISC指令集單片機MSP430F149。根據(jù)其主要性能特點,完全可以滿足設計要求。
1.2 菜單顯示模塊
菜單顯示模塊主要完成系統(tǒng)信息的時時顯示功能,并能在鍵盤控制下滾動顯示不同的信息。“數(shù)字立體聲調(diào)頻調(diào)制器”在顯示模塊主要有以下要求:
·同時顯示信息滿足至少漢字3行10列;·可卷動顯示系統(tǒng)信息;
·并串行接口,電路簡單;·5v以內(nèi)工作電壓;·顯示清晰無光斑,抗干擾能力強
我們設計選用北京青云公司的圖形點陣液晶模塊LCM168651,該模塊屬于被動顯示,受外界光線干擾小,不產(chǎn)生電磁干擾,顯示內(nèi)容清晰,分辨率高。
1.3 鍵盤控制模塊
鍵盤控制模塊是人機交互界面的重要組成模塊,滿足用戶通過鍵盤輸入的方式進行工作參數(shù)的設置和工作狀態(tài)的查詢。“數(shù)字立體聲調(diào)頻調(diào)制器”對該模塊的主要要求是:
·控制鍵盤的數(shù)量最少6個;·易于與微控制系統(tǒng)連接;·可靠性高。
我們設計選用廣州周立功單片機發(fā)展有限公司自行設計的數(shù)碼管顯示驅(qū)動及鍵盤掃描管理芯片ZLG7289B,可直接驅(qū)動8位共陰式數(shù)碼管,還可以掃描管理多達64只按鍵。該芯片與微控制系統(tǒng)的工作電壓都可以控制在3v左右,避免了與微控制系統(tǒng)之間電平不匹配問題。
2 系統(tǒng)硬件設計
2.1 系統(tǒng)原理框圖
為了便于對系統(tǒng)工作原理的理解,這里首先給出系統(tǒng)的原理框圖,如圖1所示。
圖1 系統(tǒng)原理框圖
系統(tǒng)中MSP430F149單片機為微控制器,由其分配系統(tǒng)資源與液晶顯示模塊使用并行總線進行通信、與鍵盤控制模塊使用SPI串行總線進行通信。微控制器的程序?qū)懭爰罢{(diào)試采用在線編程模式進行,系統(tǒng)使用5v電源供電,系統(tǒng)時鐘為4MHz。
系統(tǒng)的工作原理可以概述為兩個方面:一方面微控制器通過擴展接口時時接收來自“數(shù)字立體聲調(diào)頻調(diào)制器”系統(tǒng)的狀態(tài)信息,這些狀態(tài)信息微控制器在微控制器內(nèi)部以不同的變量形式予以體現(xiàn),微控制器再將這些變量通過并行總線提供給液晶顯示模塊修改相應的顯示參數(shù),以完成系統(tǒng)信息的顯示及更新工作;另一方面,微控制器以查詢的方式檢測鍵盤控制模塊是否有控制請求,當有控制請求時,微控制器根據(jù)鍵值的不同對液晶顯示模塊發(fā)出不同的指令,以更換顯示內(nèi)容或修改系統(tǒng)參數(shù),更換顯示內(nèi)容即工作狀態(tài)的查詢,當修改系統(tǒng)參數(shù)時,微控制器還負責將修改過的系統(tǒng)參數(shù)傳遞給“數(shù)字立體聲調(diào)頻調(diào)制器”系統(tǒng)。
2.2 液晶顯示原理
LCM168651是一種圖形點陣液晶,該模塊將液晶芯片與控制芯片集成在一起,與外界的聯(lián)系是以一系列接口的形式出現(xiàn)的。下面著重介紹一下該模塊的具體使用方法。
液晶屏幕被劃分為168*65個點陣,每個漢字需要占據(jù)16*16個點陣,字符或數(shù)字占據(jù)8*16個點陣,可見滿屏顯示時最多可以顯示漢字4行11列或字符、數(shù)字4行22列。
漢字或字符、數(shù)字的字庫可以從國標字庫中查閱,也可以利用專門的軟件分別生成所需要的漢字或字符,本設計使用的方法就是后者。所使用的軟件是ZIMO21.EXE,該軟件可以根據(jù)使用者的需要一次獲取一個或多個漢字或字符的字庫,基本操作如下:
l 漢字 圖像上下顛倒 C51取膜 前后16個字節(jié)交換
l 字母或者數(shù)字 圖像上下顛倒 C51取膜 前后8個字節(jié)交換。
例如:顯示漢字——廣播電視(宋體12號字,ZIMO21.EXE的默認設置),使用者可以直接在ZIMO21.EXE軟件中鍵入“廣播電視”,設置“圖像上下顛倒”,選擇“C51取膜”,則漢字“廣播電視”的字庫便生成了。如下所示:
/*-- 文字: 廣 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x40,0x30,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xFC,0x04,0x04,0x04,0x04,0x05,0x06,0x04,0x04,0x04,0x04,0x04,0x04,0x00
/*-- 文字: 播 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x42,0x81,0x7F,0x00,0x01,0x01,0xFF,0x49,0x49,0x7F,0x49,0x49,0xFF,0x01,0x00,0x00,
0x08,0x08,0xFF,0x88,0x48,0x12,0x96,0x5A,0x32,0xFE,0x31,0x59,0x95,0x91,0x90,0x00
/*-- 文字: 電 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x00,0x00,0x0F,0x04,0x04,0x04,0x04,0x3F,0x44,0x44,0x44,0x44,0x4F,0x40,0x70,0x00,
0x00,0x00,0xF8,0x48,0x48,0x48,0x48,0xFF,0x48,0x48,0x48,0x48,0xF8,0x00,0x00,0x00,
/*-- 文字: 視 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x02,0x01,0x00,0xFF,0x00,0x87,0x42,0x21,0x18,0x06,0x01,0x3E,0x40,0x43,0x70,0x00,
0x08,0x08,0x89,0x4E,0xAA,0x18,0x00,0xFE,0x02,0x02,0xFA,0x02,0x02,0xFE,0x00,0x00,
將各個漢字的字庫“前后16個字節(jié)交換”之后按一定順序存儲到特定的數(shù)組chinese[]中,每個漢字字庫第一個字節(jié)在數(shù)組中的位置就是該漢字的序號。此時字庫就建立完畢。下面的工作就是將漢字顯示到液晶屏幕的指定位置上,步驟:1)初始化液晶模塊;2)設置漢字在屏幕的位置坐標(X、Y);3)將漢字字庫信息通過并口逐個傳遞給液晶模塊進行顯示。
上述過程1)是以向液晶模塊寫入一系列命令字的形式完成的;2)、3)步驟一般則是以自命名函數(shù)的形式完成的,比如本方案中使用disp_Chinese[X,Y,Number]來完成,其中X,Y代表屏幕坐標,Number代表漢字在數(shù)組中的位置。設計過程中可以根據(jù)需要設置漢字的字體、大小等參數(shù),以達到美觀的藝術(shù)效果。
2.3 鍵盤控制原理
本設計中在鍵盤控制模塊主要使用了ZLG7289B ,該芯片可直接驅(qū)動8 位共陰式數(shù)碼管(或64 只獨立LED),同時還可以掃描管理多達64 只按鍵。
ZLG7289B外圍電路簡單,與微控制器系統(tǒng)之間只需要三根線CS、CLK、DIO,即所謂的SPI串行總線的模式即可進行通信,擴展使用非常方便,在掃描鍵盤時,已經(jīng)采取了消抖動措施,因此在程序中不必另外編寫消抖動,非常適合于本方案
提交
超越傳統(tǒng)直覺,MATLAB/Simulink助力重型機械的智能化轉(zhuǎn)型
新大陸自動識別精彩亮相2024華南國際工業(yè)博覽會
派拓網(wǎng)絡被Forrester評為XDR領域領導者
智能工控,存儲強基 | 海康威視帶來精彩主題演講
展會|Lubeworks路博流體供料系統(tǒng)精彩亮相AMTS展會