觸摸屏驅(qū)動(dòng)畢業(yè)論文_第1頁
已閱讀1頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  鹽 城 師 范 學(xué) 院</p><p><b>  畢業(yè)設(shè)計(jì) </b></p><p>  2012-2013學(xué)年度</p><p>  基于S3C44B0X的觸摸屏驅(qū)動(dòng)程序的設(shè)計(jì)</p><p>  學(xué)生姓名 謝云峰 </p><p&

2、gt;  學(xué) 院 物理科學(xué)與電子技術(shù)學(xué)院 </p><p>  專 業(yè) 電子信息工程 </p><p>  班 級 09(4)班 </p><p>  學(xué) 號 09223346 </p><p>  指導(dǎo)教師

3、 施文娟 </p><p>  2013年 5 月 27 日</p><p>  基于S3C44B0X的觸摸屏驅(qū)動(dòng)程序的設(shè)計(jì)</p><p><b>  摘 要</b></p><p>  隨著電子設(shè)備的不斷智能化,傳統(tǒng)的鍵盤、鼠標(biāo)等人機(jī)交互方式已經(jīng)無法滿足人們的需求,人們想要更加

4、方便準(zhǔn)確的人機(jī)交互工具。而觸摸屏通過手指觸摸就能實(shí)現(xiàn)操作定位,大大簡化了電子設(shè)備的輸入方式,真正實(shí)現(xiàn)零距離操作,因此觸摸屏得到了越來越廣泛的應(yīng)用。</p><p>  本文介紹了基于ARM7TDMI內(nèi)核的高性能微處理器S3C44B0X的基本功能,闡述了觸摸屏的組成與基本工作原理,并在分析觸摸屏嵌入式系統(tǒng)的基礎(chǔ)上,針對觸摸屏驅(qū)動(dòng)控制程序的難點(diǎn),提出了具體的解決方案,最終完成了基于微處理器S3C44B0X的觸摸屏驅(qū)動(dòng)

5、控制程序的設(shè)計(jì)。</p><p>  【關(guān)鍵詞】人機(jī)交互,S3C44B0X,觸摸屏,嵌入式系統(tǒng)</p><p>  Driven design of touch screen based on S3C44B0X</p><p><b>  Abstract</b></p><p>  With the intellige

6、nt electronic devices, Traditional keyboard, mouse and other human-computer interaction has been unable to meet people's needs,People want to have more convenient and accurate human-computer interaction tool. And tou

7、ch screen can be realized positioning operation by fingers touch,This greatly simplifying the input mode of the electronic equipment and realizing zero distance operation, so the touch screen has been more and more widel

8、y used.</p><p>  This article describes the basic functions of high-performance microprocessor S3C44B0X based on the ARM7TDMI core, Describes the composition and the basic working principle of the touch scre

9、en.For the the drive control program’s difficulties of touch screen,I proposed the specific solutions based on the analysis of the touch-screen embedded system .Finally,I completed the touch screen’s driver control progr

10、am design based on S3C44B0X. </p><p>  [Key words] Human-Computer Interaction,S3C44B0X,Touch screen,Embedded system</p><p><b>  目 錄</b></p><p><b>  引 言4<

11、/b></p><p>  1 S3C44B0X芯片介紹4</p><p>  1.1 S3C44B0X簡介4</p><p>  1.2 S3C44B0X的特性5</p><p>  1.3 S3C44B0X引腳圖與嵌入式結(jié)構(gòu)圖8</p><p>  2 觸摸屏原理10</p><

12、p>  2.1觸摸屏簡介10</p><p>  2.1.1 電阻式觸摸屏結(jié)構(gòu)11</p><p>  2.1.2 電阻式觸摸屏相關(guān)技術(shù)11</p><p>  2.2 觸摸屏工作原理13</p><p>  2.2.1觸摸屏系統(tǒng)組成13</p><p>  2.2.2 觸摸屏控制器工作原理14<

13、;/p><p><b>  3 軟件設(shè)計(jì)16</b></p><p>  3.1驅(qū)動(dòng)程序?qū)崿F(xiàn)流程16</p><p>  3.2中斷處理程序17</p><p>  3.3 觸摸屏按鍵的坐標(biāo)算法18</p><p>  4 觸摸屏驅(qū)動(dòng)程序的測試19</p><p> 

14、 4.1 測試準(zhǔn)備19</p><p>  4.2 運(yùn)行結(jié)果19</p><p><b>  結(jié)束語21</b></p><p><b>  參考文獻(xiàn)22</b></p><p><b>  致 謝23</b></p><p><b

15、>  附 錄24</b></p><p><b>  引 言</b></p><p>  隨著電子信息技術(shù)發(fā)展以及數(shù)字化設(shè)備的普及,基于嵌入式系統(tǒng)的各種產(chǎn)品得到越來越廣泛地應(yīng)用,功能也越來越強(qiáng)大。在巨大市場需求的驅(qū)使下,人們對各類電子產(chǎn)品的人機(jī)交互界面也有了越來越高的要求。觸摸屏正在逐漸取代鍵盤和鼠標(biāo),成為人們所使用的主要的輸入設(shè)備。&

16、lt;/p><p>  觸摸屏作為一種最新的輸入設(shè)備,它是目前最簡單、方便、自然的一種人機(jī)交互方式,它賦予了多媒體以嶄新的面貌,是極富吸引力的全新多媒體交互設(shè)備[1]。觸摸屏在我國的應(yīng)用范圍非常廣闊,主要是公共信息的查詢,如電信局、稅務(wù)局、銀行、電力等部門的業(yè)務(wù)查詢,城市街頭的信息查詢,此外應(yīng)用于領(lǐng)導(dǎo)辦公、工業(yè)控制、軍事指揮、電子游戲、點(diǎn)歌點(diǎn)菜、多媒體教學(xué)、房地產(chǎn)預(yù)售等[2]。</p><p>

