觸摸屏驅動論文_第1頁
觸摸屏驅動論文_第2頁
觸摸屏驅動論文_第3頁
觸摸屏驅動論文_第4頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

鹽城師范學院畢業(yè)設計2012-2013學年度基于S3C44B0X的觸摸屏驅動程序的設計學生姓名 謝云峰學 院 物理科學與電子技術學院專 業(yè) 電子信息工程班 級 09 (4)班學 號 09223346指導教師 施文娟2013年5月27日精品文檔 你我共享基于S3C44B0X的觸摸屏驅動程序的設計摘 要隨著電子設備的不斷智能化,傳統(tǒng)的鍵盤、鼠標等人機交互方式已經(jīng)無法滿足人們的需求,人們想要更加方便準確的人機交互工具。而觸摸屏通過手指觸摸就能實現(xiàn)操作定位,大大簡化了電子設備的輸入方式,真正實現(xiàn)零距離操作,因此觸摸屏得到了越來越廣泛的應用。本文介紹了基于ARM7TDMI內(nèi)核的高性能微處理器S3C44B0X的基本功能,闡述了觸摸屏的組成與基本工作原理,并在分析觸摸屏嵌入式系統(tǒng)的基礎上,針對觸摸屏驅動控制程序的難點,提出了具體的解決方案,最終完成了基于微處理器S3C44B0X的觸摸屏驅動控制程序的設計。【關鍵詞】人機交互,S3C44B0X,觸摸屏,嵌入式系統(tǒng)AAAAAA精品文檔 你我共享DrivendesignoftouchscreenbasedonS3C44B0XAbstractWiththeintelligentelectronicdevices,Traditionalkeyboard,mouseandotherhuman-computerinteractionhasbeenunabletomeetpeople'sneeds,Peoplewanttohavemoreconvenientandaccuratehuman-computerinteractiontool.Andtouchscreencanberealizedpositioningoperationbyfingerstouch,Thisgreatlysimplifyingtheinputmodeoftheelectronicequipmentandrealizingzerodistanceoperation,sothetouchscreenhasbeenmoreandmorewidelyused.Thisarticledescribesthebasicfunctionsofhigh-performancemicroprocessorS3C44B0XbasedontheARM7TDMIcore,Describesthecompositionandthebasicworkingprincipleofthetouchscreen.Forthethedrivecontrolprogram’sdifficultiesoftouchscreen,Iproposedthespecificsolutionsbasedontheanalysisofthetouch-screenembeddedsystem.Finally,Icompletedthetouchscreensdriver’controlprogramdesignbasedonS3C44B0X.[Keywords]Human-ComputerInteraction,S3C44B0X,Touchscreen,EmbeddedsystemAAAAAA精品文檔你我共享目錄引言........................................................................................................................41S3C44B0X芯片介紹..........................................................................................41.1S3C44B0X簡介........................................................................................41.2S3C44B0X的特性.....................................................................................51.3S3C44B0X引腳圖與嵌入式結構圖........................................................92觸摸屏原理.......................................................................................................102.1觸摸屏簡介..............................................................................................102.1.1電阻式觸摸屏結構.......................................................................112.1.2電阻式觸摸屏相關技術...............................................................122.2觸摸屏工作原理.....................................................................................132.2.1觸摸屏系統(tǒng)組成............................................................................132.2.2觸摸屏控制器工作原理...............................................................143軟件設計...........................................................................................................153.1驅動程序實現(xiàn)流程..................................................................................153.2中斷處理程序..........................................................................................163.3觸摸屏按鍵的坐標算法.........................................................................184觸摸屏驅動程序的測試...................................................................................194.1測試準備.................................................................................................194.2運行結果.................................................................................................19結束語..........................................................................................................................21參考文獻......................................................................................................................22致謝......................................................................................................................23附錄......................................................................................................................24AAAAAA精品文檔 你我共享引 言隨著電子信息技術發(fā)展以及數(shù)字化設備的普及,基于嵌入式系統(tǒng)的各種產(chǎn)品得到越來越廣泛地應用,功能也越來越強大。在巨大市場需求的驅使下,人們對各類電子產(chǎn)品的人機交互界面也有了越來越高的要求。觸摸屏正在逐漸取代鍵盤和鼠標,成為人們所使用的主要的輸入設備。觸摸屏作為一種最新的輸入設備,它是目前最簡單、方便、自然的一種人機交互方式,它賦予了多媒體以嶄新的面貌,是極富吸引力的全新多媒體交互設備[1]。觸摸屏在我國的應用范圍非常廣闊,主要是公共信息的查詢,如電信局、稅務局、銀行、電力等部門的業(yè)務查詢,城市街頭的信息查詢,此外應用于領導辦公、工業(yè)控制、軍事指揮、電子游戲、點歌點菜、多媒體教學、房地產(chǎn)預售等 [2]。最近幾年隨著智能手機和平板的飛速發(fā)展,觸摸屏最為其最重要的人機交互介質,正在以更快的速度走進我們的生活。S3C44B0X微處理器是三星公司研發(fā)的基于 ARM7TDMI核的高性能嵌入式處理器,由于其在擁有高性價比的同時內(nèi)嵌了多種接口, 因此在消費類電子和手持電子設備中了的應用越來越廣泛。本文介紹了基于ARM7TDMI內(nèi)核的高性能微處理器S3C44B0X的基本功能,闡述了觸摸屏基本工作原理,并在分析觸摸屏嵌入式系統(tǒng)的基礎上,針對觸摸屏驅動控制程序的難點,提出了具體的解決方案,最終完成了基于微處理器S3C44B0X的觸摸屏驅動控制程序的設計。S3C44B0X芯片介紹1.1S3C44B0X簡介Samsung公司的S3C44B0X是國內(nèi)應用廣泛的基于ARM7TMDI內(nèi)核的SoC。該芯片功能強大,片上資源豐富,是Samsung公司為手持設備等應用提供的高性價比解決方案[3]。S3C44B0X采用0.25μmCMOS的制作工藝,最大工作主頻可達66MHz。三級流水線結構高達0.9MIPSMHz。CPU的核心電壓為2.5V,IO口的電壓為3.3~3.6V,內(nèi)核帶有8KB的緩存。由于采用了低電壓技術,芯片運算速度很快,但功耗卻很低。S3C44B0X還采用了一種新的總線結構,那就是SAMBAⅡ(三星ARMCPU嵌入式總線結構)。同時,此芯片還內(nèi)置了LCD控制器,其帶有LCDAAAAAA精品文檔 你我共享專用的DMA控制器,支持最大到 256色的雙層超扭曲向列(DSTN)液晶屏。這是現(xiàn)在應用較多的一種點陣式液晶顯示器件, “超扭曲”顧名思義,即液晶屏中液晶分子的排列扭曲角很大,超過了 90°。S3C44B0X提供通用與全面的片上外設,大大減少了系統(tǒng)電路中除處理器以外的其他元器件配置,從而最小化了系統(tǒng)的成本[4]。片上集成的主要功能如下:2.5VARM7TDMI內(nèi)核,帶有8K緩存(SAMBAII總線體系結構,主頻高達66MHZ);外部存儲器控制器(FP/EDO/SDRAM控制器,片選邏輯);LCD控制器(最大支持256色DSTN),并帶有1通道LCD專用DMA;雙通道通用DMA,2通道外設DMA并具有外部請求引腳;雙通道UART帶有握手協(xié)議(支持IRDA1.0,具有16-byteFIFO)/1通道SIO;單通道多主IIC-BUS控制器;單通道IIS-BUS控制器;*5個PWM定時器和1個內(nèi)部定時器;看門狗定時器;*71個通用I/O口/8通道外部中斷源;功耗控制:具有正常,低速,空閑和停止模式;*8通道10位ADC;具有日歷功能的RTC;帶PLL的片上時鐘發(fā)生器。1.2S3C44B0X的特性體系結構集成了通用嵌入式系統(tǒng)應用和手持電子設備的相關解決方案。② 擁有16/32位RISC體系結構和ARM7TDMI處理器內(nèi)核強大的指令體系。③集成了Thumb代碼壓縮機:在最大化代碼密度的同時保持了32位指令的性能。④ 基于JTAG的片上集成ICE調試支持解決方案。⑤ 集成了32×8位硬件乘法器。SAMBAII是一種新型低功耗的總線結構。AAAAAA精品文檔 你我共享系統(tǒng)(存儲)管理器支持大端或小端模式。② 尋址空間:每個地址空間為 32M字節(jié)(共有256M字節(jié))。③ 所有地址空間可以使用編程將其設置為 8位、16位或32位寬的數(shù)據(jù)對齊訪問。④ 擁有7個固定的起始地址及大小可編程的地址空間。⑤ 擁有8個地址空間。⑥ 所有的存儲器空間的操作周期都可以編程。⑦ 支持外部等待信號延長總線周期。⑧ 掉電時DRAM/SDRAM 能啟動自刷新模式。⑨ 支持地址對稱或抵制非對稱的 DRAM。Cache存儲器和片內(nèi)SRAM一體化的8K字節(jié)緩存。② 未用的緩存空間用來作為 0/4/8K字節(jié)的SRAM存儲空間。③ 支持LRU替換算法。④ 采用“寫穿式”策略來保持主存儲器與緩存的內(nèi)容一致性。⑤ 寫存儲器具有4級深度。⑥ 當緩存未命中時,采用“請求數(shù)據(jù)優(yōu)先填充”的技術。時鐘和電源管理片上PLL使MCU工作時最大達到75MHz。②可以通過軟件來設置各個功能模塊的輸入時鐘。③電源模式:正常、慢速、空閑和停止模式。④正常模式:正常工作模式。⑤慢速模式:不加PLL的低時鐘頻率模式。⑥空閑模式:只停止CPU的時鐘。⑦停止模式:停止所有的時鐘。⑧通過EINT[7:0]或RTC報警中斷從停止模式喚醒。中斷控制器30個中斷源(看門狗定時器、6個定時器、6個UART、8個外部中斷、4個DMA、2個RTC、1個ADC、1個IIC、1個SIO)。② 采用向量化的IRQ中斷模式來減少中斷的延遲。AAAAAA精品文檔 你我共享③ 外部中斷通過可選的電平 /邊沿模式來觸發(fā)。④ 電平/邊沿模式優(yōu)先可編程。⑤ 緊急的中斷請求通過 FIQ為進行服務。定時器和PWM(脈寬調制)PWM功能的定時器為5通道16位,內(nèi)部定時器為1通道16位(可進行基于DMA或中斷的操作)。② 可編程的占空比周期、頻率和優(yōu)先級。③ 支持外部中斷源。④ 能產(chǎn)生死區(qū)。RTC(實時時鐘)充分的時鐘特性:毫秒、秒、分鐘、小時、日、星期、月、年。32.768kHz時鐘。③ 定時警報,可用于喚醒 CPU。④ 可產(chǎn)生時鐘節(jié)拍中斷。通用I/O口8個外部中斷口。71個多功能輸入/輸出口。UART(異步串行通信)① 雙通道通用UART,可進行基于DMA或中斷的操作。② 支持5位、6位、7位或8位串行數(shù)據(jù)的傳輸或接收。③ 可編程的波特率。④ 支持IrDA1.0(115.2Kbps)。⑤ 測試時采用回饋模式。⑥ 每個通道都通過兩個內(nèi)部為 32字節(jié)的FIFO來用于輸入和輸出。DMA(直接存儲器操作)控制器雙通道通用的DMA控制器。② 雙通道的橋式DMA(外設DMA)控制器。③ 支持I/O到存儲器,存儲器到 I/O,I/O到I/O的DMA請求。④ 同時發(fā)生的多個DMA的優(yōu)先級順序可編程。⑤ 采用猝發(fā)式的傳輸模式以提高 FPDRAM、EDODRAM和SDRAM的數(shù)據(jù)傳輸速率。AAAAAA精品文檔 你我共享A/D轉換器8通道的ADC。②10-bit的帶寬。LCD控制器支持彩色/黑白/灰度LCD屏。②支持單路和雙路掃描顯示。③ 支持虛擬顯示屏功能。④ 系統(tǒng)存儲器被用來作為顯示的緩存。⑤ 用專門的DMA從系統(tǒng)存儲器中獲得圖像數(shù)據(jù)。⑥ 灰度等級:16級。⑦ 彩色模式:256色??撮T狗定時器16位的看門狗定時器。② 在定時器溢出時會發(fā)出中斷請求或系統(tǒng)復位。I2C總線接口1個多主的基于中斷操作的I2C總線。8位雙向串行數(shù)據(jù)傳送器,標準模式速度達到100Kb/S,快速模式達到400Kb/S。I2S總線接口1路基于DMA操作的音頻I2S總線接口。②每通道8/16位串行數(shù)據(jù)傳輸。SIO(同步串行I/O)1路基于DMA或基于中斷的SIO。② 可編程的波特率。③ 支持8位串行數(shù)據(jù)的傳輸和接收操作。操作電壓的范圍內(nèi)核為2.5V,I/O口為3.0V~3.6V。運行頻率與封裝最高達66MHz。160LQFP/160FBGA。AAAAAA精品文檔 你我共享1.3S3C44B0X引腳圖與嵌入式結構圖如圖1-1所示,S3C44BOX擁有71個多功能IO口,其分為7組;每組端口都可以滿足不同的系統(tǒng)和設計需要,但在運行程序前必須先對每一個用到的引腳功能進行設置,如果有些引腳的復用功能沒有被使用到,就可以將該引腳設置成 IO口[5]。S3C44B0X圖1-1S3C44B0X微處理器引腳圖AAAAAA精品文檔 你我共享S3C44B0X微處理器的嵌入式結構圖如圖 1-2所示。LCD顯示1MB線性USB接口Flash(BIOS)基于ARM架USBN9603構的32位微兩個RS-232SMBSDRM處理器串行通信接口(系統(tǒng)內(nèi)存)SamsungS3C44B0X16MB非線性JTAG調試端口Flash(硬盤)TCP/IP協(xié)議鍵盤輸入CANBUS圖1-2基于S3C44B0X嵌入式結構觸摸屏原理2.1觸摸屏簡介觸摸屏是一種附加在顯示器表面的透明介質,通過使用者的手指觸摸該介質來實現(xiàn)對計算機的操作定位,最終實現(xiàn)對計算機的查詢和輸入,從而大大簡化了計算機的輸入方式,真正實現(xiàn)零距離操作[6]。觸摸屏由觸摸檢測部件和觸摸屏控制器組成,觸摸檢測部件主要完成檢測用戶觸摸位置并傳送給觸摸屏控制器的功能,而觸摸屏控制器則完成觸摸信息的轉換以及接收處理器的控制命令并執(zhí)行的功能[7]。當用戶觸摸顯示器上的內(nèi)容時,實際上卻是觸摸到了觸摸屏控制器。它能將觸摸點轉換成觸摸點坐標,再將觸摸點坐標傳送給微處理器。微處理器在接收到觸摸信息后就能作出相應的畫面更新動作。顯示器則用于顯示用戶數(shù)據(jù)和畫面等。觸摸屏檢測部件簡稱為觸摸屏,按其工作原理我們可以把它們分為:電容感應式、表面聲波式、電阻式和紅外線式等幾種。它們的特性比較表見表2-1所示。AAAAAA精品文檔 你我共享表2-1 觸摸屏特性比較表類別特性紅外線式電阻式表面聲波電容式觸摸屏觸摸屏觸摸屏觸摸屏清晰度一般較好很好較差透光率100%75%92%85%分辨率40*324096*40964096*40961024*1024響應速度50—300ms10ms10ms15—24ms防刮擦好一般非常好一般漂移無無無有防塵不能擋住不怕不怕不怕透光部壽命紅外管壽命大于3500萬次大于5000萬次大于2000萬次價格低中高中由此可以看出電阻式觸摸屏比較便宜的價格,良好的的定位精度和穩(wěn)定性已經(jīng)能夠滿足普通的使用要求,所以本設計使用的觸摸屏為電阻式。電阻式觸摸屏結構如圖2-1所示,電阻式觸摸屏的屏體是一塊與顯示器表面非常貼合的多層復合薄膜,它的基層是一層玻璃或有機玻璃,表面與內(nèi)表面都涂了一層透明的導電層,上面再蓋一層經(jīng)過了硬化處理和光滑防刮的塑料層,為了絕緣,在兩層導電層之間有許多細小(小于千分之一英寸)的透明隔離點把它們隔開 [8]。圖2-1 電阻式觸摸屏結構圖AAAAAA精品文檔 你我共享如圖2-1所示,當你的手指或筆觸摸屏幕時,平常相互絕緣的兩層導電層就會在觸摸點的位置有一個接觸,因為其中有一面導電層 (頂層)接通了X軸方向的5V均勻電壓場,使得檢測層(底層)的電壓從零變?yōu)榉橇?,當控制器偵測到這個接通后,就會進行A/D轉換,并將得到的電壓值與5V作對比即可得觸摸點的X軸從坐標(原點在在靠近接地點的那端 )[9]:Xi=Lx*Vi/V(即分壓原理)同理得出Y軸的從坐標,這就是所有電阻技術觸摸屏共同的最基本原理。電阻式觸摸屏相關技術電阻式觸摸屏的主要部分是一塊與顯示器表面非常貼合的多層的復合薄膜,它的基層是一層玻璃或有機玻璃,表面上涂有一層透明導電層,上面再蓋一層塑料層,并將其進行硬化與光滑防刮處理,同時它的內(nèi)表面也涂有一層導電層(ITO或鎳金)。電阻式觸摸屏兩層的導電層必須要保持它的完整性,在每個工作面的兩條邊線上都要涂一條銀膠,一端加上5V電壓,一端加上0V電壓,這樣就能形成均勻連續(xù)的平行電壓分布在工作面的一個方向上。在偵測到有觸摸時,立刻對接觸點的模擬量電壓值進行A/D轉換測量,根據(jù)5V電壓下的等比公式就可以計算出觸摸點在這個方向上的位置。透明的導電涂層材料有兩種:ITO,氧化銦,是一種弱導電體,特性是當厚度降到1800個埃(埃=10米)以下時就會突然變得透明,透光率達到80%,但再薄下去后它的透光率反而會變低,當?shù)?00埃厚度時又會上升到80%。但遺憾的是ITO在這個厚度下韌性非常差,很容易產(chǎn)生斷裂。ITO是一種所有電阻式觸摸屏及電容式觸摸屏都會用到的主要透明導電材料,實際上電阻式觸摸屏及電容式觸摸屏的工作面就是ITO涂層。鎳金涂層,擁有極好的延展性,因此鎳金涂層材料被作為五線電阻式觸摸屏的外導電層,外導電層由于會被頻繁觸摸,鎳金材料良好的延展性的能夠有效地延長其使用壽命,但是它的成本比較貴,因此只適合作為觸摸屏的透明導體,不適合作為觸摸屏的工作面。因為鎳金涂層的導電性太好了,所以不能對電阻進行精密的測量,而且金屬的厚度很難做到非常均勻。四線電阻式觸摸屏的基層大多使用的是有機玻璃,它不僅透光率低、易風化和老化,因為有機玻璃的剛性差,所以在安裝時存在一定的風險,而且安裝時還AAAAAA精品文檔 你我共享不能捏邊上的銀膠,以免薄薄的 ITO和相對厚實的銀膠之間會產(chǎn)生脫落破裂,拉或壓觸摸屏時不可以用力,以免會拉斷 ITO層。這就是有些四線電阻觸摸屏安裝后顯得不太平整的原因。ITO是一種無機物,有機玻璃是有機物,有機物和無機物無法良好地結合,只要時間一長就容易剝落。如果能夠生產(chǎn)出曲面的玻璃板,玻璃是一種無機物,就能和ITO結合的非常好成為導電玻璃,這樣電阻觸摸屏的壽命就能夠得到大大的延長。不管是四線還是五線電阻觸摸屏,它們的工作環(huán)境都與外界完全隔離,不管是灰塵、水汽還是油污都不怕,你能夠使用任何物體觸摸它,它能夠用來寫字畫畫,比較適合辦公室與工業(yè)控制領域的人的使用。但電阻觸摸屏有一個共同的缺點,那就是不知道的人如果太用力或使用銳器觸摸可能會劃傷整個觸摸屏從而導致報廢。不過,在限度之內(nèi),劃傷只會傷到外導電層,外導電層的劃傷對于五線電阻式觸摸屏來說并不會產(chǎn)生影響,但對四線電阻觸摸屏來說卻是致命的。2.2觸摸屏工作原理觸摸屏系統(tǒng)組成觸摸屏系統(tǒng)的組成如圖2-2所示,他由S3C44B0X微處理器作為整個系統(tǒng)的控制、數(shù)據(jù)處理中心。利用ADS7843進行觸摸屏信號轉換和液晶屏背光對比度控制電路連接處理器,A/D部分負責將模擬量轉換為數(shù)字量供給處理器單元,由其進行判斷、處理和顯示,DI/DO部分負責將各種信號報警量采集進來,提供給處理器單元進行判斷處理,并且輸出控制信號去控制相應的設備動作,擴展串口部分提供了兩個擴展的RS-232/RS-485串行接口,可以使用此接口與現(xiàn)場的其他設備交換數(shù)據(jù),也可利用現(xiàn)場總線接口進行通信,例如采用Modbus、Devicenet協(xié)議通信,顯示部分為一個觸摸液晶顯示屏,除了提供顯示功能以外,他還作為輸入設備,可替代常規(guī)鍵盤[10]。AAAAAA精品文檔 你我共享背光對比度控制現(xiàn)場現(xiàn)場總線接口液晶屏LCDA/D轉換接口微處理器S3C44B0X觸摸屏DI/DO接口RS-232/RS接口ADS7843圖2-2觸摸屏系統(tǒng)的組成觸摸屏控制器工作原理現(xiàn)今被使用的觸摸屏控制器有多種,其主要功能均是在微處理器的控制下對觸摸屏的兩個方向分時施加電壓,并將相應的電壓信號傳送給自身的A/D轉換器,在微處理SPI口提供的同步時鐘作用下將數(shù)字信號讀入微處理器。本系統(tǒng)中選用BB(Burr-Brown)公司生產(chǎn)的觸摸屏接口專用芯片ADS7843。ADS7843是一種串行接口芯片,其中內(nèi)置了l2位A/D轉換和低導通電阻模擬開關的。供電電壓為2.7—5.0V,參考電壓為1V—+Vcc,轉換電壓的輸入范圍為0—Vref,最高轉換速率為125kHz。在125kHz吞吐速率和2.7V電壓下的功耗為750μW,而在關閉模式下的功耗僅為 0.5μW。由于具有低功耗和高速等特性,所以被廣泛應用,ADS7843之所以能實現(xiàn)對觸摸屏的控制,是因為其內(nèi)部結構實現(xiàn)了電極電壓的切換,并能進行快速A/D轉換[11]。S A2 A1 A0 Mode ser/der PD1 PD0圖2-3ADS7843 控制字ADS7843的控制字如圖2-3所示,其中s為數(shù)據(jù)傳輸起始標志位,該位必須為1。A2—A0為通道選擇位。MODE用來選擇A/D轉換的精度:“1”選擇 8位,“0”選擇l2位。SER/DFR用于選擇參考電壓的輸入模式。PD1和PD0選擇省電模式:“00”為省電模式允許,在兩次A/D轉換之間掉電,且中斷允許;“01”與“00”相同,只是不允許中斷;“10”為保留;“11”禁止省電模式。為了完成一次電極電壓切換和A/D轉換,需要先經(jīng)過串口往ADS7843發(fā)送控制字,轉換完成后再通過串口讀出電壓轉換值。標準的一次換需要24個時鐘周期,由于串口支持雙向同時進行傳送,并且在一次讀數(shù)與下一次發(fā)送控制字之AAAAAA精品文檔 你我共享間可以重疊,所以轉換速率可以提高到每次 16個時鐘周期[12]。ADS7843的控制流程如圖2-4所示。按觸摸屏PENIRQ置為低電平向S3C44B0X發(fā)送中斷請求S3C44B0X響應中斷,將 CS置低向ADS7843串行送人測量控制字調ADS7843測量程序測量坐標串行讀出坐標值,將 CS置高返回圖2-4ADS7843控制流程圖軟件設計3.1驅動程序實現(xiàn)流程AAAAAA精品文檔 你我共享本設計是通過THUS-1型嵌入式(ARM)實驗/開發(fā)系統(tǒng)來完成的。驅動控制電路軟件設計中最為關鍵的就是根據(jù)ADS7843芯片內(nèi)部原理及時序關系控制其實現(xiàn)對XY坐標的采集,同時將信息通過RS232串行通信發(fā)送到計算機上[13]。觸摸屏驅動程序實現(xiàn)流程如圖 3-1所示。開始觸摸屏的初始化N 內(nèi)核線程判斷是否有觸摸動作?Y讀取X/Y的電壓值放入相應的數(shù)據(jù)結構N內(nèi)核線程判斷是否還有觸摸動作?Y讀取觸摸結束時 X/Y的電壓值放入相應的數(shù)據(jù)結構其他處理圖3-1 觸摸屏驅動程序實現(xiàn)流程3.2中斷處理程序觸摸屏的驅動核心是中斷處理程序,響應中斷并提供相應服務的程序稱為中AAAAAA精品文檔 你我共享斷處理程序。在觸摸屏驅動中,中斷服務程序的主要功能就是加載定時器處理程序和指定執(zhí)行程序的時間點[14]。定時器處理程序的主要任務為通過ADS7843的X+,X-,Y+,Y-端子分別讀取觸摸屏 X軸和Y軸的A/D轉換坐標值,并對其進行判斷,獲得真實結構,達到對觸點定位的目的。定時器處理程序流程如圖3-2所示。開始設置GPIO[x](x=1,2,...,6)寄存器N有中斷Y配置GPIO[x](x=1,2,...,6)寄存器送接收X坐標A/D轉換值的命令字接收X坐標A/D轉換值送接收Y坐標A/D轉換值的命令字接收Y坐標A/D轉換值N結果一樣Y對A/D轉換值做處理返回圖3-2 定時器處理程序流程AAAAAA精品文檔 你我共享3.3觸摸屏按鍵的坐標算法ADS7843的轉換精度有8位和12位兩種,可以精確到X或Y方向上的1/256和1/4096。觸摸屏的坐標如圖 3-3所示。其中,(X,Y)是按鍵的中心坐標,(X’,Y)’是按鍵右下角坐標,(X”,Y”)是其左上角的坐標。在觸及屏幕時,觸點只要在(X’,Y)’和(X”,Y”)矩形區(qū)域內(nèi)均認為是觸摸該按鍵有效[15]。YX”,Y”)(X,Y)(X’,Y’)X圖3-3觸摸屏的坐標實際采用固定參考電壓模式,SER/DFR=1。程序首先檢測PENIRQ是否為低電平,只有當觸摸屏有接觸時此位才會為低電平。利用軟件模擬DIN,DOUT和DCLK上的三線串行傳輸時序,將讀取X或Y坐標值的控制字串行送入ADS7843,然后再串行讀出坐標值。其中,Test-Touch()函數(shù)發(fā)送控制字并讀取結果,程序流程圖如圖 3-4所示。AAAAAA精品文檔 你我共享開始DCLK置低判斷并傳送 8位控制字等待一個時鐘后開始接收數(shù)據(jù)順序取得 DIN上的前11位坐標數(shù)據(jù)(高位在前)DCLK置高,接收最后 1位數(shù)據(jù)等待半個時鐘周期, DCLK清零返回接收結果圖3-4讀取坐標流程圖觸摸屏驅動程序的測試4.1測試準備1)用并口線正確連接電腦并口和配套仿真器,用 14針(或20針)的排線連接仿真器和實驗箱的 JTAG口;用串口線連接實驗箱上的串口 1單元與計算機的COM1(或COM2)。在PC機上運行windows自帶的串口通信程序“超級終端”(波特率為57600、8位數(shù)據(jù)位、無奇偶校驗位、 1位停止位、無數(shù)據(jù)流控制)。3)打開系統(tǒng)電源,運行仿真器驅動程序,使用 ARM STD2.51集成開發(fā)環(huán)境打開程序,下載并運行。在PC上觀察“超級終端”主窗口顯示。4.2運行結果程序運行時,如圖4-1所示。AAAAAA精品文檔 你我共享圖4-1觸摸屏運行圖當觸摸某一個數(shù)字時,超級終端接收到坐標,得到反饋結果,如圖4-2所示。圖4-3反饋結果AAAAAA精品文檔 你我共享結束語在嵌入式智能設備中,觸摸屏正在逐漸取代傳統(tǒng)的鼠標、 鍵盤等設備,成為最主要的人機交互輸入設備,本文完成了基于 S3C44B0X的觸摸屏的驅動控制。并實驗證明的程序的穩(wěn)定可靠, 達到了預期的效果。本文為人機交互中的觸摸屏驅動控制提供了一種實用解決方案,可應用于其他的嵌入式系統(tǒng)中。AAAAAA精品文檔 你我共享參考文獻賴誠.觸摸屏原理及在單片機系統(tǒng)的應用[J].商場現(xiàn)代化,2006,471.李力,黎敏等.一種基于MIS的觸摸屏漢字輸入方法的設計[J].微機算機與信息,2006.23:91-98.田澤.嵌入式系統(tǒng)開發(fā)與應用教程[M].北京:北京航空航天大學出版社,2010.SamsungElectronicsUser’sManualS3C44B0X32BitRISCMicroprocessor.[Z]2003.李巖,榮盤祥.基于S3C44B0X嵌入式μCLinux系統(tǒng)原理及應用[M].北京:清華大學出版社,2005.韓兵.觸摸屏技術及應用[M].北京:化學工業(yè)出版社,2008.[7]趙昌永,王勇,陳抗生.一種基于嵌入式 Linux的視頻采集系統(tǒng)[J].儀器儀表學報,2005,26(8):53-55.陳賾.ARM嵌入式實踐教程[M].北京:北京航空航天大學出版社,2005.皮大能.單片機課程設計指導書[M].北京:北京理工大學出版社,2010.王田苗.嵌入式系統(tǒng)設計與實例開發(fā)[M].北京:清華大學出版社,2003.ADS7843touchscreencontroller[S].Burr-BrownCorporation,1998.張茹,孫松林,于曉剛.嵌入式系統(tǒng)技術基礎[M].北京:北京郵電大學出版社,2005.于明,范書瑞,曾祥燁.ARM9嵌入式系統(tǒng)設計與開發(fā)教程[M].北京:電子工業(yè)出版社,2006.于明,曾祥燁.ARM9嵌入式系統(tǒng)設計與開發(fā)教程[M].北京:電子工業(yè)大學出版社,2006.4.張綺文,謝建雄,謝勁心.ARM嵌入式常用模塊與綜合系統(tǒng)設計實例精講.北京:電子工業(yè)出版社,2007.1.AAAAAA精品文檔 你我共享致 謝在論文完成之際,我首先向關心幫助和指導我的指導老師施文娟表示衷心的感謝并致以崇高的敬意!在學校的學習生活即將結束,回顧四年來的學習經(jīng)歷,面對現(xiàn)在的收獲,我感到無限欣慰。為此,我向熱心幫助過我的所有老師和同學表示由衷的感謝!在論文工作中,遇到了許許多多這樣那樣的問題,有的是專業(yè)上的問題,有的是論文格式上的問題,一直得到施文娟老師的親切關懷和悉心指導,使我的論文可以又快又好的完成,施文娟老師以其淵博的學識、嚴謹?shù)闹螌W態(tài)度、求實的工作作風和他敏捷的思維給我留下了深刻的印象,我將終生難忘我的施文娟老師對我的親切關懷和悉心指導,再一次向他表示衷心的感謝,感謝他為學生營造的濃郁學術氛圍,以及學習、生活上的無私幫助!值此論文完成之際,謹向施文娟老師致以最崇高的謝意!最后,衷心地感謝在百忙之中評閱論文和參加答辯的各位專家、教授!AAAAAA精品文檔 你我共享附 錄觸摸屏驅動部分源程序:主程序:#include"44b.h"#include"44blib.h"#include"def.h"#include"Lcdlib.h"#include"LCDTest.h"#include"glib.h"#include"touch.h"voidAutoTest(void);voidIsr_Init(void);voidHaltUndef(void);voidHaltSwi(void);voidHaltPabort(void);voidHaltDabort(void);#defineM5D(n)((n)&0x1fffff)#defineARRAY_SIZE_COLOR(SCR_XSIZE/1*SCR_YSIZE)#defineHOZVAL(LCD_XSIZE/4-1)#defineHOZVAL_COLOR(LCD_XSIZE*3/8-1)#defineLINEVAL(LCD_YSIZE-1)#defineMVAL(13)#defineCLKVAL_MONO(13)//60Mhz,CLKVAL=19->78.6Hz#defineCLKVAL_G4(9)//40Mhz,CLKVAL=9->110Hz#defineCLKVAL_G16(10)//40Mhz,CLKVAL=10->101Hz//9->112Hz#defineCLKVAL_COLOR(10)//60MhzvoidLcdInit(intcolor);unsignedint(*frameBuffer256)[SCR_XSIZE/4];AAAAAA精品文檔 你我共享#defineMVAL_USED0voidLcd_Init(intdepth){if((U32)frameBuffer256==0){//Thetotalframememoryshouldbeinside4MB.//Forexample,iftotalmemoryis8MB,theframememory//shouldbein0xc000000~0xc3ffffforc400000~c7fffff.//But,thefollowingcodedoesn'tmeetthiscondition(4MB)//ifthecodesize&locationischanged..frameBuffer256=(unsignedint(*)[SCR_XSIZE/4])malloc(ARRAY_SIZE_COLOR);}rLCDCON1=(0)|(2<<5)|(MVAL_USED<<7)|(0x3<<8)|(0x3<<10)|(CLKVAL_COLOR<<12);//disable,8B_SNGL_SCAN,WDLY=8clk,WLH=8clk,rLCDCON2=(LINEVAL)|(HOZVAL_COLOR<<10)|(10<<21);//LINEBLANK=10(withoutanycalculation)rLCDSADDR1=(0x3<<27)|(((U32)frameBuffer256>>22)<<21)|M5D((U32)frameBuffer256>>1);//256-color,LCDBANK,LCDBASEUrLCDSADDR2=M5D((((U32)frameBuffer256+(SCR_XSIZE*LCD_YSIZE))>>1))|(MVAL<<21);rLCDSADDR3=(LCD_XSIZE/2)|(((SCR_XSIZE-LCD_XSIZE)/2)<<9);//Thefollowingvaluehastobechangedforbetterdisplay.rREDLUT=0xfdb96420;rGREENLUT=0xfdb96420;rBLUELUT=0xfb40;rDITHMODE=0x0;rDP1_2=0xa5a5;rDP4_7=0xba5da65;rDP3_5=0xa5a5f;AAAAAA精品文檔 你我共享rDP2_3=0xd6b;rDP5_7=0xeb7b5ed;rDP3_4=0x7dbe;rDP4_5=0x7ebdf;rDP6_7=0x7fdfbfe;rLCDCON1=(1)|(2<<5)|(MVAL_USED<<7)|(0x3<<8)|(0x3<<10)|(CLKVAL_COLOR<<12);//enable,8B_SNGL_SCAN,WDLY=8clk,WLH=8clk,}/****************************************************************MyfirstS3C44B0XApplication***************************************************************/voidMain(void){Port_Init();ChangePllValue(88,6,1); // 晶振10MHz,修改系統(tǒng)主頻為6倍頻(60MHz)rSYSCFG=CACHECFG;Delay(0);Isr_Init();Uart_Init(0,57600);Uart_Select(0);Delay(0);Uart_Printf("\n\n\n\n\n\n\n*************************************************************************\n");Uart_Printf("\n

溫馨提示

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

評論

0/150

提交評論