基于ARM的觸摸屏控制模板_第1頁
基于ARM的觸摸屏控制模板_第2頁
基于ARM的觸摸屏控制模板_第3頁
基于ARM的觸摸屏控制模板_第4頁
基于ARM的觸摸屏控制模板_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、基于ARM的觸摸屏控制摘要:本文介紹了基于ARM的觸摸屏控制的設(shè)計思路、原理和實現(xiàn)方法。硬件電路主要由PHILIPS公司的ARM7TDMI-S微控制器LPC2290,F(xiàn)M7843控制器和SID13503控制器構(gòu)成。利用C語言編寫驅(qū)動和用戶程序,通過觸摸屏的FM7843控制器將觸摸信號進(jìn)行A/D轉(zhuǎn)換,進(jìn)而利用ARM芯片和彩色液晶屏SID13503控制器,將觸摸動作在液晶屏上進(jìn)行顯示,最終實現(xiàn)了觸摸屏和液晶屏的控制。該設(shè)計操作直觀、簡單、功耗小、提高了人機(jī)交互的友好性。關(guān)鍵詞:觸摸屏;液晶屏;ARMTheControlofTouch-screenBasedonARMAbstract:Thispap

2、erintroducedthedesigningofthoughtandtheachievementmethodsofthecontrolofARMtouch-screenbasedonARM.ThehardwarecircuitconsistsofARM7TDMI-SLPC2290controller,FM7843controllerandSID13503controllerwhichareallproducedbyPHILIPSCorporation.TheresearcherscomposedrivenanduserprograminClanguage,andutilizeFM7843c

3、ontrollerofthetouch-screentoproceedA/Dconverter,thenuseARMchipsandSID13503controllerofLCDscreentoshowtheactionoftouchingontheLCDscreen,ultimatelyrealizethecontroloftouch-screenandLCDscreen.Thisdesignisdirect-viewing、simple、aswellascostslesspowerandcanimprovethefriendlinessofhuman-computerinteraction

4、.Keyword:touch-screen;LCD;ARM摘要11引言32總體設(shè)計33硬件設(shè)計部分33.1 彩色液晶顯示器33.2 彩色液晶屏驅(qū)動電路及SID13503控制器43.3 觸摸屏原理53.4 觸摸屏驅(qū)動電路及FM7843控制器54軟件設(shè)計部分64.1 觸摸屏驅(qū)動程序設(shè)計64.2 彩色液晶屏驅(qū)動程序設(shè)計84.3 用戶程序.115總結(jié)13參考文獻(xiàn)14附錄一15附錄二18附錄三22附錄四261引言隨著信息產(chǎn)業(yè)的迅猛發(fā)展,由于觸摸屏操作直觀、簡單、功耗小、有利于提高人機(jī)交互的友好性等優(yōu)點,而逐漸取代鼠標(biāo)、鍵盤,在人機(jī)交互中成為主要輸入設(shè)備1。因此LCDM摸屏變得也越來越普及,并成為當(dāng)今的主

5、流配置。而目前對觸摸屏的研究性價比有所欠缺,人機(jī)交互的友好性體現(xiàn)不夠,功耗較大,占用空間多,并且大部分來自國外且價格不菲,而本文利用PHILIPS公司的LPC2290芯片,極好的解決了這些缺點,設(shè)計出了性價比高、屏幕顯示無閃爍、畫面切換速度快、占用空間少、方便靈活、人機(jī)交換互性好、低功耗、快速準(zhǔn)確的觸摸屏系統(tǒng)。2總體設(shè)計系統(tǒng)的總體設(shè)計框圖如圖1所示。彩色液晶屏作為人機(jī)交換的最直接的交互畫面,通過其內(nèi)部的液晶屏控制器SID13503與LPC2290芯片相連,采用并行接口進(jìn)行數(shù)據(jù)傳送,對當(dāng)前的觸摸信息進(jìn)行顯示。觸摸屏緊貼在液晶顯示屏的外表面,而觸摸屏作為一種人機(jī)交換設(shè)備,當(dāng)用戶在觸摸屏上有觸摸動作

