亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于RA8806控制器的觸摸屏設計

        2014-08-02 05:14:22肖靜文程維明封高歌
        化工自動化及儀表 2014年10期
        關鍵詞:坐標值觸摸屏電阻

        肖靜文 程維明 劉 偉 封高歌

        (上海工程技術大學機械工程學院,上海 201620)

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

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

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

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

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

        2 觸摸校準方法

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

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

        (1)

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

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

        (XLCD,YLCD)——觸點在LCD屏上的坐標;

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

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

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

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

        (2)

        3 軟件設計

        圖2 觸摸屏與LCD屏的坐標系示意圖

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

        #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屏的坐標轉(zhuǎn)換和定位函數(shù),可根據(jù)式(2)設計,因屏幕分辨率為320×240,故將程序中W設定為320,H設定為240。以行方向的坐標轉(zhuǎn)換為例(列方向的坐標轉(zhuǎn)換類似),其坐標轉(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)換后的像素坐標值

        }

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

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

        //保存Y坐標10位AD值

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

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

        {

        … …//判斷坐標是否在按鍵范圍內(nèi),在則實現(xiàn)相應功能

        }

        }

        }

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

        4 實驗測試

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

        5 結(jié)束語

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

        猜你喜歡
        坐標值觸摸屏電阻
        麥弗遜懸架主銷軸線對半軸滑移的影響
        北京汽車(2023年1期)2023-03-03 00:50:38
        電阻大小誰做主
        PLC和觸摸屏在衛(wèi)生間控制系統(tǒng)的應用
        巧測電阻
        皮膚“長”出觸摸屏
        基于二分法迭代的凸模數(shù)控銑削加工編程*
        電阻焊
        基于multisim13.0負電阻在電源中作用的仿真
        投射式多點觸控電容觸摸屏
        河南科技(2014年12期)2014-02-27 14:10:32
        觸摸屏項目移植在自動化系統(tǒng)升級中的應用
        97人妻碰碰视频免费上线| 精品国产一区二区三区毛片| 一区二区三区岛国av毛片| 狠狠狠色丁香婷婷综合激情| 国产成人乱色伦区小说| 亚洲巨乳自拍在线视频| 一区二区三区内射美女毛片| 亚洲国产aⅴ成人精品无吗| 国产伦精品一区二区三区免费| 久久成年片色大黄全免费网站| 亚洲AV无码一区二区三区少妇av| 国产a级网站| 亚洲免费视频一区二区三区| 国产女主播一区二区久久| 人妻 日韩 欧美 综合 制服 | 久草热8精品视频在线观看| 亚洲国产精品综合久久20| 中文人妻无码一区二区三区信息 | 欲香欲色天天综合和网| www插插插无码免费视频网站 | 国产精品video| 国产一区二区三区亚洲天堂| av网站免费在线不卡| 国产91人妻一区二区三区| 亚洲日韩国产一区二区三区| 国产精品视频一区二区三区四 | 日本人视频国产一区二区三区| 777亚洲精品乱码久久久久久| 欧美深夜福利网站在线观看| 视频在线播放观看免费| 丝袜人妻一区二区三区| 国产成人无码免费网站| 婷婷激情五月综合在线观看| 91盗摄偷拍一区二区三区| 亚洲男同gay在线观看| 欧美成人小视频| 日韩十八禁在线观看视频| 亚洲乱码无人区卡1卡2卡3| 亚洲av无码之日韩精品| 精品人妻av一区二区三区不卡 | 国产suv精品一区二区四|