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

觸摸式液晶屏二次開(kāi)發(fā)中幾項(xiàng)關(guān)鍵技術(shù)研究

2010-06-13 11:33:02夏心江吳志國(guó)
微處理機(jī) 2010年3期
關(guān)鍵詞:單片機(jī)設(shè)計(jì)

夏心江,吳志國(guó),胡 鋼

(河海大學(xué)計(jì)算機(jī)及信息工程學(xué)院,江蘇常州213022)

1 引言

隨著信息技術(shù)的快速發(fā)展,觸摸屏的應(yīng)用日趨普及,在我國(guó)已逐漸形成了產(chǎn)業(yè),觸摸屏輸入裝置將會(huì)發(fā)展成為未來(lái)諸種信息產(chǎn)品的主流技術(shù)之一。但是,在各類領(lǐng)域應(yīng)用觸摸屏的二次開(kāi)發(fā)過(guò)程中,必須先解決好幾個(gè)關(guān)鍵技術(shù),諸如:驅(qū)動(dòng)程序、觸控寄存器配置、字符圖形顯示編程、人機(jī)交互程序等,方能使系統(tǒng)設(shè)計(jì)得以繼續(xù)。就目前可參考的資料而言,可借鑒的設(shè)計(jì)技術(shù)系統(tǒng)描述十分有限,下面重點(diǎn)討論這些問(wèn)題。

2 觸摸屏系統(tǒng)硬件設(shè)計(jì)

2.1 硬件系統(tǒng)組成

觸摸屏的本質(zhì)是傳感器,它由觸摸檢測(cè)部件和觸摸屏控制器組成。觸摸檢測(cè)部件安裝在顯示器屏幕前面,用于檢測(cè)用戶觸摸位置;觸摸屏控制器是從觸摸檢測(cè)裝置接收信息,將它轉(zhuǎn)換成觸點(diǎn)坐標(biāo)送給CPU,同時(shí)能接收CPU發(fā)來(lái)的命令并加以執(zhí)行。硬件系統(tǒng)由320×240分辨率的 NB320240R_BIW_SBNH觸摸式液晶屏、驅(qū)動(dòng)芯片NT7086、觸控芯片RA8806組成,如圖1所示。

RA8806是臺(tái)灣瑞佑公司開(kāi)發(fā)的文字與繪圖模式的點(diǎn)矩陣液晶顯示(STN-LCD)控制器,內(nèi)建字庫(kù),具有觸摸屏控制、對(duì)比控制、鍵盤(pán)掃描等功能強(qiáng)大的核心部件,同時(shí)能夠提供畫(huà)面旋轉(zhuǎn)、字體放大等超強(qiáng)附加功能。NT7086芯片是LSI公司推出的基于低功耗CMOS高電壓制程技術(shù)的LCD驅(qū)動(dòng)器。在段驅(qū)動(dòng)模式,它可以連接1位串行或4位并行算法的控制器;在共同驅(qū)動(dòng)模式,適用雙輸入模式;在部分應(yīng)用模式,具有電源關(guān)閉功能,能降低能源消耗[4]。

觸控芯片負(fù)責(zé)完成整個(gè)液晶屏的顯示控制及觸摸信號(hào)的采集與處理,驅(qū)動(dòng)芯片為顯示控制提供驅(qū)動(dòng),320*240觸摸屏用于顯示及感測(cè)觸摸信號(hào)。整個(gè)觸摸式液晶屏的控制命令由MCU單片機(jī)發(fā)出。eP89V51RD2FN單片機(jī)是PHILIPS公司開(kāi)發(fā)的一款80C51微控制器,包含64kB Flash和1024字節(jié)的數(shù)據(jù)RAM,封裝為塑料雙列直插式40腳,F(xiàn)lash程序存儲(chǔ)器支持并行和串行方式在系統(tǒng)編程(ISP)[6]。

圖1 觸摸屏硬件結(jié)構(gòu)框圖

2.2 觸控芯片模式選擇及單片機(jī)接口配置

RA8806支持8080和6800等兩種微處理機(jī)接口傳輸模式。接口模式的選擇決定于RA8806“MI”引腳的電位。當(dāng)選擇8080模式時(shí),MI接低電位;選擇6800模式時(shí),MI接高電位。本設(shè)計(jì)采用的是8080模式,表 1所示為在 8080時(shí)序下P89V51RD2FN單片機(jī)與觸摸式液晶屏的接口連接設(shè)計(jì)。程序在PC機(jī)中經(jīng)過(guò)編譯后,通過(guò)串口,由HIN232CP芯片驅(qū)動(dòng)并傳送到P89V51RD2FN單片機(jī)內(nèi),P89V51RD2FN單片機(jī)通過(guò)特定接口向觸摸式液晶屏發(fā)出控制指令。控制觸摸式液晶屏的顯示、信號(hào)采集與處理等操作[1]。