6、時,觸摸屏控制器通過A/D轉(zhuǎn)換,將觸摸信息傳遞給LPC2290芯片,LPC2290芯片處理信息后,控制液晶顯示器進(jìn)行相應(yīng)的畫面更新動作,實現(xiàn)人機(jī)交換功能。1系統(tǒng)的總體框圖3硬件設(shè)計部分3.1 彩色液晶顯示器液晶是一種在一定溫度范圍內(nèi)呈現(xiàn)出即不同于固態(tài)、液態(tài),又不同于氣態(tài)的特殊物質(zhì),它即具有各向異性的晶體所特有的雙折射性,又具有液體的流動性。液晶顯示器件(英文簡寫為LCD就是利用液晶態(tài)物質(zhì)的液晶分子排列狀態(tài)在電場中改變而調(diào)制外界光的被動型顯示器件2。液晶顯示器是平板顯示器件中的一種,具有低工作電壓、微功耗、無輻射、小體積等特點,被廣泛應(yīng)用于各種各樣嵌入式產(chǎn)品中。本設(shè)計所用的點陣式圖形液晶顯示屏是

7、LCD的一種,能夠動態(tài)顯示圖形、漢字以及各種符號信息,為各種電子產(chǎn)品提供了友好的人機(jī)界面。隨著STN和TFT液晶顯示技術(shù)的成熟發(fā)展及制造成本的不斷降低,點陣式圖形液晶顯示屏也就成為了嵌入式系統(tǒng)中最主要的圖形顯示設(shè)備。3.2 彩色液晶屏驅(qū)動電路及SID13503g制器本設(shè)計使用5.2英寸320x240彩色液晶屏,由于液晶屏內(nèi)部沒有液晶控制器,而LPC2290本身也沒有液晶控制器模塊,所以需要外接一個彩色液晶控制器3.1。彩色液晶驅(qū)動電路如圖2所示,液晶控制器型號為SID13503,采用5V電源供電。由于SID13503是可以硬件配置的,所以設(shè)計電路時根據(jù)需要對SID13503的VD0-VD1田|

8、腳進(jìn)行設(shè)置。由于電路采用8位總線方式連接SID13503,所以SID13503的VD0沒有上拉電阻,而且SID13503的DB8-DB1用|腳要接VDD即5V)。圖2中,將SID13503的地址總線A1-A17與SID13503的AB0-AB1曲目連.這樣連接有一個好處,就是LPC2290可以使用16位總線方式操作SID13503(高8位數(shù)據(jù)被忽略)。SID13503有兩個片選引腳,一個是I/O片選引腳(用于內(nèi)部寄存器操作),另一個是存儲器片選引腳(用于顯示存儲器操作),所以用了IO_nCS3,IO_nCS2W個片選信號與其連接。如圖2所示,當(dāng)IO_nCS3為低電平時,信號nIOCS有效,所以

9、內(nèi)部寄存器的起始地址為0x83800000;當(dāng)IO_nCS2為低電平時,信號nMEMCST效,所以顯示存儲器的起始地址為0乂834000003.2。為了使用I/O接口呈現(xiàn)直接訪問方式,故將SID13503的VD1接了一個10kQ的上拉電阻。在接5V電源時,SID13503的VIH=2V,所以可以直接使用LPC2290的總線與它相連,不需要加電平轉(zhuǎn)換電路。由于SID13503使用的電源是5V,而LPC2290B勺I/O電壓為3.3V,所以在數(shù)據(jù)總線上用接470Q的保護(hù)電阻。圖2的具體詳細(xì)電路見附錄四圖2彩色液晶屏驅(qū)動電路3.3 觸摸屏原理觸摸屏采用四線電阻式觸摸屏(示意圖如圖3所示,測量原理如圖

10、4所示),四線電阻式觸摸屏是電阻式家族中應(yīng)用最廣、最普及的一種4,其由兩個透明層構(gòu)成,其中一層在屏幕的左右邊緣各有一條垂直總線,另一層在屏幕的底部和頂部各有一條水平總線5。透明層的內(nèi)表面均涂了薄薄一層導(dǎo)電材料,當(dāng)觸摸屏表面受到的壓力(如通過觸筆或手指進(jìn)行按壓)足夠大時,頂層與底層之間會產(chǎn)生接觸,從而使電阻層發(fā)生接觸。當(dāng)在Y方向的電極對上施加一確定的電壓,而X方向電極對上不加電壓時,在Y平行電壓場中,觸點處的電壓值可以在X+(或X)電極上反映出來,通過測量X+電極對地的電壓大小,便可得知觸點的Y坐標(biāo)值。同理,當(dāng)在X電極對上加電壓,而Y電極對上不加電壓時,通過測量Y+電極的電壓,便可得知觸點的X坐

