《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 虛擬LCD顯示模塊的設計
虛擬LCD顯示模塊的設計
來源:電子技術應用2011年第2期
江曉軍, 瞿丹晨, 徐 潔, 劉正國
上海第二工業大學 電子與電氣工程學院, 上海201209
摘要: 通過在BTF020單片機的RAM中建立緩沖區數組并對虛擬LCD的顯示數據進行存儲,然后通過單片機的串口將該數據傳送給PC機,再用VB6.0語言對這些數據進行處理并構建虛擬LCD的界面,使其能夠正確顯示字符或者圖形。實驗結果表明,所建的虛擬LCD顯示模塊具有開發簡便、快速、通用性強的特點。
關鍵詞: LCD BTF020 顯示模塊
中圖分類號: TH85
文獻標識碼: A
文章編號: 0258-7998(2011)02-0127-03
Design of virtual LCD module
Jiang Xiaojun, Qu Danchen, Xu Jie, Liu Zhengguo
School of Electronic & Electrical Engineering, Shanghai Second Polytechnic University, Shanghai 201209, China
Abstract: The display data of the virtual LCD is stored by creating the buffering arrays in RAM of BTF020 MCU, and the data is delivered to PC by the serial port of the MCU. The delivered data is processed and the interface of the virtual LCD is established by using VB6.0, and the character and the graph can be displayed rightly. The experimental results show that the established virtual LCD module has the characteristic of convenience, speediness and commonality.
Key words : LCD; BTF020; display module


    LCD在人們生活中的應用越來越廣泛,手機、車載系統及工業測量設備等都把LCD作為重要的人機接口,將使用者需要的信息顯示出來。這種方法是通過微處理器如單片機輸出圖形數據,再由LCD顯示模塊根據該圖形數據進行顯示[1-3]。其缺點是需要在LCD的像素排列和程序邏輯設計中花費大量的時間,而且在進行不同LCD顯示模塊的驅動設計時,要根據該LCD的驅動模塊重寫驅動程序,導致系統開發周期長、成本增加[4]。
    本文介紹一種使用虛擬技術實現LCD顯示模塊的方法以彌補前述方法的不足。該方法通過在單片機的RAM中建立緩沖區數組并對虛擬LCD的顯示數據進行存儲后,將顯示數據傳遞給PC機,再對這些數據進行處理后構建虛擬LCD以顯示字符或者圖形。
1 虛擬LCD顯示模塊的結構
    虛擬LCD顯示模塊的功能結構如圖1所示。虛擬LCD顯示模塊主要由4×4按鍵輸入單元、緩沖區單元、串口通信單元、數據接收單元、顯示數據處理單元、虛擬LCD界面組成。其中,4×4按鍵輸入單元負責選擇需要的虛擬LCD界面的大小及輸入顯示數據,這些信息由BTF020單片機存儲在緩沖區單元中;緩沖區單元通過所建的二維數組將數據分配給不同的存儲單元;串口通信單元根據BTF020單片機的命令負責將緩沖區單元中的數據發送給PC機;PC機中的數據接收單元負責接收串口通信單元發出的數據;顯示數據處理單元根據數據接收單元送出的數據進行數據轉換和處理,以便構建虛擬LCD界面;虛擬LCD界面負責將送入的字符或者圖形數據顯示出來。

2 虛擬LCD顯示數據的處理
2.1顯示緩沖區及數組的建立

    虛擬LCD的分辨率可根據BTF020發送的數據確定并采用分頁縱向顯示。在BTF020中建立一個緩沖區來存放需要顯示的數據,然后將這個緩沖區中的數據發送給PC機,由PC機將接收到的BYTE類型數據還原成8位二進制碼,然后再對該二進制碼進行逐位解析并按順序進行處理和顯示。當虛擬LCD的分辨率確定為256×256,顯示色為單色時,串口傳輸的數據為8位二進制碼,因此建立一個二維數組LCDdata[31][255]作為虛擬LCD的字符顯示緩沖區,共32頁(0~31)、256列(0~255)。該虛擬LCD的顯示緩沖區分布如圖2所示。


