唐俊龍 劉遠(yuǎn)治 禹智文 鄒望輝 吳麗娟 謝海情
摘? ?要:基于UCOS-II實(shí)時(shí)操作系統(tǒng)完成了觸摸屏傳感器的程序驅(qū)動(dòng)設(shè)計(jì)、觸摸屏與LCD坐標(biāo)的校準(zhǔn)等工作,設(shè)計(jì)了一款嵌入式系統(tǒng)電子畫(huà)板。實(shí)現(xiàn)人機(jī)交互菜單式的用戶(hù)界面設(shè)計(jì),電子菜單選擇繪圖背景,印花圖案,畫(huà)筆顏色、粗細(xì)、形狀等參數(shù),RGB調(diào)色按鈕定義用戶(hù)需要的畫(huà)筆顏色,在繪圖區(qū)域繪出用戶(hù)需要的圖案,書(shū)寫(xiě)文字。經(jīng)過(guò)實(shí)驗(yàn)調(diào)試,電子畫(huà)板功能完整,用戶(hù)界面友好,操作簡(jiǎn)便。
關(guān)鍵詞:電子畫(huà)板? 嵌入式? 觸屏技術(shù)? μCOSⅡ
Abstract: In this paper, an embedded electronic drawing board based onμCOSⅡreal-time operating system, LCD and touch screen is designed. The touchscreen sensor driven program is written. Calibration work of the touch screen and LCD coordinate is done. The man-machine interactive menu style of user interface is designed. The drawing background can be changed. The printing and the painting brush with colors, thickness and shape, etc. can be selected by electronic menu. The brush color based on RGB color button is defined by the user's own needs to draw the pattern and the text in the drawing area. Finally test experiment is done. GUI is friendly, full-functional. It is easy to operate.
目前以數(shù)字化為代表的消費(fèi)類(lèi)電子整合產(chǎn)品呈現(xiàn)出了高速增長(zhǎng)的趨勢(shì),數(shù)字家庭很大程度上改變?nèi)藗兊纳詈蛫蕵?lè)方式,觸摸屏技術(shù)是一種新型的人機(jī)交互輸入方式。觸摸屏技術(shù)在一些大尺寸屏幕上,能夠讓多人在同一塊屏幕上共同完成一些協(xié)同工作,如游戲、繪圖、工程設(shè)計(jì)、影像處理及利用電容筆進(jìn)行簽名、畫(huà)圖、標(biāo)記等應(yīng)用領(lǐng)域,提高了使用效率,改善了用戶(hù)使用環(huán)境。本文結(jié)合觸摸屏技術(shù)與LCD顯示屏技術(shù),基于ROM運(yùn)行的、可裁減的、搶占式、實(shí)時(shí)多任務(wù)內(nèi)核,具有高度可移植性的ucos-II實(shí)時(shí)操作系統(tǒng),實(shí)現(xiàn)了一款人機(jī)交互式界面友好的電子畫(huà)板[1]。
1? 方案設(shè)計(jì)
硬件設(shè)計(jì)基于ARM9開(kāi)發(fā)板,采用S3C2410X 處理器,64M 的NANDFLASH 和64M RAM,8寸640x480分辨率的265色真彩LCD(Liquid Crystal Display)顯示屏,電阻觸摸屏等[2]。觸摸傳感器是ADS7843,屏體部分是與LCD表面配合的多層復(fù)合薄膜,直接用2410內(nèi)部ADC構(gòu)成的轉(zhuǎn)換電路接口,觸摸反應(yīng)速度快,數(shù)據(jù)準(zhǔn)確[3-4]。嵌入式電子畫(huà)板方案設(shè)計(jì)如圖1所示,由菜單和繪圖兩大功能組成。菜單功能主要包括畫(huà)筆顏色、粗細(xì)變換、“印花”動(dòng)態(tài)變換、畫(huà)布背景更換等操作,繪圖功能主要是畫(huà)直線(xiàn)、畫(huà)圓,確定多點(diǎn)畫(huà)多邊形,畫(huà)筆實(shí)時(shí)動(dòng)態(tài)作畫(huà)等繪畫(huà)。多種繪畫(huà)方式,接近真實(shí)畫(huà)板的體驗(yàn),使電子畫(huà)板具有實(shí)用性和趣味性,既保留傳統(tǒng)畫(huà)板的精華之處,也凸顯電子畫(huà)板使用便捷的優(yōu)勢(shì)[5]。
2? 電子畫(huà)板系統(tǒng)的軟件設(shè)計(jì)
2.1 觸摸屏坐標(biāo)校準(zhǔn)
電子畫(huà)板觸摸屏的精準(zhǔn)控制需要對(duì)觸摸屏的觸摸與LCD顯示的坐標(biāo)及兩者間吻合性進(jìn)行校準(zhǔn)。
(1)初始坐標(biāo)獲取。
LCD與觸摸屏的點(diǎn)通過(guò)公式(1)轉(zhuǎn)換得到相對(duì)應(yīng)的坐標(biāo)值。
其中,T_Xmax、T_Xmin、T_Ymax 和T_Ymin 是觸摸屏返回電壓值x、y軸的范圍值,LCDW、LCDH是觸摸屏的寬度和高度(觸摸屏的寬度*高度=640×480像素)。
(2)坐標(biāo)校準(zhǔn)。
觸摸屏與LCD貼合度需要校準(zhǔn)補(bǔ)償,使操作更精準(zhǔn)、更快速。本文采用在觸摸屏上的左上角L1、右下角L2和觸屏正中L3獲得三點(diǎn)的三點(diǎn)校準(zhǔn)法,這三點(diǎn)之間最為分散,有利于提高校準(zhǔn)精度。將三點(diǎn)坐標(biāo)確定之后,利用公式(2)可求出A、B、C、D、E、F的值。
電子畫(huà)板繪圖界面操作范圍排列緊密,繪圖畫(huà)筆流暢,均勻出墨,要求觸摸屏具有較高的精準(zhǔn)度及對(duì)坐標(biāo)有較快的處理速度,但較高的觸摸屏精準(zhǔn)度就需要對(duì)坐標(biāo)進(jìn)行多次的判斷和計(jì)算,會(huì)降低坐標(biāo)的處理速度。本文采用觸摸屏的消息機(jī)制與API函數(shù)兩種方法解決精準(zhǔn)度與處理速度的問(wèn)題。
2.2 主程序流程圖
如圖2所示,程序啟動(dòng)之后,主任務(wù)定義了系統(tǒng)參數(shù)的初始化,進(jìn)入主函數(shù),Init函數(shù)對(duì)系統(tǒng)進(jìn)行畫(huà)筆顏色參數(shù)、畫(huà)筆模式參數(shù)等初始化設(shè)置。菜單任務(wù)通過(guò)調(diào)用觸摸屏驅(qū)動(dòng)程序,來(lái)判斷觸摸屏是否被按下,沒(méi)有按下,繼續(xù)檢測(cè)觸摸屏狀態(tài),如果檢測(cè)到觸摸屏被按下則執(zhí)行更換背景圖片、更換畫(huà)筆顏色等相應(yīng)的操作。如果菜單區(qū)域沒(méi)有被按下,就檢測(cè)繪圖區(qū)域是否被按下,如果繪圖區(qū)域也沒(méi)有被按下,則返回到菜單區(qū)域檢測(cè),完成一次循環(huán)。
2.3 觸摸式菜單的程序設(shè)計(jì)
觸摸式菜單設(shè)計(jì)主要采用了兩級(jí)菜單,如圖3,圖4所示。系統(tǒng)啟動(dòng),主函數(shù)進(jìn)行switch()的循環(huán),判斷菜單的標(biāo)志位Level,根據(jù)不同的Level值進(jìn)入不同的菜單區(qū)域,一級(jí)菜單的Level值等于0x01如圖3。Level值等于0x02,進(jìn)入了二級(jí)菜單如圖4所示,二級(jí)菜單增加了是否返回一級(jí)菜單的判斷。
3? 調(diào)試
3.1 圖片加載
啟動(dòng)UCOS-II系統(tǒng),通過(guò)“mkdir BMP”命令,在/sys系統(tǒng)文件夾下創(chuàng)建文件夾名BMP,輸入“cd BMP”進(jìn)入到該文件夾中,輸入“dl Main.bmp -d”命令,按下回車(chē)鍵,傳送指定圖片到BMP文件夾中。聲明一個(gè)char型的數(shù)組存儲(chǔ)圖片地址信息char Main[]="/sys/BMP/Main.bmp",然后調(diào)用ShowBmp(pdc,Main,0,0)函數(shù)即可在指定坐標(biāo)顯示圖片,如圖5。圖片的分辨率橫軸為10的偶數(shù)倍,160×120分辨率的圖片能夠正常顯示。
3.2 菜單程序的調(diào)試
主任務(wù)中啟用了一個(gè)switch(level)來(lái)選擇不同層級(jí)的菜單,主繪圖界面是主菜單,其余各項(xiàng)操作如改變畫(huà)筆顏色、改變畫(huà)筆模式、改變背景圖案等均為次級(jí)操作項(xiàng)目。通過(guò)編譯之后將程序下載到開(kāi)發(fā)板中,電子畫(huà)板的主界面如圖6所示。經(jīng)過(guò)調(diào)試,用戶(hù)界面更改了繪圖背景為“牛皮紙紋理”,畫(huà)筆顏色為“紅色”,畫(huà)筆粗細(xì)為“中等粗細(xì)”等,完整地實(shí)現(xiàn)了畫(huà)板功能。
4? 結(jié)語(yǔ)
基于μCOSⅡ?qū)崟r(shí)操作系統(tǒng)的電子畫(huà)板的設(shè)計(jì)編程采用標(biāo)準(zhǔn)C語(yǔ)言,利用μCOSⅡ操作系統(tǒng)在2410-S處理器上的移植,正確調(diào)用GUI函數(shù),主要完成了觸摸屏傳感器的程序驅(qū)動(dòng)設(shè)計(jì)、觸摸屏與LCD坐標(biāo)的校準(zhǔn)等工作,實(shí)現(xiàn)了人機(jī)交互菜單式的用戶(hù)界面設(shè)計(jì),通過(guò)電子菜單更換繪圖背景,選擇印花圖案,選擇繪畫(huà)畫(huà)筆的固定顏色、粗細(xì)、形狀等參數(shù),也可通過(guò)RGB調(diào)色按鈕定義用戶(hù)自己需要的畫(huà)筆顏色,在繪圖區(qū)域繪出用戶(hù)需要的圖案,書(shū)寫(xiě)文字。經(jīng)過(guò)實(shí)驗(yàn)反復(fù)調(diào)試,用戶(hù)界面友好,功能完整,操作簡(jiǎn)便,具有一定的實(shí)際應(yīng)用價(jià)值。
參考文獻(xiàn)
[1] 周立功著.ARM嵌入式系統(tǒng)基礎(chǔ)教程[M].北京:北京航空航天大學(xué)出版社,1979.
[2] 潘巨龍著.ARM&Linux嵌入式系統(tǒng)構(gòu)建與應(yīng)用[M].北京:北京航空航天大學(xué)出版社,1989.
[3] 吳明輝著.基于ARM的嵌入式系統(tǒng)開(kāi)發(fā)與應(yīng)用[M].北京:人民郵電出版社,2001.
[4] (美)Jean J.Labrosse著.嵌入式實(shí)時(shí)操作系統(tǒng)UC/OS-II(第2版)[M].北京:北京航空航天大學(xué)出版社,2006.
[5] 田澤.嵌入式系統(tǒng)開(kāi)發(fā)與應(yīng)用[M].北京:航空航天大學(xué)出版社,2005.
科技創(chuàng)新導(dǎo)報(bào)2020年3期