11、標(biāo)。圖4四線電阻式觸摸屏測量原理圖3四線電阻式觸摸屏結(jié)構(gòu)示意圖3.4 角則屏驅(qū)動電路及FM7843空制器彩色液晶屏上帶有觸摸屏(四線電阻式觸摸屏),用于檢測屏幕觸摸輸入信號,有利于提高人際交互性的友好性。因此在使用觸摸屏?xí)r,須要一個A/D轉(zhuǎn)換器將模擬信號轉(zhuǎn)換成數(shù)字信號,這里使用觸摸屏控制器FM784睞完成這一功能,其A/D轉(zhuǎn)換精度有8位和12位,本設(shè)計利用12位精度。在進(jìn)行A/D轉(zhuǎn)換后,通過SPI接口把轉(zhuǎn)換結(jié)果輸出至ijLPC2290FM7843的工作電源為2.75V,這里FM7843用3.3V電壓供電,A/D參考電源也是使用3.3V。FM7843K口電品&如圖5所示3。圖5FM7843接口電

12、路圖4軟件設(shè)計部分4.1 角則屏的驅(qū)動程序設(shè)計庫文件config.h中包含了對FM7843的最基本的定義,并對FM7843B勺控制I/O端口進(jìn)行定義,同時調(diào)整DELYA_200NS值,可以控制系統(tǒng)時鐘的快慢,參數(shù)值越大越慢FM7843.C為FM7848區(qū)動程序,功能實現(xiàn)FM7843B勺驅(qū)動6。函數(shù)DelayNo(),用來實現(xiàn)短軟件延時,延時參數(shù)值越大,延時越久。函數(shù)TestDelayNo(),用來測試短軟件延時,以便于產(chǎn)生正確的時序。函數(shù)FM7843_IRQR()(見附表一),對FM7843B勺PENIRQgl腳測量,返回當(dāng)前此引腳的電平值,返回為0表示PENIRQfc低電平狀態(tài),否則為高電平

13、函數(shù)FM7843_IOInit(),初始化FM7843勺控制I/O,初始化結(jié)果CS=1,DCLK=0,DIN=0函數(shù)FM7843_WriteRead()(見附表一),對FM7843進(jìn)行讀寫操彳作按照FM7843規(guī)定,24Clocks,先寫8位控制數(shù)據(jù),然后讀取12位的轉(zhuǎn)換結(jié)果,返回值為讀出的數(shù)據(jù)。#includeconfig.h#defineFM7843_CSS()IO2SET=ADS7843_CS#defineFMS7843_CSC()IO2CLR=ADS7843_CS#defineFMS7843_DOUTR()(IO2PIN&ADS7843_DOUT)#defineFM7843_DINS(

14、)IO2SET=ADS7843_DIN#defineFM7843_DINC()IO2CLR=ADS7843_DIN#defineFM7843_DCLKS()IO2SET=ADS7843_DCLK#defineFM7843_DCLKC()IO2CLR=FM7843_DCLK/*操作時序控制宏(即延時控制值)*/#defineDELAY_200NS5/*實現(xiàn)短軟件延時,延時參數(shù)值越大,延時越久*/voidDelayNo(uint32i)for(;i0;i-);/*測試短軟件延時,以便于產(chǎn)生正確的時序*/voidTestDelayNo(void)while(1)FM7843_DCLKS();Dela