2.2 字符的處理與顯示
    虛擬LCD顯示漢字前需先取模。漢字的字模分成上下兩個部分,當顯示規格為16×16點陣的漢字時,取模走向為縱向且高位在前。可先對上半部分從左到右取模,然后對下半部分從左到右取模,再將該漢字所占的像素點標為“1”,其余標為“0”,從左到右開始取字模的結果并以十六進制表示。以同樣的方法,再對下半部分取模,其結果仍以十六進制表示。此時,將這兩次的結果結合起來就可得該漢字的字模。在取完字模后,把該字的字模預先存儲到一個一維數組中,然后確定漢字顯示于屏幕的位置。由于漢字顯示是以頁和列為定位坐標,單個漢字不跨頁顯示,因此可以調用漢字顯示函數來顯示漢字,這樣通過替換顯示緩沖區中的數據就可以達到顯示漢字的目的。該漢字顯示函數為:
    void Write_word(int y,int x, unsigned char  word [ ]
    其中,y代表頁,x代表列,word代表希望顯示的字的字模。圖3為漢字顯示流程。虛擬LCD顯示規格為8×16點陣的數字0~9時,取模走向為縱向,高位在前,點陣格式為陰碼,取模方式為行列式。


    通過調用數字顯示函數進行顯示,這樣通過替換顯示緩沖區中的數據就可以達到顯示數字的目的。該數字顯示函數為:
    void Write_num(int y,int x,int number)
2.3 點、直線和矩形的處理與顯示
    漢字在縱向的顯示處理是按頁計算,而點在縱向的顯示處理是按行計算,其計算方式與列的計算方式相同。把整個虛擬LCD屏幕分成255行、255列,則該虛擬LCD的圖形顯示緩沖區分布如圖4所示。


    按照以上分布規則,通過調用畫點函數可在屏幕上畫點。該畫點函數為:
    void Point(int x,int y)
    該函數中橫坐標可被系統識別,而縱坐標須轉換成頁的表示形式才能被系統識別。將縱坐標轉換成頁地址時先確定畫點所在頁,由于一頁中縱方向上有8個坐標點,因此可用整除的方式得到確定的頁地址。表1表示一頁中點亮像素點的數據與整除y時得到的余數的關系。

    設:點亮像素點的數據為add值,LCDdata [ ][ ]為顯示緩沖區數組,y/8為頁地址,x為列地址,則可得到顯示緩沖區。該顯示緩沖區的數據為:
    LCDdata[y/8][x]=add+LCDdata[y/8][x]
    按上述方法得到畫點的坐標后,再根據虛擬LCD顯示線段的坐標,在確定的方向上依次進行點的顯示。畫橫線的函數定義為:
    void HLine(int x1,int x2,int y)
    式中,x1、x2分別為橫線的橫坐標起始、結束點,y為縱坐標。
    畫豎線的函數定義為:
    void SLine(int x,int y1,int y2)
    式中,x為豎線的橫坐標,y1、y2分別為豎線縱坐標起始、結束點。
 畫矩形的函數定義為:
    void Rectangle(int x1,int y1,int x2,int y2)
    式中,x1為矩形左上角橫坐標,y1為矩形左上角縱坐標,x2為矩形右下角橫坐標,y2為矩形右下角縱坐標。
3 實驗
    進行實驗時采用VB6.0語言編程,圖5是用上述方法虛擬的分辨率為256×256的LCD顯示界面,該虛擬LCD界面的左上角的坐標為(0,0),右下角的坐標為(255,255)。界面中像素點以一個方格表示,初始界面由綠色方格組成,當期望的像素點進行點亮顯示時該位置為黑色方格。

    完成上述界面中字符和圖形顯示功能的語句為
    Rectangle(50,30,200,100);    畫邊框
    Write_word(6,128,peng);      寫“鵬”
    Write_num(8,111,0);            寫“0”
    Write_num(8,119,5);            寫“5”
    Write_num(8,127,2);            寫“2”
    Write_num(8,135,2);            寫“2”
    Write_comm( );                   緩沖區發送到PC
    通過顯示緩沖區的數組存儲虛擬LCD的顯示數據,然后將數據傳送給PC機,再用VB6.0語言對這些數據進行處理并構建虛擬LCD的顯示界面,可以正確顯示字符、點、線和矩形等圖形。所建的虛擬LCD顯示模塊具有開發簡便、快速、通用性強的特點。
參考文獻
[1] 劉冬生,曾曉雁. 液晶顯示控制器SED1330/SED1335/SED1336/E1330的應用[J].電子技術應用,2004,30(2):
71-73.
[2] 吳捷,陸鋒,左劍. 圖形液品顯示控制器SI D13503在單片機系統中的應用[J].信息化研究,2009,35(11):54-56.
[3] 潘敏,焦生杰,翁寅生. 基于DSP和ST7920的液晶顯示模塊的實現. 電子技術應用, 2007,33(6):48-50.
[4] 王震, 謝丁龍. 點陣LCD 顯示模塊通用驅動程序的開發[J]. 許昌學院學報, 2005,24(5):84-87.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
美国成人直播| 国产精品国产三级国产aⅴ浪潮| 亚洲精品国偷自产在线99热| 亚洲欧美日韩一区二区三区在线观看| 亚洲福利视频二区| 国产在线拍偷自揄拍精品| 欧美日韩亚洲综合| 欧美承认网站| 亚洲欧美中文在线视频| 99精品欧美| 亚洲国产欧美一区| 国产一区二区成人| 国产精品久久久久久户外露出| 欧美ed2k| 久久午夜羞羞影院免费观看| 亚洲免费在线看| av72成人在线| 亚洲欧洲精品一区二区三区不卡| 欧美一级大片在线免费观看| 一区二区三区鲁丝不卡| 亚洲国产欧美在线人成| 韩国成人福利片在线播放| 国产欧美高清| 国产精品日韩精品欧美精品| 久久亚洲欧美| 久久精品二区三区| 亚洲欧美美女| 亚洲午夜小视频| 一区二区三区四区五区精品视频| 亚洲人成亚洲人成在线观看| 亚洲成色最大综合在线| 欧美在线免费观看亚洲| 小黄鸭精品aⅴ导航网站入口| 亚洲网站视频| 亚洲视频你懂的| 一区二区三区视频在线播放| 国产日韩欧美在线观看| 国产伦精品一区二区三区高清版 | 欧美一区免费视频| 欧美一区二区三区视频| 欧美亚洲综合久久| 久久国产精品99久久久久久老狼 | 欧美国产日本在线| 另类激情亚洲| 欧美一区二区视频97| 久久都是精品| 久久久91精品国产一区二区三区| 久久高清国产| 亚洲午夜激情免费视频| 亚洲综合国产| 香蕉视频成人在线观看| 久久成人免费电影| 久久久夜色精品亚洲| 蜜桃视频一区| 欧美国产日产韩国视频| 欧美日本不卡视频| 欧美视频一区二区在线观看 | 精品成人在线| 国产精品国产自产拍高清av王其 | 国产在线观看精品一区二区三区| 国产深夜精品| 伊人成年综合电影网| 亚洲国产成人av| 日韩一区二区久久| 亚洲专区在线| 久久精品人人做人人综合| 亚洲欧洲免费视频| 亚洲视频一区二区在线观看 | 黄色成人免费网站| 亚洲高清自拍| 一区二区激情| 欧美一区二区三区日韩| 亚洲精品国产系列| 亚洲欧美日韩爽爽影院| 亚洲视频播放| 久久久xxx| 欧美精品激情| 国产日产欧美a一级在线| 好吊妞这里只有精品| 亚洲黄色av| 亚洲一区二区伦理| 久久成人免费日本黄色| 妖精视频成人观看www| 欧美一区二区视频97| 欧美成人免费在线视频| 国产精品观看| 亚洲电影免费| 亚洲免费综合| 亚洲人成欧美中文字幕| 亚洲欧美日本另类| 免费在线欧美黄色| 国产精品青草综合久久久久99| 红桃视频国产一区| 在线视频欧美一区| 久久精品91久久久久久再现| 在线亚洲免费| 久久女同精品一区二区| 国产精品国产三级国产普通话蜜臀| 狠狠干狠狠久久| 制服丝袜激情欧洲亚洲| 亚洲黄色一区| 欧美呦呦网站| 欧美视频不卡中文| 精品成人一区二区| 亚洲一区二区三区中文字幕| 亚洲人成在线播放| 久久成人免费网| 欧美无乱码久久久免费午夜一区| 一区二区三区在线视频播放| 亚洲一区二区三区三| 亚洲国产精品999| 午夜国产精品视频| 久久综合影音| 国产精品高潮呻吟视频| 国产综合色一区二区三区| 日韩视频在线一区| 亚洲国产岛国毛片在线| 午夜视频久久久| 欧美丝袜第一区| 91久久在线视频| 久久精品免费观看| 欧美一区二区高清在线观看| 欧美日韩情趣电影| 亚洲第一毛片| 欧美有码在线视频| 欧美亚洲三区| 国产精品久久久久久久久久免费 | 亚洲第一精品电影| 久久成人免费日本黄色| 国产精品成人免费视频| 亚洲人成人99网站| 亚洲三级国产| 麻豆成人在线观看| 国产一区二区三区四区hd| 亚洲一区中文| 亚洲欧美日韩区| 国产精品国产a级| 一区二区三区四区五区精品| 亚洲国产小视频| 久久亚洲私人国产精品va| 国产欧美日本一区视频| 中文欧美日韩| 亚洲在线中文字幕| 欧美日韩在线一区二区| 亚洲毛片av| 一区二区三区四区五区精品| 免费欧美日韩国产三级电影| 国产欧美91| 亚洲成色777777女色窝| 午夜精品理论片| 欧美影片第一页| 国产日韩亚洲欧美综合| 亚洲一区二区三区视频| 国产精品99久久久久久白浆小说| 老**午夜毛片一区二区三区| 狠狠色2019综合网| 亚洲国产aⅴ天堂久久| 久久精品国产亚洲精品| 国产亚洲精品久久久久动| 一区二区三区国产在线观看| 在线性视频日韩欧美| 欧美精品一区二区三区很污很色的| 黄网站色欧美视频| 香蕉av777xxx色综合一区| 午夜在线视频一区二区区别| 欧美三级不卡| 一本色道久久加勒比88综合| 亚洲一区国产一区| 国产精品中文字幕欧美| 欧美日韩国产免费| 国产精品久久久久久久9999| 欧美在线观看网站| 黄色亚洲网站| 亚洲精品自在久久| 久久亚洲综合色| 亚洲第一网站| 一区二区三区高清在线观看| 欧美视频在线免费看| 亚洲欧美久久久久一区二区三区| 久久精品国产亚洲5555| 亚洲第一级黄色片| 日韩天天综合| 欧美日韩国产色站一区二区三区| 国产亚洲激情| 久久精品国产综合精品| 久久久久成人网| 一区二区三区中文在线观看| 亚洲人成7777| 欧美性片在线观看| 欧美一区二区三区视频| 欧美电影在线观看完整版| 一区二区欧美日韩视频| 久久高清国产| 91久久综合| 一区二区三区精品在线| 国产九九视频一区二区三区| 亚洲国产精品高清久久久| 欧美日韩一区二区三区| 欧美一区二区国产| 欧美激情一区二区三区蜜桃视频|