999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于RA8806控制器的觸摸屏設(shè)計(jì)

2014-08-02 05:14:22肖靜文程維明封高歌
化工自動(dòng)化及儀表 2014年10期
關(guān)鍵詞:單片機(jī)方向系統(tǒng)

肖靜文 程維明 劉 偉 封高歌

(上海工程技術(shù)大學(xué)機(jī)械工程學(xué)院,上海 201620)

觸摸屏技術(shù)是嵌入式系統(tǒng)領(lǐng)域重要的應(yīng)用技術(shù)之一,隨著電子產(chǎn)品智能化、便捷化的發(fā)展趨勢,觸摸屏作為一種簡單、直觀和快捷的人機(jī)交互設(shè)備,已逐步取代傳統(tǒng)的鍵盤及鼠標(biāo)等輸入設(shè)備,不僅在日常生活中的儀器儀表應(yīng)用廣泛,而且在工業(yè)控制領(lǐng)域上更是廣泛應(yīng)用。觸摸屏一般可分為電阻式、電容式、紅外線式及表面聲波式等[1],其中電阻觸摸屏反應(yīng)靈敏,工作穩(wěn)定,工作環(huán)境對外界隔離,被廣泛應(yīng)用于惡劣的工業(yè)環(huán)境中。觸摸屏通常組合LCD屏使用,常見的觸摸屏有4.3、5.7、7.0寸,常用的驅(qū)動(dòng)控制器有AD7843及AD7846等。

筆者介紹了一種硬件電路實(shí)現(xiàn)較為方便的RA8806控制器[2~4],使用分辨率為320×240的5.1寸觸摸屏技術(shù)。針對觸摸屏與LCD屏的坐標(biāo)原點(diǎn)和坐標(biāo)方向不一致的情況,介紹了觸摸校準(zhǔn)方法和軟件實(shí)現(xiàn)方法,并在STC89C52單片機(jī)系統(tǒng)平臺上完成實(shí)驗(yàn)測試。

1 RA8806觸摸屏系統(tǒng)①

RA8806是一種介于MCU和LCD驅(qū)動(dòng)器之間的控制集成芯片,內(nèi)建雙圖層、中英文字庫與繪圖模式的智能型電阻式觸控掃描控制器,該控制器有效地減輕了MCU的負(fù)擔(dān),硬件電路實(shí)現(xiàn)相對簡單,節(jié)省了使用者的軟、硬件開發(fā)成本和時(shí)間。基于RA8806控制器的觸摸屏屬于四線電阻式觸摸屏,其本質(zhì)是一套傳感器系統(tǒng),這種觸摸屏由兩層導(dǎo)電層組成。當(dāng)兩層導(dǎo)電層在某點(diǎn)發(fā)生接觸時(shí),電阻發(fā)生變化,在行和列(X和Y)兩個(gè)方向上產(chǎn)生電壓信號,然后由RA8806控制器采樣,經(jīng)過其內(nèi)置的10位A/D轉(zhuǎn)換器轉(zhuǎn)換成坐標(biāo)信號送至CPU。RA8806控制器觸摸系統(tǒng)如圖1所示,RA8806接收MCU送來的指令,然后將MCU所要顯示的內(nèi)容以數(shù)據(jù)形式傳輸?shù)絃CD驅(qū)動(dòng)器(包括行驅(qū)動(dòng)和列驅(qū)動(dòng)),再經(jīng)過LCD驅(qū)動(dòng)器連接至LCD屏上顯示出所要顯示的文字或圖案。

圖1 觸摸系統(tǒng)框圖

2 觸摸校準(zhǔn)方法