15、yNo(DELAY_200NS);FM7843_DCLKC();DelayNo(DELAY_200/*初始化FM7843勺控制I/O,初始化結(jié)果CS=1,DCLK=0,DIN=(*/voidFM7843_IOInit(void)FM7843_CSS();/CS=1FM7843_DCLKC();/DCLK=0FM7843_DINC();/DIN=0DelayNo(DELAY_200NS);/*對FM7843I勺PENIRQI腳測量,返回當(dāng)前此引腳的電平值,返回為0表示PENIRQ為低電平狀態(tài),否則為高電平*/FM7843_IRQR().見附表一/*對FM7843進(jìn)行讀寫操作。作按照FM7843規(guī)

16、定,24Clocks,先寫8位控制數(shù)據(jù),然后讀取12位的轉(zhuǎn)換結(jié)果,返回值為讀出的數(shù)據(jù)。*/FM7843_WriteRead()見附表一4.2 彩色液晶屏的驅(qū)動程序設(shè)計庫文件config.h中包含了對SID13503的最基本的定義。LCDDRIVE.O彩色液晶屏的驅(qū)動程序,功能是實現(xiàn)彩色液晶屏的驅(qū)動程序通過操作彩色液晶屏控制器SID13503,控制256色RGBft彩色液晶顯示屏,其中使用LPC2290芯片控制,8位總線接口,SID13503的寄存器地址為0x838000xx,顯示存儲器的地址為0x834xxxxx7。顯示緩沖區(qū)的定義(見附表一)。S1D13503_Init()是彩色液晶屏控制器

17、的寄存器初始化函數(shù)(見附表一),其功能對彩色液晶屏控制器SID13503寄存器0-D進(jìn)行初始化(使用查表方法),彩色液晶屏型號為320*240,256色單屏彩屏。其中同樣使用了函數(shù)uint8和uint16,uint8表示無符號8位整型變量,uint16無符號16位整型變量。S1D13503_LutInit()是彩色液晶屏控制器調(diào)色板的初始化函數(shù),其功能初始化彩色液晶屏控制器SID13503的調(diào)色板,其中調(diào)色板紅、綠基色設(shè)置為0、3、5、7、9、11、13、15,藍(lán)基色設(shè)置為0、6、10、15。LCD_Initialize()是LCM0始化函數(shù),功能是實現(xiàn)LCM始化,將LCM始化為純圖形模式,顯

18、示起始地址為0X0000。LCD_FillAll()是LCD的填充函數(shù),功能是實現(xiàn)LCD以圖形方式進(jìn)行填充,填充起始地址為0X0000,dat為要填充的顏色數(shù)據(jù)。LCD_UpdatePoint()是LCD的畫圖函數(shù),功能是實現(xiàn)在指定位置上畫點,并刷新某一點,x表示指定點所在列的位置,y表示指定點所在行的位置,當(dāng)畫點在指定地址時,實現(xiàn)其功能,當(dāng)指定地址超出有效范圍,則操作失敗。與LCMlf關(guān)的GUI接口函數(shù)(見附表二)#includeconfig.h/*定義顯示緩沖區(qū)(可根據(jù)情況定義或直接使用LCM顯示存儲空間)*/見附表一/*對彩色液晶屏控制器SID13503寄存器0-D進(jìn)行初始化*/S1D1

19、3503_Init(void)見附表一/*初始化彩色液晶屏控制器SID13503的調(diào)色板*/voidS1D13503_LutInit(void)volatileuint16*REG_Point1;volatileuint16*REG_Point2;uint8i;REG_Point1=(void*)S1D13503_REG;REG_Point1+=0x0E;REG_Point2=(void*)S1D13503_REG;REG_Point2+=0x0F;for(i=0;i16;i+)*REG_Point1=i;/設(shè)置為自動更換存取方式,設(shè)置地址*REG_Point2=LUT_RED_TABi;/設(shè)

20、置紅色調(diào)色板*REG_Point2=LUT_GRN_TABi;/設(shè)置綠色調(diào)色板*REG_Point2=LUT_BLU_TABi;/設(shè)置藍(lán)色調(diào)色板/*實現(xiàn)LCM始化,將LCM0始化為純圖形模式*/voidLCD_Initialize(void)S1D13503_Init();/ 初始化 LCM 工作模式S1D13503_LutInit();/ 初始化調(diào)色板/*實現(xiàn)LCD以圖形方式進(jìn)行填充,填充起始地址為0X0000,dat為要填充的顏色數(shù)據(jù)*/voidLCD_FillAll(TCOLORdat)volatileuint16*DAT_Point;uint32i,j;/*開始復(fù)制填充數(shù)據(jù)*/DAT_

21、Point=(void*)S1D13503_DAT;/置地址指針for(i=0;iGUI_LCM_YMAX;i+)/歷遍所有行for(j=0;j1)return(1);elsereturn(0);函數(shù)ADS7843_WriteRead(),功能是對ADS7843進(jìn)行讀寫操作uint16ADS7843_WriteRead(uint8data)uint8i;uint16ret_dat;data=data|0x80;/設(shè)置S位ADS7843_IOInit();ADS7843_CSC();/CS=0for(i=0;i8;i+)if(data&0x80)!=0)ADS7843_DINS();/DIN=1