17、;  最近幾年隨著智能手機(jī)和平板的飛速發(fā)展,觸摸屏最為其最重要的人機(jī)交互介質(zhì),正在以更快的速度走進(jìn)我們的生活。</p><p>  S3C44B0X微處理器是三星公司研發(fā)的基于ARM7TDMI核的高性能嵌入式處理器,由于其在擁有高性價(jià)比的同時(shí)內(nèi)嵌了多種接口,因此在消費(fèi)類電子和手持電子設(shè)備中了的應(yīng)用越來越廣泛。</p><p>  本文介紹了基于ARM7TDMI內(nèi)核的高性能微處理器S3C44

18、B0X的基本功能,闡述了觸摸屏基本工作原理,并在分析觸摸屏嵌入式系統(tǒng)的基礎(chǔ)上,針對觸摸屏驅(qū)動(dòng)控制程序的難點(diǎn),提出了具體的解決方案,最終完成了基于微處理器S3C44B0X的觸摸屏驅(qū)動(dòng)控制程序的設(shè)計(jì)。</p><p>  1 S3C44B0X芯片介紹</p><p>  1.1 S3C44B0X簡介</p><p>  Samsung公司的S3C44B0X是國內(nèi)應(yīng)用廣泛

19、的基于ARM7TMDI內(nèi)核的SoC。該芯片功能強(qiáng)大,片上資源豐富,是Samsung公司為手持設(shè)備等應(yīng)用提供的高性價(jià)比解決方案[3]。</p><p>  S3C44B0X采用0.25μm CMOS的制作工藝,最大工作主頻可達(dá)66MHz。三級流水線結(jié)構(gòu)高達(dá)0.9MIPS MHz。CPU的核心電壓為2.5V,I O口的電壓為3.3~3.6V,內(nèi)核帶有8KB的緩存。由于采用了低電壓技術(shù),芯片運(yùn)算速度很快,但功耗卻很低。

20、S3C44B0X還采用了一種新的總線結(jié)構(gòu),那就是SAMBA Ⅱ( 三星ARM CPU 嵌入式總線結(jié)構(gòu))。同時(shí),此芯片還內(nèi)置了LCD 控制器,其帶有LCD專用的DMA控制器,支持最大到256 色的雙層超扭曲向列(DSTN)液晶屏。這是現(xiàn)在應(yīng)用較多的一種點(diǎn)陣式液晶顯示器件,“超扭曲”顧名思義,即液晶屏中液晶分子的排列扭曲角很大,超過了90°。</p><p>  S3C44B0X提供通用與全面的片上外設(shè),大

21、大減少了系統(tǒng)電路中除處理器以外的其他元器件配置,從而最小化了系統(tǒng)的成本[4]。</p><p>  片上集成的主要功能如下:</p><p>  *2.5V ARM7TDMI 內(nèi)核,帶有8K緩存(SAMBA II總線體系結(jié)構(gòu),主頻高達(dá)66MHZ);</p><p>  *外部存儲(chǔ)器控制器(FP/EDO/SDRAM控制器,片選邏輯);</p><p

22、>  *LCD控制器(最大支持256色DSTN),并帶有1通道LCD專用DMA;</p><p>  *雙通道通用DMA,2通道外設(shè)DMA 并具有外部請求引腳;</p><p>  *雙通道UART帶有握手協(xié)議(支持IRDA1.0,具有16-byte FIFO)/1通道SIO;</p><p>  *單通道多主IIC-BUS控制器;</p>&l

23、t;p>  *單通道IIS-BUS控制器;</p><p>  *5個(gè)PWM定時(shí)器和1個(gè)內(nèi)部定時(shí)器;</p><p><b>  *看門狗定時(shí)器;</b></p><p>  *71個(gè)通用I/O口/8通道外部中斷源;</p><p>  *功耗控制:具有正常,低速,空閑和停止模式;</p><p

24、>  *8通道10位ADC;</p><p>  *具有日歷功能的RTC;</p><p>  *帶PLL的片上時(shí)鐘發(fā)生器。</p><p>  1.2 S3C44B0X的特性</p><p><b>  體系結(jié)構(gòu)</b></p><p>  集成了通用嵌入式系統(tǒng)應(yīng)用和手持電子設(shè)備的相關(guān)解決

25、方案。</p><p>  擁有16/32位RISC體系結(jié)構(gòu)和ARM7TDMI處理器內(nèi)核強(qiáng)大的指令體系。</p><p>  集成了Thumb代碼壓縮機(jī):在最大化代碼密度的同時(shí)保持了32位指令的性能。</p><p>  基于JTAG的片上集成ICE調(diào)試支持解決方案。 </p><p>  集成了32×8位硬件乘法器。 </p

26、><p>  SAMBAII是一種新型低功耗的總線結(jié)構(gòu)。 </p><p>  系統(tǒng)(存儲(chǔ))管理器 </p><p>  支持大端或小端模式。 </p><p>  尋址空間:每個(gè)地址空間為32M字節(jié)(共有256M字節(jié))。 </p><p>  所有地址空間可以使用編程將其設(shè)置為8位、16位或32位寬的數(shù)據(jù)對齊訪問。 &l

27、t;/p><p>  擁有7個(gè)固定的起始地址及大小可編程的地址空間。</p><p>  擁有8個(gè)地址空間。 </p><p>  所有的存儲(chǔ)器空間的操作周期都可以編程。 </p><p>  支持外部等待信號延長總線周期。 </p><p>  掉電時(shí)DRAM/SDRAM能啟動(dòng)自刷新模式。 </p><

28、;p>  支持地址對稱或抵制非對稱的DRAM。 </p><p>  Cache存儲(chǔ)器和片內(nèi)SRAM </p><p>  一體化的8K字節(jié)緩存。 </p><p>  未用的緩存空間用來作為0/4/8K字節(jié)的SRAM存儲(chǔ)空間。 </p><p>  支持LRU替換算法。 </p><p>  采用“寫穿式”策略

29、來保持主存儲(chǔ)器與緩存的內(nèi)容一致性。 </p><p>  寫存儲(chǔ)器具有4級深度。</p><p>  當(dāng)緩存未命中時(shí),采用“請求數(shù)據(jù)優(yōu)先填充”的技術(shù)。 </p><p><b>  時(shí)鐘和電源管理</b></p><p>  片上PLL使MCU工作時(shí)最大達(dá)到75MHz。 </p><p>  可以