表1 單片機(jī)與液晶接口對(duì)應(yīng)連接表

3 觸摸屏二次開(kāi)發(fā)相關(guān)軟件設(shè)計(jì)

3.1 程序初始化

在程序設(shè)計(jì)之初,必須進(jìn)行初始化操作,包括如下步驟:

(1)設(shè)計(jì)軟件重置初始化函數(shù),當(dāng)執(zhí)行完一段代碼后,進(jìn)行重置操作。

(2)設(shè)計(jì)清空顯示初始化函數(shù),當(dāng)觸摸式液晶屏即將進(jìn)入下一屏?xí)r,清空本屏的顯示內(nèi)容。

(3)設(shè)計(jì)寄存器配置初始化函數(shù),將RA8806各寄存器設(shè)置為默認(rèn)值。

各初始化函數(shù)如下:

void softrst()//軟件重置初始化函數(shù)

void lcd_inital()//寄存器配置初始化函數(shù)

void clear(void)//清屏顯示初始化函數(shù)

3.2 驅(qū)動(dòng)程序設(shè)計(jì)

RA8806可以接收四種數(shù)據(jù)傳輸周期,分別是指令寫(xiě)入周期、狀態(tài)讀取周期、數(shù)據(jù)寫(xiě)入周期以及數(shù)據(jù)讀取周期。

要對(duì)某緩存器進(jìn)行寫(xiě)數(shù)據(jù)時(shí),首先執(zhí)行指令寫(xiě)入周期,包括欲寫(xiě)入緩存器的編號(hào),再以寫(xiě)入數(shù)據(jù)周期將數(shù)值寫(xiě)入該緩存器。這兩個(gè)周期執(zhí)行后,數(shù)值數(shù)據(jù)將被寫(xiě)入到該緩存器。由于每一指令的寫(xiě)入需要兩個(gè)數(shù)據(jù)傳輸周期,且每個(gè)數(shù)據(jù)傳輸周期最少也要2個(gè)系統(tǒng)頻率周期的時(shí)間才能完成,因此每一條指令至少需要花費(fèi)4個(gè)系統(tǒng)頻率周期才能寫(xiě)入。

寫(xiě)入指令初始化步驟:①設(shè)定ZCS1為低電位(觸摸液晶屏系統(tǒng)已將CS2固定為高電位),此時(shí)為接收指令狀態(tài)。②置ZRD為高電平,即關(guān)閉讀取信號(hào)。③利用RS與ZWR的配合時(shí)序確定存取周期。④關(guān)閉寫(xiě)信號(hào)及接收指令狀態(tài),即拉高ZWR電平與ZCS1電平。

驅(qū)動(dòng)程序設(shè)計(jì)方法如下:

void LCD_CmdWrite(uchar cmdaddr)//8080時(shí)序

{

cs1=0;

rd=1;

rs=1;

wr=0;

BUS=cmdaddr;

wr=1;

cs1=1;

}

寫(xiě)入數(shù)據(jù)周期與寫(xiě)入指令周期的不同點(diǎn)在于RS與ZWR的配合時(shí)序不同。

驅(qū)動(dòng)程序設(shè)計(jì)方法如下:

void LCD_DataWrite(uchar wrdata)//數(shù)據(jù)寫(xiě)控制

{

cs1=0;

rd=1;

rs=0;

wr=0;

BUS=wrdata;

wr=1;

cs1=1;

}

讀取數(shù)據(jù)初始化步驟:①定義變量Data,用于存儲(chǔ)讀取到的數(shù)據(jù)。②利用RS與ZWR的配合時(shí)序確定存取周期。③設(shè)定ZRD為讀有效狀態(tài)。④關(guān)閉讀有效狀態(tài),同時(shí)拉高RS電平。⑤將從BUS中讀到的數(shù)據(jù)返回到寄存器內(nèi)。

驅(qū)動(dòng)程序設(shè)計(jì)方法如下:

uchar LCD_DataRead(void)//數(shù)據(jù)讀控制

{

uchar Data;

wr=1;

rs=0;

cs1=0;

rd=0;

Data=BUS;

rd=1;

cs1=1;

rs=1;

return Data;

}

3.3 寄存器配置及字符、圖形顯示編程技術(shù)

字符顯示的寄存器配置可參考圖2流程。

圖2 字符顯示寄存器配置流程圖

圖形顯示主要采用描點(diǎn)法,以顯示任意一點(diǎn)為先決條件,逐步畫(huà)出所有需要顯示的點(diǎn)。例如:在界面上顯示一個(gè)正方形,首先,設(shè)計(jì)描點(diǎn)函數(shù),用于在坐標(biāo)(e,r)處點(diǎn)亮數(shù)組m中的第u個(gè)像素點(diǎn),即完成顯示任意一點(diǎn)功能。接著,設(shè)計(jì)正方形圖形顯示函數(shù),調(diào)用描點(diǎn)函數(shù),顯示所需圖形。