使用觸摸屏的首要問題是如何進(jìn)行坐標(biāo)定位,即如何確定觸摸點(diǎn)的坐標(biāo)位置。由于加工工藝及安裝等原因,觸摸屏與LCD屏尺寸存在差異,不可能完全對準(zhǔn),致使觸摸屏與LCD屏之間存在微小偏移量,且LCD 屏的坐標(biāo)是以像素為單位的,而從觸摸屏中讀出的是觸摸點(diǎn)的物理坐標(biāo),即電壓數(shù)字量的大小。因此在使用時(shí)必須進(jìn)行坐標(biāo)定位,將觸摸屏的物理坐標(biāo)轉(zhuǎn)換為LCD屏上的像素坐標(biāo)。常用的觸摸屏坐標(biāo)定位方法有最值法、三點(diǎn)法和四點(diǎn)法[5~7]。其中,四點(diǎn)定位法精度最高,但編程實(shí)現(xiàn)起來相對復(fù)雜,適用于觸摸精度要求較高的產(chǎn)品,如用于手寫識別領(lǐng)域;最值法精度相對較低,但對于一般的工業(yè)用屏,其精度要求大多不是很高,最值法可以滿足要求。

如果觸摸屏的坐標(biāo)原點(diǎn)與LCD屏的坐標(biāo)原點(diǎn)和坐標(biāo)方向一致,可直接采用最值法的觸點(diǎn)坐標(biāo)轉(zhuǎn)換公式,即:

(1)

式中H、W——LCD屏的行像素寬和列像素寬;

x、y——觸點(diǎn)在觸摸屏行、列方向上產(chǎn)生的電壓數(shù)字量大小;

(XLCD,YLCD)——觸點(diǎn)在LCD屏上的坐標(biāo);

xmax,xmin——觸摸屏上最大和最小坐標(biāo)點(diǎn)在行方向上產(chǎn)生的電壓數(shù)字量的實(shí)際測量值;

ymax,ymin——觸摸屏上最大和最小坐標(biāo)點(diǎn)在列方向上產(chǎn)生的電壓數(shù)字量的實(shí)際測量值。

由于RA8806控制器內(nèi)建了一組10位ADC,電壓數(shù)字量滿量程為210,而在其實(shí)際工作過程中,該電壓數(shù)字量通常達(dá)不到0或滿量程,因此需通過測試得到相對值。

通常在觸摸屏的對角線上取兩個(gè)對角頂點(diǎn),并將觸摸得到的電壓數(shù)字量轉(zhuǎn)換為十六進(jìn)制數(shù)顯示。通過實(shí)際測試發(fā)現(xiàn),該5.1寸觸摸屏與LCD屏的坐標(biāo)原點(diǎn)與坐標(biāo)方向均不同(圖2),因此不能直接套用式(1)。由于實(shí)際的坐標(biāo)值和LCD的寫入順序是180°的關(guān)系,所以在轉(zhuǎn)換時(shí)公式做如下變換:

(2)

3 軟件設(shè)計(jì)

圖2 觸摸屏與LCD屏的坐標(biāo)系示意圖

基于RA8806控制器的5.1寸觸摸屏系統(tǒng)采用KEIL C語言編寫程序,完成軟件設(shè)計(jì)。在使用觸摸屏之前,首先要對程序進(jìn)行初始化操作,包括軟件重置、清屏和寄存器配置的初始化。在驅(qū)動(dòng)程序設(shè)計(jì)中,最重要的問題是基本讀、寫函數(shù)(即讀狀態(tài)、讀數(shù)據(jù)、寫指令、寫數(shù)據(jù)函數(shù))的時(shí)序配合問題,應(yīng)嚴(yán)格按照RA8806數(shù)據(jù)手冊資料編寫,時(shí)序配合不好顯示屏將無任何顯示。在數(shù)據(jù)采樣和處理程序中,觸摸屏和LCD屏的坐標(biāo)轉(zhuǎn)換是關(guān)鍵問題,為了編程方便,先通過測試得到觸摸屏上的最小和最大坐標(biāo)點(diǎn)在行、列方向上的像素坐標(biāo)值,并定義在程序開頭,即:

#define x_tp -854 // x_tp =xmin-xmax

#define y_tp 852 // y_tp =ymin-ymax

#define x_tpm 948 //在X方向的觸摸范圍內(nèi)最大值xmax

#define y_tpm 944 //在Y方向的觸摸范圍內(nèi)最大值ymax