30、通過軟件來設(shè)置各個(gè)功能模塊的輸入時(shí)鐘。 </p><p>  電源模式:正常、慢速、空閑和停止模式。 </p><p>  正常模式:正常工作模式。 </p><p>  慢速模式:不加PLL的低時(shí)鐘頻率模式。 </p><p>  空閑模式:只停止CPU的時(shí)鐘。 </p><p>  停止模式:停止所有的時(shí)鐘。 &l

31、t;/p><p>  通過EINT[7:0]或RTC報(bào)警中斷從停止模式喚醒。 </p><p><b>  中斷控制器 </b></p><p>  30個(gè)中斷源(看門狗定時(shí)器、6個(gè)定時(shí)器、6個(gè)UART、8個(gè)外部中斷、4個(gè)DMA、2個(gè)RTC、1個(gè)ADC、1個(gè)IIC、1個(gè)SIO)。 </p><p>  采用向量化的IRQ中斷

32、模式來減少中斷的延遲。 </p><p>  外部中斷通過可選的電平/邊沿模式來觸發(fā)。 </p><p>  電平/邊沿模式優(yōu)先可編程。 </p><p>  緊急的中斷請求通過FIQ為進(jìn)行服務(wù)。 </p><p>  定時(shí)器和PWM(脈寬調(diào)制) </p><p>  PWM功能的定時(shí)器為5通道16位,內(nèi)部定時(shí)器為1通

33、道16位(可進(jìn)行基于DMA或中斷的操作)。 </p><p>  可編程的占空比周期、頻率和優(yōu)先級。 </p><p><b>  支持外部中斷源。 </b></p><p><b>  能產(chǎn)生死區(qū)。 </b></p><p>  RTC(實(shí)時(shí)時(shí)鐘) </p><p>  充

34、分的時(shí)鐘特性:毫秒、秒、分鐘、小時(shí)、日、星期、月、年。 </p><p>  32.768kHz時(shí)鐘。 </p><p>  定時(shí)警報(bào),可用于喚醒CPU。 </p><p>  可產(chǎn)生時(shí)鐘節(jié)拍中斷。 </p><p><b>  通用I/O口 </b></p><p><b>  8個(gè)外

35、部中斷口。</b></p><p>  71個(gè)多功能輸入/輸出口。 </p><p>  UART(異步串行通信) </p><p>  雙通道通用UART,可進(jìn)行基于DMA或中斷的操作。 </p><p>  支持5位、6位、7位或8位串行數(shù)據(jù)的傳輸或接收。 </p><p><b>  可編程

36、的波特率。 </b></p><p>  支持IrDA1.0(115.2Kbps)。 </p><p>  測試時(shí)采用回饋模式。 </p><p>  每個(gè)通道都通過兩個(gè)內(nèi)部為32字節(jié)的FIFO來用于輸入和輸出。 </p><p>  DMA(直接存儲(chǔ)器操作)控制器 </p><p>  雙通道通用的DMA

37、控制器。 </p><p>  雙通道的橋式DMA(外設(shè)DMA)控制器。</p><p>  支持I/O到存儲(chǔ)器,存儲(chǔ)器到I/O,I/O到I/O的DMA請求。 </p><p>  同時(shí)發(fā)生的多個(gè)DMA的優(yōu)先級順序可編程。 </p><p>  采用猝發(fā)式的傳輸模式以提高FPDRAM、EDODRAM和SDRAM的數(shù)據(jù)傳輸速率。 </p&

38、gt;<p><b>  A/D轉(zhuǎn)換器 </b></p><p><b>  8通道的ADC。 </b></p><p>  10-bit的帶寬。 </p><p><b>  LCD控制器 </b></p><p>  支持彩色/黑白/灰度LCD屏。 </

39、p><p>  支持單路和雙路掃描顯示。</p><p>  支持虛擬顯示屏功能。 </p><p>  系統(tǒng)存儲(chǔ)器被用來作為顯示的緩存。 </p><p>  用專門的DMA從系統(tǒng)存儲(chǔ)器中獲得圖像數(shù)據(jù)。</p><p><b>  灰度等級:16級。</b></p><p>

40、  彩色模式:256色。</p><p><b>  看門狗定時(shí)器 </b></p><p>  16位的看門狗定時(shí)器。</p><p>  在定時(shí)器溢出時(shí)會(huì)發(fā)出中斷請求或系統(tǒng)復(fù)位。</p><p><b>  I2C總線接口</b></p><p>  1個(gè)多主的基于中斷操

41、作的I2C總線。</p><p>  8位雙向串行數(shù)據(jù)傳送器,標(biāo)準(zhǔn)模式速度達(dá)到100Kb/S,快速模式達(dá)到400Kb/S。</p><p><b>  I2S總線接口</b></p><p>  1路基于DMA操作的音頻I2S總線接口。 </p><p>  每通道8/16位串行數(shù)據(jù)傳輸。 </p><

42、;p>  SIO(同步串行I/O) </p><p>  1路基于DMA或基于中斷的SIO。 </p><p><b>  可編程的波特率。</b></p><p>  支持8位串行數(shù)據(jù)的傳輸和接收操作。</p><p><b>  操作電壓的范圍</b></p><p&g

43、t;  內(nèi)核為2.5V,I/O口為3.0V~3.6V。 </p><p><b>  運(yùn)行頻率與封裝</b></p><p>  最高達(dá)66MHz。 </p><p>  160LQFP/160FBGA。</p><p>  1.3 S3C44B0X引腳圖與嵌入式結(jié)構(gòu)圖</p><p>  如圖1