用于畫(huà)橫行的描點(diǎn)函數(shù)如下:

void display_dian(uchar*m,uchar e,uchar r,uchar u)

//描點(diǎn)函數(shù)1,用于畫(huà)橫行

{

LCD_CmdWrite(0x00);

LCD_DataWrite(0x04);//選擇文字工作模式為文字模式

LCD_CmdWrite(0x60);

LCD_DataWrite(e);//定位橫坐標(biāo)

LCD_CmdWrite(0x70);

LCD_DataWrite(r);//定位縱坐標(biāo)

LCD_CmdWrite(0xb0);

LCD_DataWrite(m[u]);//顯示點(diǎn)

}

用于畫(huà)豎列的描點(diǎn)函數(shù)聲明如下,其他類同:

void display_dian1(uchar*m,uchar e,uchar r,uchar u)

//描點(diǎn)函數(shù)2,用于畫(huà)豎行

正方形圖形顯示函數(shù)編程如下:

////正方形x:正方形左上角x坐標(biāo),y:正方形左上角y坐標(biāo)//////

void display_fang(uchar x,uchar y)

{

t=0;

count=0;

g=0;//參數(shù)初始化

for(t=0;t<48;t++)//上行

{count=t/8;

g=t%8;

display_dian(raio1,x+count,y,g);

}

t=0;

count=0;

g=0;//參數(shù)初始化

for(t=0;t<48;t++)//下行

{

count=t/8;

g=t%8;

display_dian(raio1,x+count,y+40,g);

}

p=y+1;//參數(shù)初始化

for(t=0;t<40;t++)//右豎

{

display_dian1(raio2,x+6,p++ ,0);

}

p=y+1;

for(t=0;t<39;t++)//左豎

{

display_dian1(raio2,x,p++ ,0);

}

}

在主函數(shù)中需要畫(huà)圖時(shí)可調(diào)用本函數(shù)進(jìn)行逐步描點(diǎn)操作。

3.4 數(shù)據(jù)的采樣與處理

RA8806內(nèi)建一組10位ADC和控制電路,以連接四線電阻式觸控屏幕。觸控屏幕由兩層非常薄的電阻式屏幕組成,如圖3。在兩層屏幕中間有一小縫隙,當(dāng)有外力施加在面板上的某一點(diǎn)時(shí),兩層電阻式屏幕將被觸碰(touch),形成回路而導(dǎo)通。由于兩層電阻式屏幕的端點(diǎn)含有電極(XL、XR、YU、YD),如圖4,因此,相對(duì)于觸碰的位置,系統(tǒng)將偵測(cè)到一個(gè)XY的坐標(biāo)值。

當(dāng)觸控事件發(fā)生時(shí),在屏幕電阻上所產(chǎn)生的分壓將決定觸控的所在位置。在XY的坐標(biāo)值被傳回系統(tǒng)(RA8806)并儲(chǔ)存在特定的緩存器后,觸控屏幕控制器(touch panel controller)將發(fā)出一中斷告知微處理機(jī)(MPU),即中斷(INTR)寄存器的觸控掃描偵測(cè)狀態(tài)位(BIT0)將會(huì)被置為1。

數(shù)據(jù)采樣與處理編程流程如圖5所示。根據(jù)設(shè)計(jì)需要配置寄存器:設(shè)定寄存器TPCR1的BIT7為1,BIT6—BIT4為 100,BIT2 —BIT0為 100,將寄存器INTR的BIT7—BIT0全部清零。

圖5 數(shù)據(jù)采樣與處理流程圖

3.5 人機(jī)交互子程序設(shè)計(jì)

人機(jī)交互程序設(shè)計(jì)步驟如下:①使能觸控功能,重置中斷狀態(tài);②讀取中斷狀態(tài),判斷觸摸狀態(tài)位,確定觸點(diǎn)被按下;③讀取X、Y坐標(biāo),判斷按下觸點(diǎn)后所發(fā)出命令;④進(jìn)入觸點(diǎn)操作子函數(shù),執(zhí)行本命令;⑤返回參數(shù)及清空中斷。

4 結(jié)束語(yǔ)

以上介紹的觸摸屏在系統(tǒng)應(yīng)用開(kāi)發(fā)過(guò)程中,所涉及到的幾項(xiàng)關(guān)鍵技術(shù),如驅(qū)動(dòng)程序、觸控寄存器配置、字符圖形顯示編程、人機(jī)交互程序等技術(shù),已經(jīng)運(yùn)用到所承擔(dān)的課題“RLC數(shù)字測(cè)量?jī)x”設(shè)計(jì)之中,為系統(tǒng)提供了最簡(jiǎn)單、方便、自然的一種新型人機(jī)交互方式。所介紹的相關(guān)技術(shù)具有一定的通用性、實(shí)用性和借鑒價(jià)值。