22、elseADS7843_DINC();/DIN=0DelayNo(DELAY_200NS);ADS7843_DCLKS();/DCLK=1DelayNo(DELAY_200NS);ADS7843_DCLKC();/DCLK=0data=data1;ADS7843_DINC();/DIN=0DelayNo(DELAY_200NS*3);ADS7843_DCLKS();/DCL=1DelayNo(DELAY_200NS);ADS7843_DCLKC();/DCLK=0ret_dat=0for(i=0;i12;i+)ret_dat=ret_dat1;DelayNo(DELAY_200NS);ADS7

23、843_DCLKS();/DCLK=1if(ADS7843_DOUTR()!=0)ret_dat=ret_dat|1;DelayNo(DELAY_200NS);ADS7843_DCLKC();/DCLK=0if(i=6)DelayNo(DELAY_200NS*2);for(i=0;i3;i+)DelayNo(DELAY_200NS);ADS7843_DCLKS();/DCLK=1DelayNo(DELAY_200NS);ADS7843_DCLKC();/DCLK=0DelayNo(DELAY_200NS);ADS7843_CSS();/CS=1return(ret_dat);#includec

24、onfig.h/*定義顯示緩沖區(qū)(可根據(jù)情況定義或直接使用LCM顯示存儲空間)*/TCOLORgui_disp_bufGUI_LCM_YMAXGUI_LCM_XMAX;uint8constINIT_TAB14=0x00,/寄存器0-00000000B(正常工作模式,即非測試模式)0xBD,/寄存器1-10111101B(模式控制:打開顯示單屏,屏蔽XSCL水平非顯示周期輸出,使能LCDENB,彩色8位LCD數(shù)據(jù)-無XCSL2,16位顯示存儲數(shù)據(jù)總線方式)159,/寄存器2-159(行字節(jié)控制)(每行顯示占用的存儲器字節(jié)數(shù),即列參數(shù))0x0E,/寄存器3-00001110B(非節(jié)功模式,256彩

25、色方式)239,/寄存器4-239(總行數(shù))0,/寄存器5-0(WF翻轉(zhuǎn)周期,為0時表示每一幀WF輸出翻轉(zhuǎn)一)0x00,/寄存器6-00H(第一屏顯示RAM地址低8位)0x00,/寄存器7-00H(第一屏顯示RAM地址高8位)0x00,/寄存器8-00H(第二屏顯示RAM地址低8位)0x00,/寄存器9-00H(第二屏顯示RAM地址高8位)239,/寄存器A-239(顯示一區(qū)占用行數(shù))0,/寄存器B-0(顯示一區(qū)占用行數(shù),高2位)10,/寄存器C-10(水平默認(rèn)不顯示周期)0/寄存器D-0(顯示域冗余寬度,正常操作模式);函數(shù)S1D13503_Init(),功能是初始化S1D1350&void

26、S1D13503_Init(void)volatileuint16*REG_Point;uint8i;REG_Point=(void*)S1D13503_REG;for(i=0;i14;i+)/共初始化14個寄存器*REG_Point=INIT_TABi;/查表取出數(shù)據(jù),然后賦值給S1D13503相應(yīng)的寄存器,實現(xiàn)初始化REG_Point+;/指向下一寄存器uint8constLUT_RED_TAB16=0,3,5,7,9,11,13,15,0,3,5,7,9,11,13,15;uint8constLUT_GRN_TAB16=0,3,5,7,9,11,13,15,0,3,5,7,9,11,13

27、,15;uint8constLUT_BLU_TAB16=0,6,10,15,0,6,10,15,0,6,10,15;附錄二與LCM相關(guān)的GUI接口函數(shù)函數(shù)本段程序名稱GUI_FillSCR(),其功能實現(xiàn)全屏填充,即直接使用數(shù)據(jù)填充顯示緩沖區(qū),dat表示填充的數(shù)據(jù)voidGUI_FillSCR(TCOLORdat)uint32i,j;/*填充緩沖區(qū)*/for(i=0;iGUI_LCM_YMAX;i+)/歷遍所有行for(j=0;j=GUI_LCM_XMAX)return(0);if(y=GUI_LCM_YMAX)return(0);/*設(shè)置緩沖區(qū)相應(yīng)的點*/gui_disp_bufyx=col

