《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 一種嵌入式顯示系統的軟件設計及應用
一種嵌入式顯示系統的軟件設計及應用
單片機
丁 凡,周永明
摘要: 以高性能的8位單片機C8051F120作為核心處理器,接收和處理PC機鍵盤和觸摸屏的操作信息,并將其轉化成液晶顯示器(TFT)可顯示的點陣數據;用SRAM作為顯存,FPGA接收單片機傳送的顯示數據,控制顯存的讀寫操作,并產生液晶顯示器的工作時序,最終完成在液晶顯示器上顯示字符和65536色彩色圖形的嵌入式設計方案。其中重點描述了核心處理單元C8051F120的軟件設計。
Abstract:
Key words :

引言

嵌入式設備憑借其與使用者之間的親和力、自然的人機交互界面,得到了迅速的發展,滲透到生活中的各個角落。本文介紹的設計方法是以高性能的8位單片機C8051F120作為核心處理器,SRAM作為系統的顯存,FPGA實現時序轉換,構建低溫(-10℃)下嵌入式顯示系統。通過PC機鍵盤和觸摸屏實現界面操作,最終在液晶顯示器上顯示國標一/二級漢字、ASCII字符和65 536色的彩色圖形和圖片,并制作了簡單的操作界面。

1 系統工作原理

顯示漢字、英文字符和彩色圖形的過程就是將字符和圖形信息轉換成液晶顯示器可以顯示的點陣信息。為了顯示字符,可以將ASCII碼字符點陣字庫和按區位碼排列的漢字點陣字庫存儲在單片機外接的Flash ROM中(構成點陣數據區),并且將程序中用到的字符以機內碼的形式存儲在Flash ROM中(構成文本數據區)。顯示時,單片機將漢字機內碼從文本數據區讀出,轉換成FlashROM中點陣數據區的字庫地址,通過該地址讀出字符的點陣數據,進一步轉換成液晶顯示器可顯示的數據并送給后續電路處理和顯示。這樣在操作過程中可以顯示包括國標一/二級漢字、大小寫英文字符、標點和數字等多種字符。顯示彩色圖形的時候,由于圖片的存儲空間要求比較大,系統中沒有足夠的空間,可以將PC機內bmp格式的彩色圖片經過格式轉化以后,通過串口送給單片機實時處理并顯示。

液晶顯示器工作頻率為4.5~6.8MHz,并且需要復雜的工作時序。考慮到單片機的工作速度和液晶顯示器的工作頻率,一方面,液晶顯示器在工作頻率下不斷刷新才能工作,需要傳送大量的顯示數據和控制信息;另一方面,單片機要完成許多處理工作,即使工作在100MHz,也將成為系統運行速率的瓶頸。為了解決這個問題,再次加入一塊SRAM作為顯存,加入一塊FPGA實現時序轉換并控制和刷新液晶顯示器。FP GA分時地讀/寫SRAM,FPGA在時鐘的作用下,一半時間內(時鐘信號為高電平時)從SRAM中讀出數據,不斷刷新液晶顯示器;另一半時間內(時鐘信號為低電平時),如果單片機有送來要顯示的數據時,將此數據寫入SRAM中。分時操作的使用,能在不間斷地刷新液晶顯示器的同時,接收并存儲單片機的數據,使兩方面的工作互不影響,不僅減輕單片機的工作負擔,而且充分發揮了FPGA的性能。

選擇附有觸摸屏的液晶顯永器,將觸摸屏外接手寫識別控制器,就可以增加手寫識別功能,可提供友好的人機交互界面。由上述分析可以畫出系統框圖,如圖1所示。

a.JPG

2 系統硬件設計

在本嵌入式顯示系統中,采用了夏普公司型號為LQ0357DH01的液晶顯示器,工作溫度范圍在-10~70℃,最低工作溫度相對更低一些。

顯示模塊由一個彩色主動點陣式LCD模塊和無定形硅TFT構成,因此可稱為AD-TFT(Advanced TFT)。它由彩色TFT-LCD面板、IC驅動、FPC、背光、電阻式觸摸屏和背部密封盒組成,但是模塊不包括控制電路。顯示屏工作頻率為4.5~6.8 MHz,分辨率為240×320像素,色彩位深為18位。圖形和文本能以262 11 4種顏色顯示在240x 320點陣的顯示屏上。但是考慮單片機的數據總線寬度為8位,為了簡化操作過程,可將色彩深度確定為16位,單片機分兩次發送每個像素的顏色數據。這樣的簡化操作也可以滿足顯示65 536色彩色圖形的要求。