[1]Raio Technology Inc.RA8806 two layers Character/Graphic LCD Controller Specification Preliminary Version 1.0[EB/OL].2008.http://www.raio.com.tw/Data/Datasheet/RA88%20Series/Completed/RA8806_DS_v13_Eng.pdf.

[2]葉小嶺,嚴(yán)海東.嵌入式觸摸屏在汽車(chē)實(shí)驗(yàn)記錄儀中的應(yīng)用[J].計(jì)算機(jī)測(cè)量與控制,2009,17(3):573-575.

[3]New Tec DisplayCo.Ltd.NB320240R -BIW -SBN 觸摸屏[EB/OL].http://www.newtec.com.tw.

[4]NEOTEC SEMICONDUCTOR LTD.NT7086.80 CH SEGMENT/COMMON DRIVER FOR DOT MATRIX LCD[EB/OL].2002.http://www.neotec.com.tw.

[5]Intersil Corporation.HIN230 thru HIN241 Data Sheet[EB/OL].2000.http://www.intersil.com/data/fn/fn3138.pdf.

[6]周立功.P89V51RD2器件手冊(cè)[EB/OL].液晶與顯示.2005. http://www. zlgmcu. com/philips/80c51/P89V51RD2/P89V51_isp.pdf.

猜你喜歡
單片機(jī)設(shè)計(jì)
何為設(shè)計(jì)的守護(hù)之道?
《豐收的喜悅展示設(shè)計(jì)》
流行色(2020年1期)2020-04-28 11:16:38
基于單片機(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測(cè)量?jī)x
電子制作(2019年9期)2019-05-30 09:42:02
瞞天過(guò)海——仿生設(shè)計(jì)萌到家
小議PLC與單片機(jī)之間的串行通信及應(yīng)用
電子制作(2018年12期)2018-08-01 00:48:04
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計(jì)叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
基于單片機(jī)的平衡控制系統(tǒng)設(shè)計(jì)
電子制作(2017年19期)2017-02-02 07:08:27
主站蜘蛛池模板: 国产视频只有无码精品| 亚洲中文精品人人永久免费| 一区二区三区在线不卡免费| 99伊人精品| 中文字幕一区二区视频| 国产乱视频网站| 精品少妇人妻一区二区| 老司国产精品视频| 久久中文无码精品| 91精品啪在线观看国产| 黄色网站不卡无码| 精品久久久无码专区中文字幕| 狠狠综合久久久久综| 亚洲91精品视频| 久久国产黑丝袜视频| 超碰免费91| 亚洲视频免| 国产国语一级毛片在线视频| 91青草视频| 久久人搡人人玩人妻精品| 国产专区综合另类日韩一区| 麻豆精品在线播放| 在线亚洲精品福利网址导航| 999福利激情视频| 国产自视频| 亚洲国产91人成在线| 色综合a怡红院怡红院首页| 欧美国产日本高清不卡| 全部无卡免费的毛片在线看| 亚洲免费成人网| AV老司机AV天堂| 国产呦视频免费视频在线观看| 视频二区中文无码| 国产青榴视频| 亚洲侵犯无码网址在线观看| 精品国产一二三区| 精品欧美一区二区三区在线| 日韩精品一区二区三区中文无码| 在线观看91精品国产剧情免费| 露脸真实国语乱在线观看| 天堂岛国av无码免费无禁网站| 无码福利日韩神码福利片| 国产成人a在线观看视频| 日本人妻丰满熟妇区| 99精品国产自在现线观看| 自拍欧美亚洲| 伊人中文网| 蜜芽国产尤物av尤物在线看| 无码精品一区二区久久久| 亚洲欧美不卡视频| AV在线麻免费观看网站| 一级毛片免费高清视频| 成人福利免费在线观看| 欧美激情首页| 欧美特黄一免在线观看| 国产精品对白刺激| 亚洲欧美h| 草逼视频国产| 欧美日韩中文字幕在线| 国产在线欧美| 亚洲视频一区| 成人福利在线看| 久久久久亚洲AV成人人电影软件| 亚洲天堂久久新| 99在线视频精品| 欧美综合区自拍亚洲综合绿色| 97se亚洲| 2020极品精品国产| 欧美在线一二区| 大乳丰满人妻中文字幕日本| 99精品视频九九精品| 91久久国产热精品免费| 天天干天天色综合网| 美女内射视频WWW网站午夜| 毛片网站在线播放| 国产主播一区二区三区| 天天色天天操综合网| 五月天综合网亚洲综合天堂网| 国产成人毛片| 国产系列在线| 狠狠v日韩v欧美v| 91美女在线|