28、or;/*刷新顯示*/LCD_UpdatePoint(x,y);return(1);函數(shù)GUI_ReadPoint(),其功能讀取指定點的顏色,x表示指定點在列的位置,y指定點所在行的位置,ret用于保存顏色值的指針,當(dāng)出口參數(shù)返回0時表示指定地址超出有效范圍。對于單色,設(shè)置ret的d0位為1或4級灰度則為d0、di有效位RGB則d0-d7有效,RGB結(jié)構(gòu)則R、G、B變量有效。intGUI_ReadPoint(uint32x,uint32y,TCOLOR*ret)/*參數(shù)過濾*/if(x=GUI_LCM_XMAX)return(0);if(y=GUI_LCM_YMAX)return(0);/*

29、取得該點顏色(用戶自行更改)*/*ret=gui_disp_bufyx;return(1);函數(shù)GUI_HLine(),功能實現(xiàn)畫水平線,其中x0表示水平線起點所在列的位置,y0表示水平線起點所在行的位置,x1表示水平線終點所在列的位置,color顯示顏色(對于黑白色LCM,為0時滅,為1時顯示),LCM初始化對于單色、4級灰度的液晶,可通過修改此函數(shù)作圖提高速度,如色LCM,可以一次更新8個點,而不需要一個點一個點的寫到LCM中。voidGUI_HLine(uint32x0,uint32y0,uint32x1,TCOLORcolor)uint32bak;/ 對 x0、 x1 大小進(jìn)行排列,以

30、便畫圖if(x0x1)bak=x1;x1=x0;x0=bak;DoGUI_Point(x0,y0,color);/逐點顯示,描出水平線x0+;while(x1=x0);函數(shù)GUI_RLine(),功能是實現(xiàn)畫垂直線。其中x0表示垂直線起點所在列的位置,y0表示垂直線起點所在行的位置,y1表示垂直線終點所在行的位置,對于單色、4級灰度的液晶,可通過修改此函數(shù)作圖提高速度,如色LCM,可以一次更新8個點,而不需要一個點一個點的寫到LCM中。voidGUI_RLine(uint32x0,uint32y0,uint32y1,TCOLORcolor)uint32bak;if(y0y1)/對y0、y1大小

31、進(jìn)行排列,以便畫圖bak=y1;y1=y0;y0=bak;doGUI_Point(x0,y0,color);/逐點顯示,描出垂直線y0+;while(y1=y0);函數(shù)GUI_CmpColor(),其功能是判斷顏色值是否一致,color1表示顏色值1,color2表示顏色值2,當(dāng)出口參數(shù)返回1表示相同,返回0表示不相同。由于顏色類型TCOLOR可以是結(jié)構(gòu)類型,所以此處編寫了比較函數(shù)。intGUI_CmpColor(TCOLORcolor1,TCOLORcolor2)if(color1=color2)return(1);elsereturn(0);函數(shù)GUI_CopyColor(),其功能是進(jìn)行

32、顏色值復(fù)制,color1代表目標(biāo)顏色變量,color2代表源顏色變量。由于顏色類型TCOLOR可以是結(jié)構(gòu)類型,所以此處編寫了復(fù)制函數(shù)。voidGUI_CopyColor(TCOLOR*color1,TCOLORcolor2)*color1=color2;附錄三子程序GPIO_Initialize(),功能是初始化觸摸屏和蜂鳴器的GPIOvoidGPIO_Initialize(void)PINSEL0=PINSEL0&0xFFFFCFFF;IO0DIR=BEEPCON;IO0SET=BEEPCON;IO2DIR=ADS7843_CS|ADS7843_DIN|ADS7843_DCLK;函數(shù)Cali

33、bration(),功能是獲取校準(zhǔn)基準(zhǔn)點坐標(biāo),其中uint16*errx,用于保存校準(zhǔn)點x坐標(biāo)(LCD)的變量指針,uint16*erry,用于保存校準(zhǔn)點y坐標(biāo)(LCD)的變量指針uint8Calibration(void)uint16sumx,sumy;uint16x,y,i;/*獲取左上角基準(zhǔn)點*/GUI_HLine(0,19,39,BLACK);GUI_RLine(19,0,39,BLACK);sumx=0;sumy=0;for(i=0;i4;erry1=sumy4;GUI_HLine(0,19,39,WHITE);GUI_RLine(19,0,39,WHITE);if(errx10x000)&(erry10x000)Beep();elseBeep();Beep();return(0);/*獲取右下角基準(zhǔn)點*/GUI_HLine(279,219,319,BLACK);GUI_RLine(299,199,239,BLACK);sumx=0;sumy=0;for(i=0;i4;erry2=sumy4;GUI_HLi

溫馨提示

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

評論

0/150

提交評論