為了提高整個系統的運行速度,采用型號為C8051F120的高性能8位單片機作為處理器。C8051F120使用Silicon Labs公司的專利CIP-51微控制器內核。CIP-51與MCS-51指令集完全兼容,可以使用標準803x/805x的匯編器和編譯器進行軟件開發。C8051F120可穩定工作的最大系統時鐘頻率為100 MHz,峰值性能達到100MIPS。

Flash采用的是M29W400BB(512K×8位),它是一種可讀、可擦除、可重復編程的Flash。FPGA采用Xilinx公司Spartan-II系列產品XC2S1 00。XC2S100是一款具有10萬系統門的FPGA,在邏輯門數上能為系統提供足夠的邏輯電路,144引腳封裝形式的XC2S100可提供103個I/O端口,為系統器件提供足夠的I/O口資源。

關于SRAM的選擇,考慮到液晶顯示器的分辨率為240×320像素,每個像素點可顯示65 536色(16位),因此顯存的大小至少為240×320× 2B=150 KB。加入一塊512 KB的SRAM CY7C1041BV33作為顯存即可。CY7C1041BV33可以工作在字(word)操作模式下,方便顯示數據的存取,刷新液晶的過程中可將SRAM中的每個字與液晶的每個像素對應。

手寫識別采用型號為ePH1200AQ的手寫識別微控制器。ePH1200AQ硬件上集成了8位RISC微控制器、觸摸屏驅動器、接口UART、4 KB SRAM、32K字編程ROM和512K字數據ROM;軟件上則包含手寫識別內核、字符集和筆跡收集軟件。當微控制器與外部觸摸屏相連接的時候,就可以組成手寫識別應用產品,比如SMS、移動電話或者手寫輸入設備。

3 系統軟件設計

系統軟件包括單片機和FPGA兩個部分。本文主要介紹單片機部分的軟件設計。

單片機完成的功能包括循環查詢兩個串口是否接收到新的數據,當某個串口接收到新的數據時,便采取相應含義的操作。顯示字符時,讀出Flash ROM中的點陣數據,進行轉換和處理后送給FPGA;顯示圖形時,按照沒定的圖形軌跡畫出點。

單片機在主程序中循環查詢兩個串口是否接收到新的數據,當任意一個串口產生中斷時,根據串口接收到數據的含義,采取相應的操作。主函數流程如圖2所示。

b.JPG

3.1 字符顯示原理

UCDOS軟件中的文件HZK16與文件ASC16分別為1 6×1 6的國標漢字點陣文件和8×1 6的ASCII碼點陣文件,以二進制格式存儲。在文件HZK 16中,按漢字區位碼從小到大依次存有國標區位碼表中的所有漢字,每個漢字占用32個字節(16×16的漢字點陣),每個區為94個漢字。在文件ASC16中按ASCII碼從小到大依次存有8×1 6的ASCII碼點陣,每個ASCII碼占用1 6個字節。

在PC機的文本文件中,漢字是以機內碼的形式存儲的,每個漢字占用兩個字節。第一個字節為區碼,為了與ASCII碼區別,范圍從十六進制的0A1H開始(小于80H的為ASCII碼字符),對應區位碼中區碼的第一區;第二個字節為位碼,范圍也是從0A1H開始,對應某區中的第一個位碼。這樣,將漢字機內碼減去0A0A0H就得該漢字的區位碼。例如漢字“我”的機內碼為十六進制的“CED2”,其中“CE”表示區碼,“D2”表示位碼。所以“我”的區位碼為0CED2H-0A0A0H=2E32H。將區碼和位碼分別轉換為十進制得漢字“我”的區位碼為“4650”,即“房”的點陣位于第46區的第50個字的位置,相當于在文件HZK16中的位置為第32×[(46-1)×94+(50-1)]=67136 B以后的32個字節為“我”的顯示點陣。

依次讀出每個字節,每讀出一個字節,并提取該字節中的每一位,如果某位是“1”,則給該位數據對應的像素點送入兩個字節的字體顏色數據,如(0x0000,黑色);如果某位是“0”,則給該位數據對應的像素點送入兩個字節的底色數據,如(0xffff,白色)。當發送完32個字節的點陣數據后(總共發送的顏色數據為32B×8dot×2B=512 B)液晶屏上便會顯示底色為白色,字體顏色為黑色的漢字。漢字“我”的顯示結果如圖3所示。

c.JPG