程序中的tpx_trans(x),tpy_trans(y)是觸摸屏和LCD屏的坐標(biāo)轉(zhuǎn)換和定位函數(shù),可根據(jù)式(2)設(shè)計(jì),因屏幕分辨率為320×240,故將程序中W設(shè)定為320,H設(shè)定為240。以行方向的坐標(biāo)轉(zhuǎn)換為例(列方向的坐標(biāo)轉(zhuǎn)換類似),其坐標(biāo)轉(zhuǎn)換程序如下:

unsigned int tpx_trans(unsigned int x)

{

long tpx;

long temp;

temp = (((long)x)-x_tpm)*320;

tpx = temp/x_tp;

return tpx;//返回轉(zhuǎn)換后的像素坐標(biāo)值

}

觸控操作采用RA8806控制器提供的觸控功能自動(dòng)模式。當(dāng)觸摸屏被觸碰時(shí),信號不夠穩(wěn)定,為了避免錯(cuò)誤動(dòng)作,采取連續(xù)讀3次中斷狀態(tài)、讀3次坐標(biāo)值進(jìn)行對比的方法,最后判斷坐標(biāo)是不是在按鍵范圍內(nèi)。假設(shè)按鍵長為m個(gè)像素點(diǎn),寬為n個(gè)像素點(diǎn),那么這個(gè)范圍對應(yīng)了觸摸屏上一個(gè)范圍的坐標(biāo),若按鍵在此范圍內(nèi)則實(shí)現(xiàn)相應(yīng)功能。由于RA8806控制器中的A/D轉(zhuǎn)換提供10位精度,因此在程序中X1[3],Y1[3]用來保存觸摸點(diǎn)X、Y坐標(biāo)的高8位值,X2[3]、Y2[3] 用來保存觸摸點(diǎn)X、Y坐標(biāo)的低兩位值。需要注意當(dāng)檢測到觸摸事件時(shí),要延時(shí)一段時(shí)間等待AD轉(zhuǎn)換完成,若延時(shí)控制不好,將導(dǎo)致轉(zhuǎn)換出錯(cuò),以致觸摸不準(zhǔn)確。

void Auto_tp ( )

{

unsigned char k, temp, X1[3], X2[3], Y1[3], Y2[3];

unsigned int X, Y, x_temp,y_temp;

… …

if ((X1[0]==X1[1])&&(X1[0]==X1[2]))

{

X = (((unsigned int)X1[0]&0x00ff)<<2) | ((unsigned int)X2[0]&0x0003);

//保存X坐標(biāo)10位AD值

Y = (((unsigned int)Y1[0]&0x00ff)<<2) | (((unsigned int)Y2[0]&0x000C) >> 2);

//保存Y坐標(biāo)10位AD值

x_temp = tpx_trans(X);//X坐標(biāo)轉(zhuǎn)換

y_temp = tpy_trans(Y); //Y坐標(biāo)轉(zhuǎn)換

{

… …//判斷坐標(biāo)是否在按鍵范圍內(nèi),在則實(shí)現(xiàn)相應(yīng)功能

}

}

}

另外,若要顯示多個(gè)界面,需設(shè)置頁面標(biāo)志變量Flag,通過給頁面標(biāo)志變量Flag賦不同的值顯示不同界面,以防止發(fā)生坐標(biāo)沖突事件。

4 實(shí)驗(yàn)測試

5.1寸觸摸屏系統(tǒng)在STC89C52單片機(jī)系統(tǒng)平臺上進(jìn)行測試,首先在硬件電路中將單片機(jī)的外部中斷引腳接至RA8806的觸摸中斷信號腳,當(dāng)有觸摸動(dòng)作時(shí),單片機(jī)就會(huì)進(jìn)入中斷處理觸摸坐標(biāo)值。另外,要注意通過可調(diào)電阻來調(diào)節(jié)顯示屏的對比度,否則即使有數(shù)據(jù)顯示,開發(fā)人員肉眼無法看到。通過實(shí)驗(yàn)測試得到:當(dāng)顯示模塊的內(nèi)部負(fù)壓輸出(VOUT腳)在-20V左右時(shí),顯示效果達(dá)到最佳。實(shí)驗(yàn)測試表明該觸摸屏反應(yīng)靈敏,工作可靠,目前已用于自動(dòng)阿貝折射儀。

