嵌入式觸摸屏實(shí)驗(yàn)_第1頁
嵌入式觸摸屏實(shí)驗(yàn)_第2頁
嵌入式觸摸屏實(shí)驗(yàn)_第3頁
嵌入式觸摸屏實(shí)驗(yàn)_第4頁
嵌入式觸摸屏實(shí)驗(yàn)_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、觸摸屏實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康牧私庥|摸屏的基本概念與原理。理解觸摸屏工作原理。二、實(shí)驗(yàn)設(shè)備計(jì)算機(jī);博創(chuàng)UP-3000實(shí)驗(yàn)箱三、實(shí)驗(yàn)步驟新建工程,將“3000的ADS實(shí)Exp8觸摸屏實(shí)驗(yàn)”中的文件添加到工程中。定義頭文件中的宏定義。3閱讀觸摸屏讀取觸摸點(diǎn)x,y電壓值、坐標(biāo)程序,畫出流程圖。編寫觸摸點(diǎn)坐標(biāo)及動(dòng)作判斷函數(shù)U32TchScr_GetOSXY(int*x,int*y),返回值為觸摸動(dòng)作,畫出程序流程圖。提高部分:與LCD結(jié)合,實(shí)現(xiàn)手寫板功能,在觸摸屏上畫線,在LCD上顯示出來。提高部分:與LCD結(jié)合,實(shí)現(xiàn)按鈕功能,在LCD上畫一矩形按鈕,點(diǎn)擊該按鈕,實(shí)現(xiàn)某個(gè)操作。四、程序流程圖,程序源代碼及注釋

2、和程序運(yùn)行結(jié)果(截屏)。觸摸點(diǎn)坐標(biāo)判斷函數(shù):U32TchScr_GetOSXY(int*x,int*y)/獲得觸摸點(diǎn)坐標(biāo)并返回觸摸動(dòng)作staticU32mode=0;staticintoldx,oldy;inti,j;for(;)if(mode!=TCHSCR_ACTION_DOWN)&(mode!=TCHSCR_ACTION_MOVE)if(!TCHSCR_IsPenNotDown)/有觸摸動(dòng)作TchScr_GetScrXY(x,y,TRUE);/得到觸摸點(diǎn)坐標(biāo)for(i=0;i40;i+)if(TCHSCR_IsPenNotDown)/抬起break;Delay(100);if(i40)/

3、在規(guī)定的雙擊時(shí)間之內(nèi)抬起,檢測是不是及時(shí)按下for(i=0;i60;i+)if(!TCHSCR_IsPenNotDown)if(i10)i=60;break;/如果單擊后很短時(shí)間內(nèi)按下,不視為雙擊mode=TCHSCR_ACTION_DBCLICK;for(j=0;j4|ABS(oldy-*y)4)/有移動(dòng)動(dòng)作mode=TCHSCR_ACTION_MOVE;break;Delay(50);oldx=*x;oldy=*y;/編寫該函數(shù)returnmode;anotherclick);mode2=TchScr_GetOSXY(&x2,&y2);/獲得觸摸點(diǎn)坐標(biāo)并返回觸摸動(dòng)作Uart_Printf(

4、Action=click:x=%d,ty=%dn,x2,y2);Delay(1000);if(x1=x2)/無斜率情況for(i=y1;i=y2;i+)LCDBufferix1=0 x0000e000;elseif(abs(x1-x2)=abs(y1-y2)k=(y2-y1)/(x2-x1);if(x1x2)for(j=x1;j=x2;j+)i=(int)(y1+k*(j-x1);LCDBufferij=0 x0000e000;elsefor(j=x2;j=x1;j+)i=(int)(y1-k*(x1-j);LCDBufferij=0 x0000e000;elsek=(y2-y1)/(x2-x

5、1);if(y1y2)for(i=y1;i=y2;i+)j=(int)(x1+(i-y1)/k);LCDBufferij=0 x0000e000;elsefor(i=y2;y=y1;y+)j=(int)(x1-(y1-i)/k);LCDBufferij=0 x0000e000;LCD_Refresh();矩形按鍵控制步進(jìn)電機(jī)函數(shù):voidTchScr_Test()U32mode,mode1,mode2;intx,y,x1,y1,x2,y2,i,j,p,q;floatk;/A,AB,B,BC,CCD,D,DAintstepdata=0 x10,0 x30,0 x20,0 x60,0 x40,0

6、xc0,0 x80,0 x90;/正向轉(zhuǎn)動(dòng)時(shí)的位控制數(shù)組intstepdata1=0 x90,0 x80,0 xc0,0 x40,0 x60,0 x20,0 x30,0 x10;/反向轉(zhuǎn)動(dòng)時(shí)的*Uart_Printf(npleasetouchthescreenn);/控制電機(jī)for(i=70;i=120;i+)for(j=150;j=150&x=70&y=120)/區(qū)域判斷if(mode=TCHSCR_ACTION_CLICK)/單擊正轉(zhuǎn)for(j=0;j20000;j+)/設(shè)置轉(zhuǎn)動(dòng)次數(shù),盡量大會(huì)效果明顯for(i=0;i8;i+)/步距角為360/512/8,所以即使四相步機(jī)轉(zhuǎn)一次也不會(huì)有明

7、顯轉(zhuǎn)動(dòng)現(xiàn)象SETEXIOBITMASK(stepdatai,0 xF0);/通過宏定義空位EXI0的高四位來控制步進(jìn)機(jī)正向轉(zhuǎn)動(dòng)Delay(3000);elseif(mode=TCHSCR_ACTION_DBCLICK)/雙擊反轉(zhuǎn)for(j=0;j20000;j+)for(i=0;i8;i+)SETEXIOBITMASK(stepdata1i,0 xF0);/反向轉(zhuǎn)Delay(3000);結(jié)果截圖:五、實(shí)驗(yàn)心得通過本次實(shí)驗(yàn),了解的觸摸屏的基本實(shí)現(xiàn)原理,我們所用的實(shí)驗(yàn)箱的觸摸屏為電阻式,基本原理是檢測觸摸點(diǎn)被壓下后的電壓值來返回坐標(biāo),還有一種觸摸屏為電容式。編程時(shí)應(yīng)注意,由于每個(gè)觸摸屏對(duì)檢測電壓有偏值差,所以,獲取點(diǎn)坐標(biāo)操作之前,要對(duì)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論