液晶顯示器的色彩深度為16位,每個像素可顯示65 536色。SRAM工作在字(word)操作模式下,將SRAM中的每個字與液晶顯示器的每個像素對應。比如將液晶顯示器第一行第一列的點與SRAM的0x0000地址對應,第一行第二列的點與0x0001地址對應,依次類推。

3.2 通過PC機鍵盤進行界面操作

通過PC機鍵盤進行界面操作時,使用電腦軟件將鍵盤的操作鍵值通過PC機串口發送給單片機串口0,單片機串口0每中斷一次接收到一個字節的數據,接收到的數據可分為3種情況:數值大于0xA0時,說明該字節是某漢字兩字節數據中的一個字節;數值為0x20~0x7f時,表示該字節是可打印的ASCII碼字符;數值小于0x20時,表示該字節是不可打印的數值,可用這36個數值作為界面操作的控制命令字節。連續接收完兩個數值大于0xA0數據時,就可以轉換成某個漢字;每接收到一個數值為0x20~0x7f的數據時,就可以轉換成某個ASCII碼字符;每接收到一個數值小于0x20的數據時,就可以翻譯成某個操作命令,進行相應的控制操作。圖4為鍵盤接口操作中斷流程。

d.JPG

3.3 通過觸摸屏進行界面操作

通過觸摸屏進行界面操作時,手寫識別微控制器ePH1200AQ將手寫的軌跡封包后發送到單片機的串口1。操作過程中的數據主要包括輸入漢字時,識別輸入的筆畫,向單片機發送候選字;畫圖時,實時發送屏幕觸點的坐標;觸控時,發送觸控點的坐標。ePH1200AQ的通信協議命令格式如表1所列。

e.JPG

表1中的識別型態命令(0x10)的識別型態定義值定義了可以識別的字集,包括漢字一/二級字庫、大小寫英文字母、數字、符號、預設手勢、平假名和片假名。

ePH1200AQ與單片機串口1通信,發送的是命令封包,需要考慮封包的幀定位,確定封包的包頭和包尾。表1中的命令格式中,封包長度最長的命令為“發送候選字陣列”命令(命令代碼為0x18),ePH1200AQ發送的候選字個數最多為10個,每個候選字為兩個字節的數據,該命令的最大長度為25字節,可創建一個具有25個元素的數組(uartl_RX_buffer[25])作為命令緩存。

結語