44、-1所示,S3C44BOX擁有71個(gè)多功能IO口,其分為7組;每組端口都可以滿足不同的系統(tǒng)和設(shè)計(jì)需要,但在運(yùn)行程序前必須先對每一個(gè)用到的引腳功能進(jìn)行設(shè)置,如果有些引腳的復(fù)用功能沒有被使用到,就可以將該引腳設(shè)置成IO口[5]。</p><p>  圖1-1 S3C44B0X微處理器引腳圖</p><p>  S3C44B0X微處理器的嵌入式結(jié)構(gòu)圖如圖1-2所示。</p><

45、;p>  圖1-2 基于S3C44B0X嵌入式結(jié)構(gòu) </p><p><b>  2 觸摸屏原理</b></p><p><b>  2.1觸摸屏簡介</b></p><p>  觸摸屏是一種附加在顯示器表面的透明介質(zhì),通過使用者的手指觸摸該介質(zhì)來實(shí)現(xiàn)對計(jì)算機(jī)的操作定位,最終實(shí)現(xiàn)對計(jì)算機(jī)的查詢和輸入,從而大大簡化了計(jì)

46、算機(jī)的輸入方式,真正實(shí)現(xiàn)零距離操作[6]。</p><p>  觸摸屏由觸摸檢測部件和觸摸屏控制器組成,觸摸檢測部件主要完成檢測用戶觸摸位置并傳送給觸摸屏控制器的功能,而觸摸屏控制器則完成觸摸信息的轉(zhuǎn)換以及接收處理器的控制命令并執(zhí)行的功能[7]。當(dāng)用戶觸摸顯示器上的內(nèi)容時(shí),實(shí)際上卻是觸摸到了觸摸屏控制器。它能將觸摸點(diǎn)轉(zhuǎn)換成觸摸點(diǎn)坐標(biāo),再將觸摸點(diǎn)坐標(biāo)傳送給微處理器。微處理器在接收到觸摸信息后就能作出相應(yīng)的畫面更新動(dòng)

47、作。顯示器則用于顯示用戶數(shù)據(jù)和畫面等。</p><p>  觸摸屏檢測部件簡稱為觸摸屏,按其工作原理我們可以把它們分為:電容感應(yīng)式、表面聲波式、電阻式和紅外線式等幾種。它們的特性比較表見表2-1所示。</p><p>  表2-1 觸摸屏特性比較表</p><p>  由此可以看出電阻式觸摸屏比較便宜的價(jià)格,良好的的定位精度和穩(wěn)定性已經(jīng)能夠滿足普通的使用要求,所以本

48、設(shè)計(jì)使用的觸摸屏為電阻式。</p><p>  2.1.1 電阻式觸摸屏結(jié)構(gòu)</p><p>  如圖2-1所示,電阻式觸摸屏的屏體是一塊與顯示器表面非常貼合的多層復(fù)合薄膜,它的基層是一層玻璃或有機(jī)玻璃,表面與內(nèi)表面都涂了一層透明的導(dǎo)電層,上面再蓋一層經(jīng)過了硬化處理和光滑防刮的塑料層,為了絕緣,在兩層導(dǎo)電層之間有許多細(xì)小(小于千分之一英寸)的透明隔離點(diǎn)把它們隔開[8]。</p>

49、<p>  圖2-1 電阻式觸摸屏結(jié)構(gòu)圖</p><p>  如圖2-1所示,當(dāng)你的手指或筆觸摸屏幕時(shí),平常相互絕緣的兩層導(dǎo)電層就會(huì)在觸摸點(diǎn)的位置有一個(gè)接觸,因?yàn)槠渲杏幸幻鎸?dǎo)電層(頂層)接通了X軸方向的5V均勻電壓場,使得檢測層(底層)的電壓從零變?yōu)榉橇悖?dāng)控制器偵測到這個(gè)接通后,就會(huì)進(jìn)行A/D轉(zhuǎn)換,并將得到的電壓值與5V作對比即可得觸摸點(diǎn)的X軸從坐標(biāo)(原點(diǎn)在在靠近接地點(diǎn)的那端)[9]:</p

50、><p>  Xi=Lx*Vi/V(即分壓原理)</p><p>  同理得出Y 軸的從坐標(biāo),這就是所有電阻技術(shù)觸摸屏共同的最基本原理。</p><p>  2.1.2 電阻式觸摸屏相關(guān)技術(shù)</p><p>  電阻式觸摸屏的主要部分是一塊與顯示器表面非常貼合的多層的復(fù)合薄膜,它的基層是一層玻璃或有機(jī)玻璃,表面上涂有一層透明導(dǎo)電層,上面再蓋一層塑

51、料層,并將其進(jìn)行硬化與光滑防刮處理,同時(shí)它的內(nèi)表面也涂有一層導(dǎo)電層(ITO或鎳金)。</p><p>  電阻式觸摸屏兩層的導(dǎo)電層必須要保持它的完整性,在每個(gè)工作面的兩條邊線上都要涂一條銀膠,一端加上5V電壓,一端加上0V電壓,這樣就能形成均勻連續(xù)的平行電壓分布在工作面的一個(gè)方向上。在偵測到有觸摸時(shí),立刻對接觸點(diǎn)的模擬量電壓值進(jìn)行A/D轉(zhuǎn)換測量,根據(jù)5V電壓下的等比公式就可以計(jì)算出觸摸點(diǎn)在這個(gè)方向上的位置。<

52、;/p><p>  透明的導(dǎo)電涂層材料有兩種:</p><p>  ITO,氧化銦,是一種弱導(dǎo)電體,特性是當(dāng)厚度降到1800個(gè)埃(埃=10米)以下時(shí)就會(huì)突然變得透明,透光率達(dá)到80%,但再薄下去后它的透光率反而會(huì)變低,當(dāng)?shù)?00埃厚度時(shí)又會(huì)上升到80%。但遺憾的是ITO在這個(gè)厚度下韌性非常差,很容易產(chǎn)生斷裂。ITO是一種所有電阻式觸摸屏及電容式觸摸屏都會(huì)用到的主要透明導(dǎo)電材料,實(shí)際上電阻式觸摸

