《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于STM32的RA8806控制器LCD設計
基于STM32的RA8806控制器LCD設計
現(xiàn)代電子技術
孔 勰,,唐 盛,姚 萌
摘要: RA8806點矩陣液晶顯示控制器內(nèi)置字庫,、觸摸屏和鍵盤接口,,具有功能強,、移植性強、性價比高的特點,,比其他同類產(chǎn)品更受設計人員歡迎,。采用RA8806控制器的LCD可以充分滿足STM32嵌入式系統(tǒng)的各種液晶顯示需求,為了實現(xiàn)這一目的,,給出了在STM32上驅(qū)動該控制器的方法,、觸摸屏校準的思路及部分程序,并在實驗中得以實現(xiàn),。
Abstract:
Key words :

摘要:RA8806點矩陣液晶顯示控制器內(nèi)置字庫,、觸摸屏和鍵盤接口,具有功能強,、移植性強,、性價比高的特點,比其他同類產(chǎn)品更受設計人員歡迎,。采用RA8806控制器的LCD可以充分滿足STM32嵌入式系統(tǒng)的各種液晶顯示需求,,為了實現(xiàn)這一目的,給出了在STM32上驅(qū)動該控制器的方法,、觸摸屏校準的思路及部分程序,,并在實驗中得以實現(xiàn)。
關鍵詞:RA8806,;LCD,;STM32;液晶觸摸屏

0 引言
    在現(xiàn)代電子設備中,觸摸屏的應用使電子設備更智能化,、人性化,。在手機、導航儀,、電子儀器,、咨詢終端等設備中,作為信息交流的媒介,,觸摸屏具有界面編程靈活,、反應速度快、功耗低,、體積小的特點,。
    RA8806是一個文字與繪圖模式相結(jié)合的點矩陣液晶顯示控制器,最大能驅(qū)動640×240或320×480分辨率的LCD液晶觸摸屏,,可以顯示文字,、圖片、符號等復雜信息,,支持文字,、圖片混合顯示和區(qū)域卷動,支持90°,,180°,,270°的文字旋轉(zhuǎn)顯示,,支持4/8 b的8080和6800系列兩種MPU接口,,提供4×8或8×8的鍵盤掃描接口,提供使用者自行創(chuàng)建字型及符號的功能,,可以進行文字對齊,、設置粗體字、設置行間距和LCD對比度,、背光調(diào)節(jié),。
    STM32系列嵌入式芯片是常用的微控制器芯片,本文使用的是內(nèi)核為32位CotrexTM-M3的STM32F103,,并行LCD接口兼容8080/6800模式,,通過配置FSMC來連接LCD。在實驗中還把UCGUI軟件移植入STM32F103中,,UCGUI是一種嵌入式系統(tǒng)中常用的圖形支持軟件,,適用于各種尺寸的LCD,將UCGUI軟件移植入微控制器可以方便的繪制圖形,、文字,、控件等人機交互界面元素。

1 RA8806數(shù)據(jù)總線接口方式
    常見的RA8806是用I/O或總線方式與單片機或嵌入式系統(tǒng)連接,本文采用的是320×240分辨率的RA8806控制器觸摸屏以總線方式與STM32F103連接,,連接的電路如圖1所示,。

a.JPG


    在設計中將BUSY引腳9空置,復位引腳11接高電平,,可以通過STM32F130復位完成整個電路復位,。RA8806和STM32F103都是采用了Intel 8080模式連接,數(shù)據(jù)總線寬度為8 b,。

2 軟件設計
2.1 軟件初始化
    系統(tǒng)軟件初始化包括STM32F103初始化,、UCGUI初始化和RA8806控制器初始化,在STM32F103初始化中FSMC的配置為:
b.JPG
    在RA8806控制器中,,觸摸屏有自動模式和手動模式兩種,,自動模式和手動模式中,都可以通過觸碰產(chǎn)生中斷讀取觸碰坐標值,,手動模式還可以通過輪詢觸碰事件讀取坐標,,在實驗中采用的是手動模式中的輪詢方式,這種方式的流程圖如圖2所示,。在初始化RA8806時,,寄存器TPCR1,TPCR2,,INTR須按流程圖設置,,DWWR=AWRR=0x27,DWHR=AWBR=0xEF,,其他寄存器默認設置,。

c.JPG


2.2 觸摸屏坐標
    觸摸屏的坐標分為邏輯坐標和物理坐標,邏輯坐標為用戶觸摸是手指所點擊屏幕的坐標,,物理坐標為觸摸屏顯示的實際坐標,,邏輯坐標和物理坐標比較接近,如果相差太多就需要校準,。
    RA8806是通過一個10位的A/D轉(zhuǎn)換器連接4線電阻式觸摸屏,,用戶觸摸后產(chǎn)生的邏輯坐標存于TPXR,TPYR和TPZR 3個寄存器中,,TPXR中存放了x軸坐標的高8位,,TPYR中存放了y軸坐標的高8位,TPZR的bit[1:0]是x軸的低二位,,bit[3:2]是y軸的低二位,。
    為了便于處理邏輯坐標,將TPXR和TPYR寄存器的數(shù)據(jù)左移2位進行計算,,再分別取出TPZR寄存器中的低二位進行或運算,,得出x,,y軸的坐標。這個邏輯坐標不能直接顯示,,需要進行校準處理后根據(jù)觸摸屏的大小轉(zhuǎn)換為物理坐標顯示,,設計程序如下:
d.JPG
    如果用戶觸摸的范圍超出了設定的顯示窗口,就需要對邏輯坐標(x,,y)進行判斷,,如果超出了范圍,邏輯坐標無效,,就將鼠標設置到對應的邊緣,,反之邏輯坐標有效。
2.3 觸摸屏校準
    由于觸摸屏自身的性能不好,,或使用一段時間后會發(fā)現(xiàn)邏輯坐標和物理坐標的偏差越來越大,,坐標不準造成誤操作影響用戶使用,這樣就要通過校準程序來減少誤差,。電阻式觸摸屏的電壓成線性均勻分布,,假設觸摸屏上一點的邏輯坐標為(xA,yA),,對應的物理坐標為(xDA,,yDA),由電阻式觸摸屏的線性特性可知,,任意一點B的邏輯坐標可以用下面公式表示:
    e.JPG
    只需在觸摸屏上取3個物理坐標已知的點A,,B,C,,這3個點應該分布均勻不靠近邊緣以免不準確,,通過讀取TPXR,TPYR,,TPZR寄存器讀出邏輯坐標求出Kx,,Ky,,求出Kx,,Ky后由式(1)校準邏輯坐標與物理坐標,圖3(a)為校準的界面,,圖3(b)為校準后計算的Kx,,Ky,由圖可以看出兩個系數(shù)都接近于1,,說明觸摸屏的坐標誤差比較小,。

g.JPG



3 結(jié)語
    RA8806控制器在軟件設計上方便、靈活,,能滿足開發(fā)人員對中等尺寸觸摸屏控制器的要求,,豐富的功能和較高的性價比使RA8806控制器的LCD在市場上有很大的優(yōu)勢,,基于RA8806的觸摸屏與STM32嵌入式系統(tǒng)通過數(shù)據(jù)總線方式相結(jié)合,可以構造出理想的人機交互界面,,具有廣闊的應用領域,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉(zhuǎn)載,。