本文設計了一種以C8051F120作為核心處理器的嵌入式彩色圖形顯示系統,其突出的優點是實時性強、接口電路簡單、可擴展性強。該系統集成度高,攜帶方便,實用性強,在很多領域都具有應用性,具有一定的研究和應用價值。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美一区二区三区啪啪| 在线观看免费视频综合| 老鸭窝亚洲一区二区三区| 亚洲一区二区三区免费观看| 亚洲与欧洲av电影| 这里只有精品电影| 99热免费精品| 欧美好吊妞视频| 久久影院午夜论| 久久久福利视频| 欧美在线视频免费播放| 亚洲性视频h| 国产精品99久久不卡二区| 日韩视频免费观看高清在线视频| 国产欧美日韩三级| 国产精品国产三级国产普通话蜜臀 | 免费一区二区三区| 久久久久久久久久码影片| 久久国产一区二区| 久久激情五月婷婷| 久久久av水蜜桃| 久热爱精品视频线路一| 蜜桃久久av一区| 欧美激情国产日韩| 欧美日韩免费一区二区三区| 欧美激情欧美狂野欧美精品| 欧美人成网站| 欧美日韩在线观看一区二区三区| 中文久久精品| 一区二区三区 在线观看视| 制服诱惑一区二区| 亚洲在线黄色| 久久精品一二三区| 亚洲经典自拍| 一区二区三区视频在线观看| 亚洲欧美在线看| 亚洲午夜在线| 欧美色图一区二区三区| 欧美午夜精品理论片a级大开眼界| 久久大逼视频| 久久久免费精品| 欧美成人网在线| 欧美系列电影免费观看| 国产欧美日韩亚洲精品| 国产一区二区三区av电影| 在线看欧美视频| 夜色激情一区二区| 欧美一区二区三区视频在线观看| 9久re热视频在线精品| 一本久久a久久免费精品不卡| 亚洲国产高清高潮精品美女| 亚洲精品国产精品乱码不99按摩| 国语自产精品视频在线看| 伊人久久大香线蕉综合热线| 亚洲精品国产拍免费91在线| 亚洲一区二区成人在线观看| 久久婷婷一区| 日韩天堂在线观看| 久久精品中文字幕一区| 最新国产拍偷乱拍精品 | 一本久道久久综合狠狠爱| 一区二区三区精品在线| 在线中文字幕一区| 欧美精品在线免费| 国产精品国产亚洲精品看不卡15| 欧美激情在线| 国产精品ⅴa在线观看h| 黄色在线成人| 国产精品99久久不卡二区| 亚洲高清免费在线| 亚洲一区高清| 免费在线欧美视频| 亚洲精品一区在线观看| 亚洲网站视频| 一本久久精品一区二区| 性欧美xxxx视频在线观看| 亚洲人成免费| 欧美一级播放| 欧美日本精品一区二区三区| 久久久精品日韩欧美| 欧美日韩国产91| 激情亚洲网站| 亚洲欧洲av一区二区三区久久| 99在线精品视频在线观看| 午夜视黄欧洲亚洲| 一区二区日韩欧美| 国产丝袜一区二区三区| 欧美日韩国产色综合一二三四| 久久视频这里只有精品| 欧美亚男人的天堂| 亚洲激情欧美| 亚洲成人直播| 久久er精品视频| 国产精品高潮呻吟久久av无限| 国产精品人成在线观看免费 | 欧美成人免费在线观看| 国产精品久久久久久久午夜| 精品av久久707| 亚洲欧美激情四射在线日 | 欧美一区二区三区另类| 免费成人高清视频| 国产日韩欧美亚洲一区| 中文国产成人精品| 亚洲最新在线| 欧美精品福利在线| 在线观看成人小视频| 欧美亚洲自偷自偷| 亚洲在线国产日韩欧美| 欧美日韩成人综合天天影院| 国产精品看片资源| 日韩一区二区久久| 一区二区三区国产盗摄| 欧美激情免费在线| 亚洲国产欧美久久| 亚洲日本激情| 欧美成人激情视频免费观看| 一区在线视频| 亚洲福利视频免费观看| 久久一本综合频道| 今天的高清视频免费播放成人 | 久久精品国产69国产精品亚洲| 亚洲精品免费在线播放| 久久久久久97三级| 国内精品美女在线观看| 欧美成人午夜激情视频| 欧美电影在线观看完整版| 欧美日韩中文| 国产精品成人av性教育| 日韩网站免费观看| 99这里只有精品| 老司机免费视频一区二区三区| 欧美极品aⅴ影院| 又紧又大又爽精品一区二区| 91久久精品国产91久久性色tv| 性色av一区二区三区在线观看 | 国产精品一二三四| 亚洲国产成人不卡| 亚洲激情电影中文字幕| 久久综合一区二区| 在线观看成人一级片| 亚洲精品视频二区| 欧美精品啪啪| 欧美手机在线| 免费亚洲婷婷| 亚洲国产精品久久久久婷婷884| 亚洲视频香蕉人妖| 亚洲在线观看视频| 国产日韩欧美成人| 久久激情久久| 欧美国产欧美亚州国产日韩mv天天看完整| 国产精品久久久免费| 一区二区三区 在线观看视频| 亚洲精品一区二| 欧美精品一区二区高清在线观看| 亚洲专区国产精品| 亚洲国产日韩欧美在线图片 | 欧美午夜在线一二页| 在线亚洲+欧美+日本专区| 午夜精品久久99蜜桃的功能介绍| 农村妇女精品| 亚洲乱码一区二区| 午夜精品久久久久久久99热浪潮| 亚洲欧美日韩在线一区| 亚洲视频中文| 亚洲综合二区| 中文欧美字幕免费| 欧美在线观看一二区| 国产精品午夜春色av| 久久精品视频99| 欧美精品自拍偷拍动漫精品| 亚洲一区日韩在线| 久久婷婷国产麻豆91天堂| 亚洲精品午夜| 国产精品嫩草影院一区二区| 亚洲深爱激情| 久久精品欧洲| 亚洲免费福利视频| 99精品热视频只有精品10| 欧美亚洲视频一区二区| 欧美一区午夜视频在线观看| 久久久久国产精品www| 国产日韩欧美亚洲| 亚洲国产精品999| 亚洲在线一区| 国产在线不卡| 欧美主播一区二区三区| 欧美黄色成人网| 欧美永久精品| 91久久午夜| 欧美亚洲在线| 亚洲美女精品久久| 久久久水蜜桃av免费网站| aa级大片欧美| 欧美超级免费视 在线| 亚洲欧美bt| 欧美日韩美女| 亚洲人成在线播放网站岛国| 国产偷自视频区视频一区二区| 亚洲精品在线观看视频| 西瓜成人精品人成网站|