53、屏及電容式觸摸屏的工作面就是ITO涂層。</p><p>  鎳金涂層,擁有極好的延展性,因此鎳金涂層材料被作為五線電阻式觸摸屏的外導(dǎo)電層,外導(dǎo)電層由于會(huì)被頻繁觸摸,鎳金材料良好的延展性的能夠有效地延長其使用壽命,但是它的成本比較貴,因此只適合作為觸摸屏的透明導(dǎo)體,不適合作為觸摸屏的工作面。因?yàn)殒嚱鹜繉拥膶?dǎo)電性太好了,所以不能對電阻進(jìn)行精密的測量,而且金屬的厚度很難做到非常均勻。</p><p

54、>  四線電阻式觸摸屏的基層大多使用的是有機(jī)玻璃,它不僅透光率低、易風(fēng)化和老化,因?yàn)橛袡C(jī)玻璃的剛性差,所以在安裝時(shí)存在一定的風(fēng)險(xiǎn),而且安裝時(shí)還不能捏邊上的銀膠,以免薄薄的ITO和相對厚實(shí)的銀膠之間會(huì)產(chǎn)生脫落破裂,拉或壓觸摸屏?xí)r不可以用力,以免會(huì)拉斷ITO層。這就是有些四線電阻觸摸屏安裝后顯得不太平整的原因。</p><p>  ITO是一種無機(jī)物,有機(jī)玻璃是有機(jī)物,有機(jī)物和無機(jī)物無法良好地結(jié)合,只要時(shí)間一長

55、就容易剝落。如果能夠生產(chǎn)出曲面的玻璃板,玻璃是一種無機(jī)物,就能和ITO結(jié)合的非常好成為導(dǎo)電玻璃,這樣電阻觸摸屏的壽命就能夠得到大大的延長。</p><p>  不管是四線還是五線電阻觸摸屏,它們的工作環(huán)境都與外界完全隔離,不管是灰塵、水汽還是油污都不怕,你能夠使用任何物體觸摸它,它能夠用來寫字畫畫,比較適合辦公室與工業(yè)控制領(lǐng)域的人的使用。但電阻觸摸屏有一個(gè)共同的缺點(diǎn),那就是不知道的人如果太用力或使用銳器觸摸可能會(huì)

56、劃傷整個(gè)觸摸屏從而導(dǎo)致報(bào)廢。不過,在限度之內(nèi),劃傷只會(huì)傷到外導(dǎo)電層,外導(dǎo)電層的劃傷對于五線電阻式觸摸屏來說并不會(huì)產(chǎn)生影響,但對四線電阻觸摸屏來說卻是致命的。</p><p>  2.2 觸摸屏工作原理</p><p>  2.2.1觸摸屏系統(tǒng)組成</p><p>  觸摸屏系統(tǒng)的組成如圖2-2所示,他由S3C44B0X微處理器作為整個(gè)系統(tǒng)的控制、數(shù)據(jù)處理中心。利用A

57、DS7843進(jìn)行觸摸屏信號轉(zhuǎn)換和液晶屏背光對比度控制電路連接處理器,A/D部分負(fù)責(zé)將模擬量轉(zhuǎn)換為數(shù)字量供給處理器單元,由其進(jìn)行判斷、處理和顯示,DI/DO部分負(fù)責(zé)將各種信號報(bào)警量采集進(jìn)來,提供給處理器單元進(jìn)行判斷處理,并且輸出控制信號去控制相應(yīng)的設(shè)備動(dòng)作,擴(kuò)展串口部分提供了兩個(gè)擴(kuò)展的RS-232/RS-485串行接口,可以使用此接口與現(xiàn)場的其他設(shè)備交換數(shù)據(jù),也可利用現(xiàn)場總線接口進(jìn)行通信,例如采用Modbus、Devicenet協(xié)議通信,

58、顯示部分為一個(gè)觸摸液晶顯示屏,除了提供顯示功能以外,他還作為輸入設(shè)備,可替代常規(guī)鍵盤[10]。</p><p>  圖2-2 觸摸屏系統(tǒng)的組成</p><p>  2.2.2 觸摸屏控制器工作原理</p><p>  現(xiàn)今被使用的觸摸屏控制器有多種,其主要功能均是在微處理器的控制下對觸摸屏的兩個(gè)方向分時(shí)施加電壓,并將相應(yīng)的電壓信號傳送給自身的A/D轉(zhuǎn)換器,在微處理S

59、PI口提供的同步時(shí)鐘作用下將數(shù)字信號讀入微處理器。</p><p>  本系統(tǒng)中選用 BB(Burr-Brown)公司生產(chǎn)的觸摸屏接口專用芯片ADS7843。ADS7843是一種串行接口芯片,其中內(nèi)置了l2位A/D轉(zhuǎn)換和低導(dǎo)通電阻模擬開關(guān)的。供電電壓為2.7—5.0 V,參考電壓為1 V—+Vcc,轉(zhuǎn)換電壓的輸入范圍為0—Vref,最高轉(zhuǎn)換速率為125 kHz。在125kHz 吞吐速率和2.7V電壓下的功耗為75

60、0μW,而在關(guān)閉模式下的功耗僅為0.5μW。由于具有低功耗和高速等特性,所以被廣泛應(yīng)用,ADS7843之所以能實(shí)現(xiàn)對觸摸屏的控制,是因?yàn)槠鋬?nèi)部結(jié)構(gòu)實(shí)現(xiàn)了電極電壓的切換,并能進(jìn)行快速A/D轉(zhuǎn)換[11]。</p><p>  圖2-3 ADS7843 控制字</p><p>  ADS7843的控制字如圖2-3所示,其中s為數(shù)據(jù)傳輸起始標(biāo)志位,該位必須為1。A2—A0為通道選擇位。MODE用來

61、選擇A/D轉(zhuǎn)換的精度:“1”選擇 8 位,“0”選擇 l2 位。SER/DFR用于選擇參考電壓的輸入模式。PD1和PD0選擇省電模式:“00”為省電模式允許,在兩次A/D轉(zhuǎn)換之間掉電,且中斷允許;“01”與“00”相同,只是不允許中斷;“10”為保留;“11”禁止省電模式。</p><p>  為了完成一次電極電壓切換和A/D 轉(zhuǎn)換,需要先經(jīng)過串口往ADS7843發(fā)送控制字,轉(zhuǎn)換完成后再通過串口讀出電壓轉(zhuǎn)換值。標(biāo)