5 結(jié)束語

介紹了一種智能型電阻式觸控掃描控制器RA8806,分析了基于RA8806控制器的觸摸屏系統(tǒng)工作原理,針對觸摸屏與LCD屏的坐標(biāo)原點(diǎn)和坐標(biāo)方向不一致的情況,介紹了觸摸屏的校準(zhǔn)方法和相關(guān)軟件設(shè)計(jì),并在STC89C52單片機(jī)系統(tǒng)平臺上完成測試。測試結(jié)果表明:該5.1寸觸摸屏系統(tǒng)工作穩(wěn)定,觸摸效果良好。該基于RA8806控制器的觸摸屏系統(tǒng)開發(fā)方便,成本低廉,滿足日常生活和一般工控領(lǐng)域的儀器儀表需求。

猜你喜歡
單片機(jī)方向系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
2022年組稿方向
2021年組稿方向
WJ-700無人機(jī)系統(tǒng)
2021年組稿方向
ZC系列無人機(jī)遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機(jī)的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機(jī)的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
主站蜘蛛池模板: 无码人中文字幕| 国产91av在线| 天天干伊人| 亚洲一区二区三区国产精华液| 午夜激情婷婷| 乱系列中文字幕在线视频| 欧美天堂久久| 国产无码性爱一区二区三区| 亚洲国产欧洲精品路线久久| 思思热在线视频精品| 欧美不卡在线视频| 91区国产福利在线观看午夜| 欧美a在线视频| 亚洲中文字幕久久无码精品A| 中文字幕人妻无码系列第三区| 色噜噜久久| 成人午夜久久| 国产青青操| 亚洲男人在线| 午夜少妇精品视频小电影| 伊人无码视屏| 午夜视频在线观看区二区| 欧美国产视频| 亚洲人成日本在线观看| 亚洲精品大秀视频| 在线国产毛片手机小视频 | 91成人免费观看| 精品一区二区三区波多野结衣| 国产美女无遮挡免费视频| 亚洲中字无码AV电影在线观看| 国产打屁股免费区网站| 日韩高清无码免费| 亚洲中文字幕在线观看| 1769国产精品免费视频| 99精品在线看| 亚洲福利片无码最新在线播放| 亚洲V日韩V无码一区二区| 国产成人无码AV在线播放动漫| 热99re99首页精品亚洲五月天| 国产成人亚洲精品色欲AV| 99无码熟妇丰满人妻啪啪| 99久视频| 91精品日韩人妻无码久久| 久久不卡精品| 狠狠色噜噜狠狠狠狠奇米777| 国产白浆在线| 精品福利视频网| 美女潮喷出白浆在线观看视频| 国产精品原创不卡在线| 91视频国产高清| 精品第一国产综合精品Aⅴ| 国产人成乱码视频免费观看| 精品国产91爱| 国产一级毛片在线| 美女毛片在线| 97青青青国产在线播放| 亚洲国产成人在线| 久久久久久久久久国产精品| 亚洲熟女中文字幕男人总站| 欧美国产成人在线| 亚洲精品无码不卡在线播放| 91福利免费视频| 最新亚洲人成无码网站欣赏网| 秋霞国产在线| 中国一级特黄大片在线观看| 四虎免费视频网站| 久久成人国产精品免费软件| 综合色婷婷| 久久国产精品嫖妓| 精品视频在线一区| 日韩精品毛片| 曰AV在线无码| 久久亚洲综合伊人| 漂亮人妻被中出中文字幕久久| 中国国产高清免费AV片| 久草美女视频| 日韩不卡免费视频| 波多野结衣一区二区三区四区视频| 喷潮白浆直流在线播放| 国产精品理论片| 91亚洲免费| 日本尹人综合香蕉在线观看 |