62、準(zhǔn)的一次換需要24個(gè)時(shí)鐘周期,由于串口支持雙向同時(shí)進(jìn)行傳送,并且在一次讀數(shù)與下一次發(fā)送控制字之間可以重疊,所以轉(zhuǎn)換速率可以提高到每次16個(gè)時(shí)鐘周期[12]。ADS7843的控制流程如圖2-4所示。</p><p>  圖2-4 ADS7843 控制流程圖</p><p><b>  3 軟件設(shè)計(jì)</b></p><p>  3.1驅(qū)動(dòng)程序?qū)崿F(xiàn)流

63、程</p><p>  本設(shè)計(jì)是通過THUS-1型嵌入式(ARM)實(shí)驗(yàn)/開發(fā)系統(tǒng)來完成的。驅(qū)動(dòng)控制電路軟件設(shè)計(jì)中最為關(guān)鍵的就是根據(jù)ADS7843芯片內(nèi)部原理及時(shí)序關(guān)系控制其實(shí)現(xiàn)對XY坐標(biāo)的采集,同時(shí)將信息通過RS232串行通信發(fā)送到計(jì)算機(jī)上[13]。觸摸屏驅(qū)動(dòng)程序?qū)崿F(xiàn)流程如圖3-1所示。</p><p>  圖3-1 觸摸屏驅(qū)動(dòng)程序?qū)崿F(xiàn)流程</p><p><

64、b>  3.2中斷處理程序</b></p><p>  觸摸屏的驅(qū)動(dòng)核心是中斷處理程序,響應(yīng)中斷并提供相應(yīng)服務(wù)的程序稱為中斷處理程序。在觸摸屏驅(qū)動(dòng)中,中斷服務(wù)程序的主要功能就是加載定時(shí)器處理程序和指定執(zhí)行程序的時(shí)間點(diǎn)[14]。定時(shí)器處理程序的主要任務(wù)為通過ADS7843的X+,X-,Y+,Y-端子分別讀取觸摸屏X軸和Y軸的A/D轉(zhuǎn)換坐標(biāo)值,并對其進(jìn)行判斷,獲得真實(shí)結(jié)構(gòu),達(dá)到對觸點(diǎn)定位的目的。定時(shí)

65、器處理程序流程如圖3-2所示。</p><p>  圖3-2 定時(shí)器處理程序流程</p><p>  3.3 觸摸屏按鍵的坐標(biāo)算法</p><p>  ADS7843的轉(zhuǎn)換精度有8位和12位兩種,可以精確到X或Y方向上的1/256和1/4096。觸摸屏的坐標(biāo)如圖3-3所示。其中,(X,Y)是按鍵的中心坐標(biāo),(X’,Y’)是按鍵右下角坐標(biāo),(X”,Y”)是其左上角的坐

66、標(biāo)。在觸及屏幕時(shí),觸點(diǎn)只要在(X’,Y’)和(X”,Y”)矩形區(qū)域內(nèi)均認(rèn)為是觸摸該按鍵有效[15]。</p><p>  圖3-3 觸摸屏的坐標(biāo)</p><p>  實(shí)際采用固定參考電壓模式,SER/DFR= 1。程序首先檢測PENIRQ是否為低電平,只有當(dāng)觸摸屏有接觸時(shí)此位才會(huì)為低電平。利用軟件模擬DIN,DOUT和DCLK上的三線串行傳輸時(shí)序,將讀取X或Y坐標(biāo)值的控制字串行送入 ADS

67、7843,然后再串行讀出坐標(biāo)值。</p><p>  其中,Test-Touch()函數(shù)發(fā)送控制字并讀取結(jié)果,程序流程圖如圖3-4 所示。</p><p>  圖3-4 讀取坐標(biāo)流程圖</p><p>  4 觸摸屏驅(qū)動(dòng)程序的測試</p><p><b>  4.1 測試準(zhǔn)備</b></p><p&g

68、t;  用并口線正確連接電腦并口和配套仿真器,用14針(或20針)的排線連接仿真器和實(shí)驗(yàn)箱的JTAG口;用串口線連接實(shí)驗(yàn)箱上的串口1單元與計(jì)算機(jī)的COM1(或COM2)。</p><p>  在PC機(jī)上運(yùn)行windows 自帶的串口通信程序“超級終端”(波特率為57600、8位數(shù)據(jù)位、無奇偶校驗(yàn)位、1位停止位、無數(shù)據(jù)流控制)。</p><p>  打開系統(tǒng)電源,運(yùn)行仿真器驅(qū)動(dòng)程序,使用AR

69、M STD2.51集成開發(fā)環(huán)境打開程序,下載并運(yùn)行。</p><p>  在PC上觀察“超級終端”主窗口顯示。</p><p><b>  4.2 運(yùn)行結(jié)果</b></p><p>  程序運(yùn)行時(shí),如圖4-1所示。</p><p>  圖4-1 觸摸屏運(yùn)行圖</p><p>  當(dāng)觸摸某一個(gè)數(shù)字時(shí)

70、,超級終端接收到坐標(biāo),得到反饋結(jié)果,如圖4-2所示。</p><p><b>  圖4-3反饋結(jié)果</b></p><p><b>  結(jié)束語</b></p><p>  在嵌入式智能設(shè)備中,觸摸屏正在逐漸取代傳統(tǒng)的鼠標(biāo)、鍵盤等設(shè)備,成為最主要的人機(jī)交互輸入設(shè)備,本文完成了基于S3C44B0X的觸摸屏的驅(qū)動(dòng)控制。并實(shí)驗(yàn)證明

71、的程序的穩(wěn)定可靠,達(dá)到了預(yù)期的效果。本文為人機(jī)交互中的觸摸屏驅(qū)動(dòng)控制提供了一種實(shí)用解決方案,可應(yīng)用于其他的嵌入式系統(tǒng)中。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 賴誠.觸摸屏原理及在單片機(jī)系統(tǒng)的應(yīng)用[J]. 商場現(xiàn)代化,2006,471.</p><p>  [2] 李力,黎敏等.一種基于MIS 的觸摸屏漢字輸

72、入方法的設(shè)計(jì)[J].微機(jī)算機(jī)與 信息,2006.23:91-98.</p><p>  [3] 田澤.嵌入式系統(tǒng)開發(fā)與應(yīng)用教程[M].北京:北京航空航天大學(xué)出版社, 2010.</p><p>  [4] Samsung Electronics User’s Manual S3C44B0X 32BitRISC Microprocessor [Z]. 2003.&

73、lt;/p><p>  [5] 李巖,榮盤祥. 基于S3C44B0X嵌入式µCLinux系統(tǒng)原理及應(yīng)用[M].北京: 清華大學(xué)出版社,2005.</p><p>  [6] 韓兵.觸摸屏技術(shù)及應(yīng)用[M].北京:化學(xué)工業(yè)出版社,2008.</p><p>  [7]趙昌永,王勇,陳抗生.一種基于嵌入式Linux 的視頻采集系統(tǒng)[J].儀 器儀表

74、學(xué)報(bào),2005,26(8):53-55.</p><p>  [8] 陳賾.ARM嵌入式實(shí)踐教程[M].北京:北京航空航天大學(xué)出版社,2005.</p><p>  [9] 皮大能.單片機(jī)課程設(shè)計(jì)指導(dǎo)書[M].北京:北京理工大學(xué)出版社,2010.</p><p>  [10] 王田苗.嵌入式系統(tǒng)設(shè)計(jì)與實(shí)例開發(fā)[M].北京:清華大學(xué)出版社,2003.</p>

75、;<p>  [11] ADS7843 touch screen controller[S].Burr-Brown Corporation,1998.</p><p>  [12] 張茹,孫松林,于曉剛.嵌入式系統(tǒng)技術(shù)基礎(chǔ)[M].北京:北京郵電大學(xué)出版 社,2005.</p><p>  [13] 于明,范書瑞,曾祥燁.ARM9嵌入式系統(tǒng)設(shè)計(jì)與開發(fā)教程[M].北京:電子

76、 工業(yè)出版社,2006.</p><p>  [14] 于明,曾祥燁.ARM9嵌入式系統(tǒng)設(shè)計(jì)與開發(fā)教程[M].北京:電子工業(yè)大學(xué) 出版社,2006.4.</p><p>  [15] 張綺文,謝建雄,謝勁心.ARM嵌入式常用模塊與綜合系統(tǒng)設(shè)計(jì)實(shí)例精講[M]. 北京:電子工業(yè)出版社,2007.1.</p><p><b>  致 謝</b&g

77、t;</p><p>  在論文完成之際,我首先向關(guān)心幫助和指導(dǎo)我的指導(dǎo)老師施文娟表示衷心的感謝并致以崇高的敬意! 在學(xué)校的學(xué)習(xí)生活即將結(jié)束,回顧四年來的學(xué)習(xí)經(jīng)歷,面對現(xiàn)在的收獲,我感到無限欣慰。為此,我向熱心幫助過我的所有老師和同學(xué)表示由衷的感謝!在論文工作中,遇到了許許多多這樣那樣的問題,有的是專業(yè)上的問題,有的是論文格式上的問題,一直得到施文娟老師的親切關(guān)懷和悉心指導(dǎo),使我的論文可以又快又好的完成,

78、施文娟老師以其淵博的學(xué)識、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、求實(shí)的工作作風(fēng)和他敏捷的思維給我留下了深刻的印象,我將終生難忘我的施文娟老師對我的親切關(guān)懷和悉心指導(dǎo),再一次向他表示衷心的感謝,感謝他為學(xué)生營造的濃郁學(xué)術(shù)氛圍,以及學(xué)習(xí)、生活上的無私幫助! 值此論文完成之際,謹(jǐn)向施文娟老師致以最崇高的謝意! 最后,衷心地感謝在百忙之中評閱論文和參加答辯的各位專家、教授!</p><p><b>  附 錄</

79、b></p><p>  觸摸屏驅(qū)動(dòng)部分源程序:</p><p><b>  主程序:</b></p><p>  #include "44b.h"</p><p>  #include "44blib.h"</p><p>  #include &q

80、uot;def.h"</p><p>  #include"Lcdlib.h"</p><p>  #include"LCDTest.h"</p><p>  #include "glib.h"</p><p>  #include "touch.h"&

81、lt;/p><p>  void AutoTest(void);</p><p>  void Isr_Init(void);</p><p>  void HaltUndef(void);</p><p>  void HaltSwi(void);</p><p>  void HaltPabort(void);<

82、/p><p>  void HaltDabort(void);</p><p>  #define M5D(n) ((n) & 0x1fffff)</p><p>  #define ARRAY_SIZE_COLOR (SCR_XSIZE/1*SCR_YSIZE)</p><p>  #define HOZVAL(LCD_XSI

83、ZE/4-1)</p><p>  #define HOZVAL_COLOR(LCD_XSIZE*3/8-1)</p><p>  #define LINEVAL(LCD_YSIZE-1)</p><p>  #define MVAL(13)</p><p>  #define CLKVAL_MONO (13) //6

84、0Mhz, CLKVAL=19 ->78.6Hz</p><p>  #define CLKVAL_G4 (9) //40Mhz, CLKVAL=9 ->110Hz</p><p>  #define CLKVAL_G16 (10) //40Mhz, CLKVAL=10 ->101Hz</p><p>  //

85、 9 ->112Hz</p><p>  #define CLKVAL_COLOR (10) //60Mhz </p><p>  void LcdInit(int color);</p><p>  unsigned int (*frameBuffer256)[SCR_XSIZE/4];</p><p>  #def

86、ine MVAL_USED 0</p><p>  void Lcd_Init(int depth)</p><p><b>  { </b></p><p>  if((U32)frameBuffer256==0)</p><p><b>  {</b></p><p>

87、;  //The total frame memory should be inside 4MB.</p><p>  //For example, if total memory is 8MB, the frame memory </p><p>  //should be in 0xc000000~0xc3fffff or c400000~c7fffff.</p><

88、;p>  //But, the following code doesn't meet this condition(4MB) </p><p>  //if the code size & location is changed..</p><p>  frameBuffer256=(unsigned int (*)[SCR_XSIZE/4])malloc(ARRA

89、Y_SIZE_COLOR); </p><p><b>  }</b></p><p>  rLCDCON1=(0)|(2<<5)|(MVAL_USED<<7)|(0x3<<8)|(0x3<<10)|(CLKVAL_COLOR<<12);</p><p>  // disable,8B

90、_SNGL_SCAN,WDLY=8clk,WLH=8clk,</p><p>  rLCDCON2=(LINEVAL)|(HOZVAL_COLOR<<10)|(10<<21); </p><p>  //LINEBLANK=10 (without any calculation) </p><p>  rLCDSADDR1= (0x3<

91、;<27) | ( ((U32)frameBuffer256>>22)<<21 ) | M5D((U32)frameBuffer256>>1);</p><p>  // 256-color, LCDBANK, LCDBASEU</p><p>  rLCDSADDR2= M5D((((U32)frameBuffer256+(SCR_XSIZE*L

92、CD_YSIZE))>>1)) | (MVAL<<21);</p><p>  rLCDSADDR3= (LCD_XSIZE/2) | ( ((SCR_XSIZE-LCD_XSIZE)/2)<<9 );</p><p>  //The following value has to be changed for better display.</p&

93、gt;<p>  rREDLUT =0xfdb96420;</p><p>  rGREENLUT=0xfdb96420;</p><p>  rBLUELUT =0xfb40;</p><p>  rDITHMODE=0x0;</p><p>  rDP1_2 =0xa5a5; </p><p&

94、gt;  rDP4_7 =0xba5da65;</p><p>  rDP3_5 =0xa5a5f;</p><p>  rDP2_3 =0xd6b;</p><p>  rDP5_7 =0xeb7b5ed;</p><p>  rDP3_4 =0x7dbe;</p><p>  rDP4_5 =0x7ebdf;<

95、;/p><p>  rDP6_7 =0x7fdfbfe;</p><p>  rLCDCON1=(1)|(2<<5)|(MVAL_USED<<7)|(0x3<<8)|(0x3<<10)|(CLKVAL_COLOR<<12);</p><p>  // enable,8B_SNGL_SCAN,WDLY=8clk,

96、WLH=8clk,</p><p><b>  }</b></p><p>  /****************************************************************</p><p>  My first S3C44B0X Application</p><p>  *****

97、**********************************************************/</p><p>  void Main(void)</p><p><b>  {</b></p><p>  Port_Init();</p><p>  ChangePllValue( 88, 6,

98、 1 ); //晶振10MHz,修改系統(tǒng)主頻為6倍頻(60MHz) </p><p>  rSYSCFG=CACHECFG;</p><p>  Delay(0); </p><p>  Isr_Init();</p><p>  Uart_Init(0,57600);</p><p&

99、gt;  Uart_Select(0);</p><p>  Delay(0); Uart_Printf("\n\n\n\n\n\n\n*************************************************************************\n");</p><p>  Uart_Printf("\n 謝云峰

100、\n") ;</p><p>  Uart_Printf("\n http:www.tianhuang.cn\n") ;</p><p>  Uart_Printf("\n 觸摸屏測試實(shí)驗(yàn)\n");</p><p>  Uart_Printf("\n (Touch Screen Experiment

101、)\n");</p><p>  Uart_Printf("\n S3C44B0X Test Program Ver 0.00 rSYSCFG=0x%x MCLK=%dMHz",rSYSCFG,MCLK/1000000) ;</p><p>  Uart_Printf("\n COM:57600bps,8Bit,NP,UART0");&

102、lt;/p><p>  Uart_Printf("\n Date: " __DATE__ "\n"); </p><p>  LcdColor256_Bmp( actable ) ;//在LCD上面</p><p>  Test_Touch(); </p><p><b>  }<

103、/b></p><p>  void Isr_Init(void)</p><p><b>  {</b></p><p>  pISR_UNDEF=(unsigned)HaltUndef;</p><p>  pISR_SWI =(unsigned)HaltSwi;</p><p>  

104、pISR_PABORT=(unsigned)HaltPabort;</p><p>  pISR_DABORT=(unsigned)HaltDabort;</p><p>  //rINTCON=0x1; // Vectored Int. IRQ enable,FIQ disable </p><p>  rINTCON=0x5; // Non-vec

105、tored,IRQ enable,FIQ disable </p><p>  rINTMOD=0x0; // All=IRQ mode</p><p>  rINTMSK=BIT_GLOBAL; // All interrupt is masked.</p><p><b>  }</b></p><p>

106、;  void HaltUndef(void)</p><p><b>  {</b></p><p>  Uart_Printf("Undefined instruction exception!!!\n");</p><p><b>  while(1);</b></p><p&

107、gt;<b>  }</b></p><p>  void HaltSwi(void)</p><p><b>  {</b></p><p>  Uart_Printf("SWI exception!!!\n");</p><p><b>  while(1);<

108、;/b></p><p><b>  }</b></p><p>  void HaltPabort(void)</p><p><b>  {</b></p><p>  Uart_Printf("Pabort exception!!!\n");</p>&

109、lt;p><b>  while(1);</b></p><p><b>  }</b></p><p>  void HaltDabort(void)</p><p><b>  {</b></p><p>  Uart_Printf("Dabort exce

110、ption!!!\n");</p><p><b>  while(1);</b></p><p><b>  }</b></p><p>  void Quit(void)</p><p><b>  {</b></p><p>  Uart

111、_Printf("Programe end successfully.\n");</p><p><b>  while(1);</b></p><p><b>  }</b></p><p>  void ClearScreen(void)</p><p><b> 

溫馨提示

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

評論

0/150

提交評論