觸摸式LCD人機(jī)接口設(shè)計(jì)_第1頁
觸摸式LCD人機(jī)接口設(shè)計(jì)_第2頁
觸摸式LCD人機(jī)接口設(shè)計(jì)_第3頁
觸摸式LCD人機(jī)接口設(shè)計(jì)_第4頁
觸摸式LCD人機(jī)接口設(shè)計(jì)_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

31/33工學(xué)院畢業(yè)設(shè)計(jì)(論文)題目:觸摸式LCD人機(jī)接口設(shè)計(jì)專業(yè):電子信息工程班級:電信072班姓名:陶*年學(xué)號:1665070218指導(dǎo)老師:*朝勝日期:2010.12名目1觸摸屏的概況及簡介 11.1概況 11.2簡介 22系統(tǒng)器件介紹和工作原理 22.1TFTLCD簡介 22.2XPT2046芯片 42.2.1芯片功能 42.2.2芯片功能特性 42.2.3XPT管腳描述 52.2.4XPT極限參數(shù) 62.2.5基本原理描述 62.3壓力傳感器 63硬件設(shè)計(jì) 73.1單片機(jī)最小系統(tǒng)模塊設(shè)計(jì) 73.1.1復(fù)位電路 83.1.2時鐘電路 93.2觸摸屏硬件設(shè)計(jì) 93.3基于XPT2406的掌握電路 144系統(tǒng)軟件設(shè)計(jì) 144.1觸屏校準(zhǔn)作用 144.2主程序流程圖 154.3C語言的簡介 164.4關(guān)鍵代碼 165下載與調(diào)試 196結(jié)論 21致謝 22參考文獻(xiàn) 23附錄 25觸摸式LCD人機(jī)接口設(shè)計(jì)工學(xué)院電信072陶萬年指導(dǎo)老師:徐朝勝摘要:本文介紹了觸摸屏的軟硬件實(shí)現(xiàn)方案,同時介紹了如何實(shí)現(xiàn)人機(jī)交互。系統(tǒng)模擬對TFTLCD(ThinFilmTransistor-LiquidCrystalDisplay)模塊的觸摸屏設(shè)計(jì),最終實(shí)現(xiàn)一個手寫的功能。介紹了觸摸屏TFTLCD的硬件設(shè)計(jì)和基于芯片xpt2406掌握觸摸屏的掌握電路,以及軟件的C編程。關(guān)鍵字:觸摸屏TFTLCDxpt2406c編程1觸摸屏的概況及簡介1.1概況隨著多媒體信息查詢的與日俱增,人們越來越多地談到觸摸屏,由于觸摸屏不僅適用于中國多媒體信息查詢的國情,而且觸摸屏具有牢固耐用、反應(yīng)速度快、節(jié)省空間、易于溝通等很多優(yōu)點(diǎn)。利用這種技術(shù),我們用戶只要用手指輕輕地碰計(jì)算機(jī)顯示屏上的圖符或文字就能實(shí)現(xiàn)對主機(jī)操作,從而使人機(jī)交互更為直截了當(dāng),這種技術(shù)大大便利了那些不懂電腦操作的用戶。觸摸屏作為一種最新的電腦輸入設(shè)備,它是目前最簡潔、便利、自然的一種人機(jī)交互方式。它給予了多媒體以嶄新的面貌,是極富吸引力的全新多媒體交互設(shè)備。觸摸屏在我國的應(yīng)用范圍特別寬闊,主要是公共信息的查詢;如電信局、稅務(wù)局、銀行、電力等部門的業(yè)務(wù)查詢;城市街頭的信息查詢;此外應(yīng)用于領(lǐng)導(dǎo)辦公、工業(yè)掌握、軍事指揮、電子游戲、點(diǎn)歌點(diǎn)菜、多媒體教學(xué)、房地產(chǎn)預(yù)售等。將來,觸摸屏還要走入家庭。隨著使用電腦作為信息來源的與日俱增,觸摸屏以其易于使用、牢固耐用、反應(yīng)速度快、節(jié)省空間等優(yōu)點(diǎn),使得系統(tǒng)設(shè)計(jì)師們越來越多的感到使用觸摸屏的確具有相當(dāng)大的優(yōu)越性。觸摸屏消失在中國市場上至今只有短短的幾年時間,這個新的多媒體設(shè)備還沒有為很多人接觸和了解,包括一些正打算使用觸摸屏的系統(tǒng)設(shè)計(jì)師,還都把觸摸屏當(dāng)作可有可無的設(shè)備,從發(fā)達(dá)國家觸摸屏的普及歷程和我國多媒體信息業(yè)正處在的階段來看,這種觀念還具有肯定的普遍性。事實(shí)上,觸摸屏是一個使多媒體信息或掌握改頭換面的設(shè)備,它給予多媒體系統(tǒng)以嶄新的面貌,是極富吸引力的全新多媒體交互設(shè)備。發(fā)達(dá)國家的系統(tǒng)設(shè)計(jì)師們和我國領(lǐng)先使用觸摸屏的系統(tǒng)設(shè)計(jì)師們已經(jīng)清晰的知道,觸摸屏對于各種應(yīng)用領(lǐng)域的電腦已經(jīng)不再是可有可無的東西,而是必不行少的設(shè)備。它極大的簡化了計(jì)算機(jī)的使用,即使是對計(jì)算機(jī)一無所知的人,也照樣能夠信手拈來,使計(jì)算機(jī)展現(xiàn)出更大的魅力。解決了公共信息市場上計(jì)算機(jī)所無法解決的問題。隨著城市向信息化方向進(jìn)展和電腦網(wǎng)絡(luò)在國民生活中的滲透,信息查詢都已用觸摸屏實(shí)現(xiàn)--顯示內(nèi)容可觸摸的形式消失。1.2簡介我們一般液晶所用的觸摸屏,最多的就是電阻式觸摸屏了(多點(diǎn)觸摸屬于電容式觸摸屏,比如M8,IPhone等支持多點(diǎn)觸摸的手機(jī)所用的屏就是電容式的觸摸屏),ALIENTEKTFTLCD自帶的觸摸屏屬于電阻式觸摸屏,下面簡潔介紹下電阻式觸摸屏的原理。電阻式觸摸屏利用壓力感應(yīng)進(jìn)行掌握。電阻觸摸屏的主要部分是一塊與顯示器表面特別協(xié)作的電阻薄膜屏,這是一種多層的復(fù)合薄膜,它以一層玻璃或硬塑料平板作為基層,表面涂有一層透明氧化金屬(透明的導(dǎo)電電阻)導(dǎo)電層,上面再蓋有一層外表面硬化處理、光滑防擦的塑料層、它的內(nèi)表面也涂有一層涂層、在他們之間有很多細(xì)小的(小于1/1000英寸)的透明隔離點(diǎn)把兩層導(dǎo)電層隔開絕緣。當(dāng)手指觸摸屏幕時,兩層導(dǎo)電層在觸摸點(diǎn)位置就有了接觸,電阻發(fā)生變化,在X和Y兩個方向上產(chǎn)生信號,然后送觸摸屏掌握器。掌握器偵測到這一接觸并計(jì)算出(X,Y)的位置,再依據(jù)獲得的位置模擬鼠標(biāo)的方式運(yùn)作。這就是電阻技術(shù)觸摸屏的最基本的原理。電阻屏的特點(diǎn)有:1)是一種對外界完全隔離的工作環(huán)境,不怕灰塵、水汽和油污。2)可以用任何物體來觸摸,可以用來寫字畫畫,這是它們比較大的優(yōu)勢。3)電阻觸摸屏的精度只取決于A/D轉(zhuǎn)換的精度,因此都能輕松達(dá)到4096*4096。從以上介紹可知,觸摸屏都需要一個AD轉(zhuǎn)換器,一般來說是需要一個掌握器的。ALIENTEKTFTLCD模塊選擇的是四線電阻式觸摸屏,這種觸摸屏的掌握芯片有很多,包括:ADS7843、ADS7846、TSC2046、XPT2046和AK4182等。這幾款芯片的驅(qū)動基本上是一樣的,也就是你只要寫出了ADS7843的驅(qū)動,這個驅(qū)動對其他幾個芯片也是有效的。而且封裝也有一樣的,完全PINTOPIN。所以在替換起來,很便利。ALIENTEKTFTLCD模塊自帶的觸摸屏掌握芯片為XPT2046。XPT2046是一款4導(dǎo)線制觸摸屏掌握器,內(nèi)含12位分辨率125KHz轉(zhuǎn)換速率逐步逼近型A/D轉(zhuǎn)換器。XPT2046支持從1.5V到5.25V的低電壓I/O接口。XPT2046能通過執(zhí)行兩次A/D轉(zhuǎn)換查出被按的屏幕位置,除此之外,還可以測量加在觸摸屏上的壓力。內(nèi)部自帶2.5V參考電壓可以作為幫助輸入、溫度測量和電池監(jiān)測模式之用,電池監(jiān)測的電壓范圍可以從0V到6V。XPT2046片內(nèi)集成有一個溫度傳感器。在2.7V的典型工作狀態(tài)下,關(guān)閉參考電壓,功耗可小于0.75mW。XPT2046接受微小的封裝形式:TSSOP-16,QFN-16(0.75mm厚度)和VFBGA-48。工作溫度范圍為-40℃~+85℃。該芯片完全是兼容ADS7843和ADS7846的,關(guān)于這個芯片的簡略使用,可以參考這兩個芯片的datasheet。2系統(tǒng)器件介紹和工作原理2.1TFTLCD簡介2.1.1工作原理隨著微電子技術(shù)不斷創(chuàng)新和進(jìn)展,高性能ARM嵌入式系統(tǒng)已廣泛應(yīng)用于各個領(lǐng)域中。人們在可視化效果的追求方面也與日俱增,高性能rFr—LCD不僅可以顯示華麗的界面和高分辨力多媒體,同時,還具有低壓、低功耗、體積小、重量輕和超薄等諸多優(yōu)點(diǎn)。所以具有高品質(zhì)因數(shù)液晶屏的嵌入式系統(tǒng)被廣泛運(yùn)用于手持設(shè)備、數(shù)字機(jī)頂盒、地學(xué)核儀器中。嵌入式開發(fā)系統(tǒng)是一種軟件和硬件的結(jié)合體,是由硬件層、中間層、軟件層和功能層有機(jī)結(jié)合實(shí)現(xiàn)1個或多個特定功能的功能體n。將來嵌入式操作系統(tǒng)進(jìn)展,軟件與硬件的無縫結(jié)合是必定的趨勢,尤其是本設(shè)計(jì)中用到的嵌入式Linux操作系統(tǒng),它與硬件芯片的結(jié)合程度比任何其他操作系統(tǒng)更要緊密。嵌入式系統(tǒng)中TFT液晶軟硬件設(shè)計(jì)TFT.LCD的每個像素點(diǎn)都是由集成在自身上的TFT來掌握的,每個像素點(diǎn)都是有源像素點(diǎn)。當(dāng)嵌入式處理器給出像點(diǎn)時鐘、數(shù)據(jù)使能信號和RGB數(shù)據(jù)信號時,要經(jīng)過液晶配套芯片IZ9FC22數(shù)據(jù)掃描來進(jìn)行時序匹配。多路矩陣電壓源MAX1664來掌握TFT開啟/關(guān)閉,TFT開啟時,數(shù)據(jù)通過源極驅(qū)動器加載到顯示電極,顯示電極和公共電極間的電壓差再作用于液晶,進(jìn)而達(dá)到TFT—LCD顯示的目的。2.1.2TFTLCD結(jié)構(gòu)TFT-LCD的結(jié)構(gòu)如圖一所示,主要元件之功能說明如下:圖2-1TFT-LCD的結(jié)構(gòu)彩色濾光片(CF。colorfilter)彩色的LCD需要用到彩色濾光片(colorfilter),液晶面板透過驅(qū)動IC的電壓轉(zhuǎn)變,使液晶分子排排站立或呈扭轉(zhuǎn)狀,形成閘門來選擇背光源光線穿透與否,穿透的光線,再經(jīng)由彩色濾光片的處理,才能表現(xiàn)出彩色的畫面。彩色濾光片之制作是于玻璃基板上,將紅、綠、藍(lán)三原色之有機(jī)材料,制作在每一個盡素之內(nèi),如圖圖2-2彩色濾光片黑色陣列在彩色濾光片上。用來遮住R、G、B各Pixel間之空隙,可大幅削減LCD光點(diǎn)間彼此因光害所產(chǎn)生的干擾,使畫面更清晰,提升了閱讀上的舒適度,同時也減輕了長期使用所造成的眼部壓力及疲累感。配向膜配向膜是用來將液晶分子做定位的工作,其前后兩片光罩上的配向膜需互成九十度方能將液晶分子依序旋轉(zhuǎn),其制作方式是利用棉刷依肯定方向刷過,也有使用蒸度的方式配向,不過成本較高。偏光板液晶顯示器均須使用上下兩片偏光板,其功能即在于將非偏極光轉(zhuǎn)為偏極光,而液晶顯示器就是利用此偏極光加上液晶扭轉(zhuǎn)特性來達(dá)到掌握光線的通過與否,以形成明暗。透明電極液晶顯示器之液晶分子須有上下方之電極來感應(yīng),掌握其旋轉(zhuǎn),而電極必須是透明且能導(dǎo)電之材質(zhì),目前使用ITO(銦錫氧化物)。背光光源由于液晶本身不會發(fā)光,必須在液晶顯示面板后方加上背光源(大部分是冷陰極管或LED),光線穿透玻璃基板、液晶、彩色濾光片、偏光板等相關(guān)材料,進(jìn)入人的眼睛形成影像。玻璃基板玻璃在TFT-LCD產(chǎn)業(yè)中扮演的角色好比是半導(dǎo)體產(chǎn)業(yè)中的晶體,因此TFT-LCD產(chǎn)業(yè)對玻璃基板表面精度之要求極高。TFT-LCD的制程需要真空蒸鍍與蝕刻,所以基板玻璃必必要能忍受強(qiáng)酸強(qiáng)堿之腐蝕、高溫的制程環(huán)境,并且必須具備比矽晶體更精密的表面平整度與平面起伏度。2.2XPT2046芯片2.2.1芯片功能XPT2046是一款4導(dǎo)線制觸摸屏掌握器,內(nèi)含12位分辨率125KHz轉(zhuǎn)換速率逐步逼近型A/D轉(zhuǎn)換器。XPT2046支持從1.5V到5.25V的低電壓I/O接口。XPT2046能通過執(zhí)行兩次A/D轉(zhuǎn)換查出被按的屏幕位置,除此之外,還可以測量加在觸摸屏上的壓力。內(nèi)部自帶2.5V參考電壓可以作為幫助輸入、溫度測量和電池監(jiān)測模式之用,電池監(jiān)測的電壓范圍可以從0V到6V。XPT2046片內(nèi)集成有一個溫度傳感器。在2.7V的典型工作狀態(tài)下,關(guān)閉參考電壓,功耗可小于0.75mW。XPT2046接受微小的封裝形式:TSSOP-16,QFN-16(0.75mm厚度)和VFBGA-48。工作溫度范圍為-40℃~+85℃。2.2.2芯片功能特性具有4線制觸摸屏接口具有觸摸壓力測量功能能直接測量電源電壓(0V~6V)低功耗(260μA)可單電源工作,工作電壓范圍為2.2V—5.25V支持1.5V~5.25V電平的數(shù)字I/O口內(nèi)部自帶+2.5V參考電壓具有125KHz的轉(zhuǎn)換速率接受QSPI?和SPI?3線制通信接口具有可編程的8位或12位的分辨率具有1路幫助模擬量輸入能夠自動掉電封裝小,節(jié)省電路面積:TSSOP-16,QFN-16(0.75mm厚度)和VFBGA-48全兼容TSC2046,ADS7843/7846和AK41822.2.3XPT管腳描述表2-1管腳描述QFN引腳號TSSOP引腳號VFBGA引腳號名稱說明113A5BUSY忙時信號線。當(dāng)EQ\*jc2\o\ad(\s\up17(—),C)EQ\*jc2\o\ad(\s\up17(—),S)為高電平時為高阻狀態(tài)214A4DIN串行數(shù)據(jù)輸入端。當(dāng)EQ\*jc2\o\ad(\s\up17(—),C)EQ\*jc2\o\ad(\s\up17(—),S)為低電平時,數(shù)據(jù)在DCLK上升沿鎖存進(jìn)來315A3EQ\*jc2\o\ad(\s\up17(—),C)EQ\*jc2\o\ad(\s\up17(—),S)片選信號。掌握轉(zhuǎn)換時序和使能串行輸入輸出寄存器,高電平時ADC掉電416A2DCLK外部時鐘信號輸入51B1和C1VCC電源輸入端62D1XPXP位置輸入端73E1YPYP位置輸入端84G2XNXN位置輸入端95G3YNYN位置輸入端106G4和G5GND接地117G6VBAT電池監(jiān)視輸入端128E7AUXADC幫助輸入通道139D7VREF參考電壓輸入/輸出1410C7IOVDD數(shù)字電源輸入端1511B7PENIRQ筆接觸中斷引腳1612A6DOUT串行數(shù)據(jù)輸出端。數(shù)據(jù)在DCLK的下降沿移出,當(dāng)EQ\*jc2\o\ad(\s\up17(—),C)EQ\*jc2\o\ad(\s\up17(—),S)高電平時為高阻狀態(tài)2.2.4XPT極限參數(shù)表格2-2極限參數(shù)名稱參數(shù)VCC和IOVDD電壓-0.3V至+6V模擬輸入信號電壓-0.3V至+VCC+0.3V數(shù)字輸入信號電壓-0.3V至IOVDD+0.3V功耗250mW最大結(jié)溫+150℃工作溫度-40℃~+85℃貯存溫度-65℃~+150℃焊接溫度(小于10秒)+300℃注:在極限值之外或任何其他條件下,芯片的工作性能不予保證。2.2.5基本原理描述XPT2046是一種典型的逐次逼近型模數(shù)轉(zhuǎn)換器(SARADC),包含了采樣/保持、模數(shù)轉(zhuǎn)換、串口數(shù)據(jù)輸出等功能。同時芯片集成有一個2.5V的內(nèi)部參考電壓源、溫度檢測電路,工作時使用外部時鐘。XPT2046可以單電源供電,電源電壓范圍為2.7V~5.5V。參考電壓值直接決定ADC的輸入范圍,參考電壓可以使用內(nèi)部參考電壓,也可以從外部直接輸入1V~VCC范圍內(nèi)的參考電壓(要求外部參考電壓源輸出阻抗低)。X、Y、Z、VBAT、Temp和AUX模擬信號經(jīng)過片內(nèi)的掌握寄存器選擇后進(jìn)入ADC,ADC可以配置為單端或差分模式。選擇VBAT、Temp和AUX時應(yīng)該配置為單端模式;作為觸摸屏應(yīng)用時,應(yīng)該配置為差分模式,這可有效消除由于驅(qū)動開關(guān)的寄生電阻及外部的干擾帶來的測量誤差,提高轉(zhuǎn)換精度。2.3壓力傳感器壓力傳感器是工業(yè)實(shí)踐中最為常用的一種傳感器,而我們通常使用的壓力傳感器主要是利用壓電效應(yīng)制造而成的,這樣的傳感器也稱為壓電傳感器。我們知道,晶體是各向異性的,非晶體是各向同性的。某些晶體介質(zhì),當(dāng)沿著肯定方向受到機(jī)械力作用發(fā)生變形時,就產(chǎn)生了極化效應(yīng);當(dāng)機(jī)械力撤掉之后,又會重新回到不帶電的狀態(tài),也就是受到壓力的時候,某些晶體可能產(chǎn)生出電的效應(yīng),這就是所謂的極化效應(yīng)??茖W(xué)家就是依據(jù)這個效應(yīng)研制出了壓力傳感器。壓電傳感器中主要使用的壓電材料包括有石英、酒石酸鉀鈉和磷酸二氫胺。其中石英(二氧化硅)是一種天然晶體,壓電效應(yīng)就是在這種晶體中發(fā)現(xiàn)的,在肯定的溫度范圍之內(nèi),壓電性質(zhì)始終存在,但溫度超過這個范圍之后,壓電性質(zhì)完全消失(這個高溫就是所謂的“居里點(diǎn)”)。由于隨著應(yīng)力的變化電場變化微小(也就說壓電系數(shù)比較低),所以石英逐漸被其他的壓電晶體所替代。而酒石酸鉀鈉具有很大的壓電靈敏度和壓電系數(shù),但是它只能在室溫和濕度比較低的環(huán)境下才能夠應(yīng)用。磷酸二氫胺屬于人造晶體,能夠承受高溫和相當(dāng)高的濕度,所以

已經(jīng)得到了廣泛的應(yīng)用。在現(xiàn)在壓電效應(yīng)也應(yīng)用在多晶體上,比如現(xiàn)在的壓電陶瓷,包括鈦酸鋇壓電陶瓷、PZT、鈮酸鹽系壓電陶瓷、鈮鎂酸鉛壓電陶瓷等等。壓電效應(yīng)是壓電傳感器的主要工作原理,壓電傳感器不能用于靜態(tài)測量,由于經(jīng)過外力作用后的電荷,只有在回路具有無限大的輸入阻抗時才得到保存。實(shí)際的情況不是這樣的,所以這決定了壓電傳感器只能夠測量動態(tài)的應(yīng)力。壓電傳感器主要應(yīng)用在加速度、壓力和力等的測量中。壓電式加速度傳感器是一種常用的加速度計(jì)。它具有結(jié)構(gòu)簡潔、體積小、重量輕、使用壽命長等優(yōu)異的特點(diǎn)。壓電式加速度傳感器在飛機(jī)、汽車、船舶、橋梁和建筑的振動和沖擊測量中已經(jīng)得到了廣泛的應(yīng)用,特別是航空和宇航領(lǐng)域中更有它的特別地位。壓電式傳感器也可以用來測量發(fā)動機(jī)內(nèi)部燃燒壓力的測量與真空度的測量。也可以用于軍事工業(yè),例如用它來測量槍炮子彈在膛中擊發(fā)的一瞬間的膛壓的變化和炮口的沖擊波壓力。它既可以用來測量大的壓力,也可以用來測量微小的壓力。壓電式傳感器也廣泛應(yīng)用在生物醫(yī)學(xué)測量中,比如說心室導(dǎo)管式微音器就是由壓電傳感器制成的,由于測量動態(tài)壓力是如此普遍,所以壓電傳感器的應(yīng)用就特別廣。除了壓電傳感器之外,還有利用壓阻效應(yīng)制造出來的壓阻傳感器,利用應(yīng)變效應(yīng)的應(yīng)變式傳感器等,這些不同的壓力傳感器利用不同的效應(yīng)和不同的材料,在不同的場合能夠發(fā)揮它們獨(dú)特的用途。3硬件設(shè)計(jì)總體設(shè)計(jì)框如圖3-1所示:XPT2046XPT2046最小系統(tǒng)TFTLD模塊圖3-13.1單片機(jī)最小系統(tǒng)模塊設(shè)計(jì)所謂單片機(jī)最小系統(tǒng)是指能維持單片機(jī)運(yùn)行行的最簡潔配置系統(tǒng)。最小系統(tǒng)包括晶體振蕩電路、復(fù)位開關(guān)、接插口和電源部分,本系統(tǒng)單片機(jī)接受AT89C51或其兼容系列,如圖3-3。接受12MHz高精度的晶振,以獲得較穩(wěn)定的時鐘頻率,減小測量誤差。單片機(jī)用P1.0端口輸出超聲波轉(zhuǎn)化器所需的40KHz方波信號,利用外中斷0口檢測超聲波接受電路輸出的返回信號。圖3-2最小系統(tǒng)模塊單元圖單片機(jī)為系統(tǒng)的主控單元,系統(tǒng)通過P0口將模數(shù)轉(zhuǎn)換后數(shù)字信號輸入CPU,由CPU比較推斷溫度值,運(yùn)算功能是由運(yùn)算部件完成的,運(yùn)算部件的功能是實(shí)現(xiàn)數(shù)據(jù)的算術(shù)規(guī)律運(yùn)算、位變址處理和數(shù)據(jù)傳送操作。單片機(jī)中通過掌握部件完成各項(xiàng)掌握功能。掌握部件是單片機(jī)的神經(jīng)中樞,它包括時鐘電路、復(fù)位電路、指令寄存器、譯碼以及信息傳送掌握部件。它以主振頻率為基準(zhǔn)發(fā)出CPU的時序,對指令進(jìn)行譯碼,然后發(fā)出各種掌握信號,完成一系列定時掌握的微操作,用來掌握單片機(jī)各部分的運(yùn)行。其中有一些掌握信號線能簡化應(yīng)用系統(tǒng)外圍掌握規(guī)律,如掌握地址鎖存的地址鎖存信號ALE,掌握片外程序存儲器運(yùn)行的片內(nèi)外存儲器選擇信號EA,以及片外取指信號PSEN。復(fù)位電路的好壞對系統(tǒng)的啟動、停止有極大的影響;精準(zhǔn)的時鐘電路是保證掌握精度的前提。因此單片機(jī)模塊中對復(fù)位電路與時鐘電路的設(shè)計(jì)特別重要。3.1.1復(fù)位電路圖3-3單片機(jī)的復(fù)位電路單片機(jī)的復(fù)位引腳RESET消失2個機(jī)器周期以上的高電平時,單片機(jī)就執(zhí)行復(fù)位操作。本系統(tǒng)接受的復(fù)位方式為上電自動復(fù)位和開關(guān)復(fù)位相結(jié)合的方式。電源接通后,單片機(jī)自動復(fù)位,并且在系統(tǒng)運(yùn)行期間,用按鍵手動操作也能使單片機(jī)復(fù)位。上電后電容充電,使RESET持續(xù)一段時間的高電平。當(dāng)單片機(jī)已在運(yùn)行當(dāng)中時,按下復(fù)位按鍵后松開,也能使RESET為一段時間的高電平,從而實(shí)現(xiàn)開關(guān)復(fù)位操作。3.1.2時鐘電路 單片機(jī)的時鐘信號通常用兩種電路形式得到:內(nèi)部振蕩方式和外部振蕩方式。本掌握器接受的是單片機(jī)外接石英晶體的內(nèi)部時鐘方式。由于這種方式得到的時鐘信號比較穩(wěn)定。在AT89C51內(nèi)部有一個高增益的反向放大器,其輸入端引腳XTAL1和XTAL2用于外接石英晶體和微調(diào)電容,構(gòu)成振蕩器,再由內(nèi)部的時鐘發(fā)生器對振蕩信號進(jìn)行二分頻,向CPU供應(yīng)時鐘信號。圖3-5中電容C1、C2對振蕩頻率起微調(diào)作用,同時兩個電容器起穩(wěn)定振蕩頻率、快速起振的作用。電容容量的選擇范圍一般為30pF±10pF,振蕩器的振蕩頻率選擇范圍為1.2MHz~12MHz,典型值為6MHz或12MHz。本模塊中電容C1、C2選擇30pF,振蕩頻率選擇12MHz。圖3-4單片機(jī)時鐘電路3.2觸摸屏硬件設(shè)計(jì)本節(jié)實(shí)驗(yàn)功能簡介:開機(jī)的時候先通過24C01的數(shù)據(jù)推斷觸摸屏是否已經(jīng)校準(zhǔn)過,如果沒有校準(zhǔn),則執(zhí)行校準(zhǔn)程序,校準(zhǔn)過后再進(jìn)入手寫程序。如果已經(jīng)校準(zhǔn)了,就直接進(jìn)入手寫程序,此時可以通過按動屏幕來實(shí)現(xiàn)手寫輸入。屏幕上會有一個清空的操作區(qū)域(RST),點(diǎn)擊這個地方就會將輸入全部清除,恢復(fù)白板狀態(tài)。程序會設(shè)置一個強(qiáng)制校準(zhǔn),就是通過按KEY0來實(shí)現(xiàn),只要按下KEY0就會進(jìn)入強(qiáng)制校準(zhǔn)程序,這個強(qiáng)制校準(zhǔn)程序是必須的。所要用到的硬件資源如下:1)ADS7843。2)DS0(外部LED0)。3)KEY0。4)TFTLCD液晶模塊。5)24C01。原理圖如下3.2-1所示:圖3-5TFTLCD模塊圖3.2-1TFTLCD模塊接受2*17的2.54公排針與外部連接,接口圖如下圖3.2-2所示圖3-6ALIENTEK3.2寸TFTLCD模塊接口圖該接口同目前主流的幾款STM32開發(fā)板的接口完全兼容,所以模塊除了用在ALIENTEKMiniSTM32開發(fā)板上,也可以用在其他開發(fā)板上,當(dāng)然你也可以使用其他接口一樣的LCD模塊放到我們的ALIENTEKMiniSTM32開發(fā)板上使用。ALIENTEKTFTLCD模塊接受80并口口方與外部鏈接,接受16位數(shù)據(jù)線(低了速度太慢,用彩色就沒什么效果了)。該模塊的80并口有如下一些信號線:CS:TFTLCD片選信號。WR:向TFTLCD寫入數(shù)據(jù)。RD:從TFTLCD讀取數(shù)據(jù)。D[15:0]:16位雙向數(shù)據(jù)線。RST:硬復(fù)位TFTLCD。RS:命令/數(shù)據(jù)標(biāo)志(0,讀寫命令;1,讀寫數(shù)據(jù))。80并口在上一節(jié)我們已經(jīng)有簡略的介紹了,這里我們就不在介紹,需要說明的是,TFTLCD模塊的RST信號線和OLED模塊一樣,也是直接接到STM32的復(fù)位腳上,并不由軟件掌握,這樣可以省下來一個IO口。另外我們還需要一個背光掌握線來掌握TFTLCD的背光。所以,我們總共需要的IO口數(shù)目為21個。模塊的掌握器為ILI9320,該掌握器自帶顯存,其顯存總大小為172820(240*320*18/8),即18位模式(26萬色)下的顯存量。模塊的16位數(shù)據(jù)線與顯寸的對應(yīng)關(guān)系為565方式,如下圖所示:圖3-716位數(shù)據(jù)與顯存對應(yīng)關(guān)系圖最低5位代表藍(lán)色,中間6位為綠色,最高5位為紅色。數(shù)值越大,表示該顏色越深。接下來,我們介紹一下ILI9320的幾個重要命令,由于ILI9320的命令很多,我們這里不行能一一介紹,有愛好的大家可以找到ILI9320的datasheet看看。里面對這些命令有簡略的介紹。這里我們要介紹的命令列表如下:表格3-1ILI9320常用命令表R0,這個命令,有兩個功能,如果對它寫,則最低位為OSC,用于開啟或關(guān)閉振蕩器。而如果對它讀操作,則返回的是掌握器的型號。這個命令最大的功能就是通過讀它可以得到掌握器的型號,而我們代碼在知道了掌握器的型號之后,可以針對不同型號的掌握器,進(jìn)行不同的初始化。由于93xx系列的初始化,其實(shí)都比較類似,我們完全可以用一個代碼兼容好幾個掌握器。R3,入口模式命令。我們重點(diǎn)關(guān)注的是I/D0、I/D1、AM這3個位,由于這3個位掌握了屏幕的顯示方向。AM:掌握GRAM更新方向。當(dāng)AM=0的時候,地址以行方向更新。當(dāng)AM=1的時候,地址以列方向更新。I/D[1:0]:當(dāng)更新了一個數(shù)據(jù)之后,依據(jù)這兩個位的設(shè)置來掌握地址計(jì)數(shù)器自動增加/削減1,其關(guān)系如下圖:圖3-8GRAM顯示方向設(shè)置圖通過這幾個位的設(shè)置,我們就可以掌握屏幕的顯示方向了。R7,顯示掌握命令。該命令CL位用來掌握是8位彩色,還是26萬色。為0時26萬色,為1時八位色。D1、D0、BASEE這三個位用來掌握顯示開關(guān)與否的。當(dāng)全部設(shè)置為1的時候開啟顯示,全0是關(guān)閉。我們一般通過該命令的設(shè)置來開啟或關(guān)閉顯示器,以降低功耗。R32,R33,設(shè)置GRAM的行地址和列地址。R32用于設(shè)置列地址(X坐標(biāo),0~239),R33用于設(shè)置行地址(Y坐標(biāo),0~319)。當(dāng)我們要在某個指定點(diǎn)寫入一個顏色的時候,先通過這兩個命令設(shè)置到改點(diǎn),然后寫入顏色值就可以了。R34,寫數(shù)據(jù)到GRAM命令,當(dāng)寫入了這個命令之后,地址計(jì)數(shù)器才會自動的增加和削減。該命令是我們要介紹的這一組命令里面唯一的單個操作的命令,只需要寫入該值就可以了,其他的都是要先寫入命令編號,然后寫入操作數(shù)。R80~R83,行列GRAM地址位置設(shè)置。這幾個命令用于設(shè)定你顯示區(qū)域的大小,我們整個屏的大小為240*320,但是有時候我們只需要在其中的一部分區(qū)域?qū)懭霐?shù)據(jù),如果用先寫坐標(biāo),后寫數(shù)據(jù)這樣的方式來實(shí)現(xiàn),則速度大打折扣。此時我們就可以通過這幾個命令,在其中開辟一個區(qū)域,然后不停的丟數(shù)據(jù),地址計(jì)數(shù)器就會依據(jù)R3的設(shè)置自動增加/削減,這樣就不需要頻繁的寫地址了,大大提高了刷新的速度。命令部分,我們就為大家介紹到這里,我們接下來看看要如何才能驅(qū)動ALIENTEKTFTLCD模塊,這里TFTLCD模塊的初始化和我們前面介紹的OLED模塊的初始化框圖是一樣的,只是初始化代碼部分不同。接下來我們也是將該模塊用來來顯示字符和數(shù)字。通過以上介紹,我們可以得出TFTLCD顯示需要的相關(guān)設(shè)置步驟如下:1)設(shè)置STM32與TFTLCD模塊相連接的IO。這一步,先將我們與TFTLCD模塊相連的IO口設(shè)置為輸出,簡略使用哪些IO口,這里需要依據(jù)連接電路以及TFTLCD模塊的設(shè)置來確定。2)初始化TFTLCD模塊。其實(shí)這里就是上和上面OLED模塊的初始化過程差不多。通過向TFTLCD寫入一系列的設(shè)置,來啟動TFTLCD的顯示。為后續(xù)顯示字符和數(shù)字做籌備。3)通過函數(shù)將字符和數(shù)字顯示到TFTLCD模塊上。這里就是通過我們設(shè)計(jì)的程序,將要顯示的字符送到TFTLCD模塊就可以了,這些函數(shù)將在軟件設(shè)計(jì)部分向大家介紹。通過以上三步,我們就可以使用ALIENTEKTFTLCD模塊來顯示字符和數(shù)字了,并且可以顯示各種顏色的背景。3.3基于XPT2406的掌握電路XPT2046掌握電路如3.3-1所示:圖3-9xpt2046掌握電路4系統(tǒng)軟件設(shè)計(jì)4.1觸屏校準(zhǔn)作用我們傳統(tǒng)的鼠標(biāo)是一種相對定位系統(tǒng),只和前一次鼠標(biāo)的位置坐標(biāo)有關(guān)。

而觸摸屏則是一種肯定坐標(biāo)系統(tǒng),要選哪就直接點(diǎn)哪,與相對定位系統(tǒng)有著本質(zhì)的區(qū)分??隙ㄗ鴺?biāo)系統(tǒng)的特點(diǎn)是每一次定位坐標(biāo)與上一次定位坐標(biāo)沒有關(guān)系,每次觸摸的數(shù)據(jù)通過校準(zhǔn)轉(zhuǎn)為屏幕上的坐標(biāo),不管在什么情況下,觸摸屏這套坐標(biāo)在同一點(diǎn)的輸出數(shù)據(jù)是穩(wěn)定的。不過由于技術(shù)原理的緣由,并不能保證同一點(diǎn)觸摸每一次采樣數(shù)據(jù)相同,不能保證肯定坐標(biāo)定位,點(diǎn)不準(zhǔn),這就是觸摸屏最怕消失的問題:漂移。對于性能質(zhì)量好的觸摸屏來說,漂移的情況消失并不是很嚴(yán)峻。所以很多應(yīng)用觸摸屏的系統(tǒng)啟動后,進(jìn)入應(yīng)用程序前,先要執(zhí)行校準(zhǔn)程序。通常應(yīng)用程序中使用的LCD坐標(biāo)是以像素為單位的。比如說:左上角的坐標(biāo)是一組非0的數(shù)值,比如(20,20),而右下角的坐標(biāo)為(620,460)。這些點(diǎn)的坐標(biāo)都是以像素為單位的,而從觸摸屏中讀出的是點(diǎn)的物理坐標(biāo),其坐標(biāo)軸的方向、XY值的比例因子、偏移量、縮放因子都與LCD坐標(biāo)不同,所以,可以在IAL的某個函數(shù)(比如wait_event函數(shù))中把物理坐標(biāo)首先轉(zhuǎn)換為像素坐標(biāo),然后再賦給POS結(jié)構(gòu),達(dá)到坐標(biāo)轉(zhuǎn)換的目的.

觸摸屏校正思路:

在IAL的某個函數(shù)(比如wait_event函數(shù))中加入調(diào)試信息,開發(fā)板上運(yùn)行Calibrate程序,那么觸摸屏上任何一點(diǎn)的坐標(biāo)就可以在主機(jī)監(jiān)視屏上回顯出來。于是,就采集到了4個角的物理坐標(biāo),假設(shè)是6.4英寸屏,640X480分辨率,則它們的像素坐標(biāo)分別是(20,20)、(20,460)、(620,460)和(620,20)。這樣,使用待定系數(shù)法就可以算出坐標(biāo)系之間的平移關(guān)系。比如:

Vx=xFactor*Px+xOffset

Vy=yFactor*Py+yOffset4.2主程序流程圖主程序流程圖如下圖4-1所示否開始否開始硬件初始化刷新并不斷檢測觸摸屏狀延時讀取坐標(biāo)點(diǎn)的坐標(biāo)值獲取初始值的坐標(biāo)值觸摸屏仍被觸摸嗎是觸摸屏被觸摸么圖4-14.3C語言的簡介C語是一種計(jì)算機(jī)程序設(shè)計(jì)語言。它既具有高級語言的特點(diǎn),又具有匯編語言的特點(diǎn)。它可以作為工作系統(tǒng)設(shè)計(jì)語言,編寫系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計(jì)語言,編寫不依靠計(jì)算機(jī)硬件的應(yīng)用程序。因此,它的應(yīng)用范圍廣泛,不僅僅是在軟件開發(fā)上,而且各類科研都需要用到C語言,簡略應(yīng)用比如單片機(jī)以及嵌入式系統(tǒng)開發(fā)。C語言具有下列特點(diǎn):1)C是中級語言。它把高級語言的基本結(jié)構(gòu)和語句與低級語言的有用性結(jié)合起來。C語言可以像匯編語言一樣對位、字節(jié)和地址進(jìn)行操作,而這三者是計(jì)算機(jī)最基本的工作單元。2)C是結(jié)構(gòu)式語言。結(jié)構(gòu)式語言的顯著特點(diǎn)是代碼及數(shù)據(jù)的分隔化,即程序的各個部分除了必要的信息溝通外彼此獨(dú)立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦?,便于使用、維護(hù)以及調(diào)試。C語言是以函數(shù)形式供應(yīng)應(yīng)用戶的,這些函數(shù)可便利的調(diào)用,并具有多種循環(huán)、條件語句掌握程序流向,從而使程序完全結(jié)構(gòu)化。3)C語言功能齊全。具有各種各樣的數(shù)據(jù)類型,并引入了指針概念,可使程序效率更高。另外C語言也具有強(qiáng)大的圖形功能,支持多種顯示器和驅(qū)動器。而且計(jì)算功能、規(guī)律推斷功能也比較強(qiáng)大,可以實(shí)現(xiàn)決策目的的游戲。4)C語言適用范圍大。適合于多種操作系統(tǒng),如Windows、DOS、UNIX等等;也適用于多種機(jī)型。C語言對編寫需要硬件進(jìn)行操作的場合,明顯優(yōu)于其它解釋型高級語言,有一些大型應(yīng)用軟件也是用C語言編寫的。C語言具有繪圖能力強(qiáng),可移植性,并具備很強(qiáng)的數(shù)據(jù)處理能力,因此適于編寫系統(tǒng)軟件,三維,二維圖形和動畫。它是數(shù)值計(jì)算的高級語言。4.4關(guān)鍵代碼//初始化液晶接口voidLCD_Port(void){IO0SET_bit.P0_21=1;//WRIO0SET_bit.P0_20=1;//RDIO0DIR_bit.P0_20=1;//RDIO0DIR_bit.P0_21=1;//WRIO0DIR_bit.P0_30=1;//RSIO0DIR_bit.P0_17=1;//CSIO0DIR_bit.P0_11=1;IO0DIR_bit.P0_12=1;}//延時voidDelayMs(unsignedshortk){unsignedshorti;unsignedintj;for(i=k;i>0;i--)for(j=1000;j>0;j--);}//向HC573寫入數(shù)據(jù)voidWrite_HC573(unsignedshortDat){unsignedchardat;dat=(unsignedchar)(Dat&0xFF);IO1SET|=(((unsignedint)dat)<<16);IO1CLR|=((~(((unsignedint)dat)<<16))&((0XFF<<16)));IO0SET_bit.P0_11=1;IO0CLR_bit.P0_11=1;dat=(unsignedchar)((Dat>>8)&0xFF);IO1SET|=(((unsignedint)dat)<<16);IO1CLR|=((~(((unsignedint)dat)<<16))&((0XFF<<16)));IO0SET_bit.P0_12=1;IO0CLR_bit.P0_12=1;}//向液晶屏寫入數(shù)據(jù)voidTFTWriData(unsignedshortch){LCD_RS_H();//RS=1LCD_CS_L();//CS=0Write_HC573(ch);LCD_WR_L();//WR=0LCD_WR_H();//WR=1LCD_CS_H();//CS=1}//向液晶屏寫入命令voidTFTWriCom(unsignedshortch){LCD_RS_L();//RS=0Write_HC573(ch);LCD_WR_L();//WR=0LCD_CS_L();//CS=0LCD_WR_H();//WR=1LCD_CS_H();//CS=1}//寫入掌握字voidwrite_com(unsignedshortaddress,unsignedshortnum){TFTWriCom(address);TFTWriData(num);}//液晶屏初始化voidTftInit(void){LCD_RESET_L();//低電平復(fù)位Delayn(10000);LCD_RESET_H();#defineDelayNSDelaynwrite_com(0x0000,0x0001);DelayNS(1000);//打開晶振write_com(0x0003,0xA8A4);DelayNS(1000);//0xA8A4write_com(0x000C,0x0000);DelayNS(1000);write_com(0x000D,0x080C);DelayNS(1000);write_com(0x000E,0x2B00);DelayNS(1000);write_com(0x001E,0x00B0);DelayNS(1000);write_com(0x0001,0x2B3F);DelayNS(1000);//驅(qū)動輸出掌握320*2400x6B3Fwrite_com(0x0002,0x0600);DelayNS(1000);write_com(0x0010,0x0000);DelayNS(1000);write_com(0x0011,0x6070);DelayNS(1000);//0x4030//定義數(shù)據(jù)格式16位色write_com(0x0005,0x0000);DelayNS(1000);write_com(0x0006,0x0000);DelayNS(1000);write_com(0x0016,0xEF1C);DelayNS(1000);write_com(0x0017,0x0003);DelayNS(1000);write_com(0x0007,0x0233);DelayNS(1000);//0x0233write_com(0x000B,0x0000);DelayNS(1000);write_com(0x000F,0x0000);DelayNS(1000);//掃描開頭地址write_com(0x0041,0x0000);DelayNS(1000);write_com(0x0042,0x0000);DelayNS(1000);write_com(0x0048,0x0000);DelayNS(1000);write_com(0x0049,0x013F);DelayNS(1000);write_com(0x004A,0x0000);DelayNS(1000);write_com(0x004B,0x0000);DelayNS(1000);write_com(0x0044,0xEF00);DelayNS(1000);write_com(0x0045,0x0000);DelayNS(1000);write_com(0x0046,0x013F);DelayNS(1000);write_com(0x0030,0x0707);DelayNS(1000);write_com(0x0031,0x0204);DelayNS(1000);write_com(0x0032,0x0204);DelayNS(1000);write_com(0x0033,0x0502);DelayNS(1000);write_com(0x0034,0x0507);DelayNS(1000);write_com(0x0035,0x0204);DelayNS(1000);write_com(0x0036,0x0204);DelayNS(1000);write_com(0x0037,0x0502);DelayNS(1000);write_com(0x003A,0x0302);DelayNS(1000);write_com(0x003B,0x0302);DelayNS(1000);write_com(0x0023,0x0000);DelayNS(1000);write_com(0x0024,0x0000);DelayNS(1000);write_com(0x0025,0x8000);DelayNS(1000);write_com(0x004f,0);//行首址0write_com(0x004e,0);//列首址0}5下載與調(diào)試在代碼編譯成功之后,我們通過下載代碼到ALIENTEKMiniSTM32開發(fā)板上,可以看到LCD顯示如下內(nèi)容:圖5-1程序運(yùn)行效果如果已經(jīng)校準(zhǔn)過了,則在等待1.5s之后進(jìn)入手寫界面,同時DS0開頭閃爍,界面如下圖所:圖5-2手寫界面此時,我們就可以在該界面下用筆或者手指輸入信息了。如果沒有校準(zhǔn)過,則會自動進(jìn)入校準(zhǔn)程序(當(dāng)你發(fā)現(xiàn)精度不行的時候,也可以通過按KEY0進(jìn)入校準(zhǔn)程序),如下圖所示,在校準(zhǔn)完成之后自動進(jìn)入手寫界面。圖5-3校準(zhǔn)界面6結(jié)論本文完成了基于xpt2046掌握的觸摸屏軟件硬件的設(shè)計(jì),實(shí)現(xiàn)了用xpt2046掌握TFTLCD以及實(shí)現(xiàn)人機(jī)交匯,在實(shí)際應(yīng)用中該系統(tǒng)牢靠穩(wěn)定,達(dá)到預(yù)期效果。致謝本論文是在我院指導(dǎo)老師徐朝勝老師的細(xì)心指導(dǎo)下完成的,在整個畢業(yè)設(shè)計(jì)過程中徐老師給了我很大的幫助,從選題,開題,到設(shè)計(jì)方案的確定及最終論文的撰寫,修改,最終完成,都離不開徐老師的細(xì)心指導(dǎo)。特別是我在設(shè)計(jì)過程中遇到困難不能解決時,徐老師總會在百忙之中抽出珍貴的時間,急躁的給我講解,讓我真正的理解其中的原理,能夠獨(dú)立的找到解決問題的途徑。在此我對他表示真誠的感謝!借此機(jī)會,我還要感謝校領(lǐng)導(dǎo),和高校四年的授課老師,在高校四年中,是他們?yōu)槲夜?yīng)一個良好的學(xué)習(xí)環(huán)境,教給了我很多知識,和學(xué)習(xí)的方法。正是由于有了他們悄悄無聞的奉獻(xiàn),我才能成為一個優(yōu)秀的高校畢業(yè)生。除此之外,我還要感謝曾經(jīng)給予我很多幫助和支持的07電信的全體同學(xué),在他們的熱心幫助下,使我增長了不少知識,積累了不少閱歷。所以在這里,我要向全部關(guān)心和幫助過我的人表示我最真誠的祝福和感謝!參考文獻(xiàn)[1]何詠、馬孝江、王永剛;基于DSP的人機(jī)接口技術(shù);機(jī)床與液壓;2004.No.11;P110~112[2]朱宇翔、程明霄、李明;基于DSP的液晶顯示器的軟硬件設(shè)計(jì)及實(shí)現(xiàn);微型機(jī)與應(yīng)用;2005年第2期;P15~17[3]觸摸屏技術(shù)與應(yīng)用作者:成都吉銳觸摸電腦有限公司編寫組電子科技高校出版社[4]程芳真、蔣滋康,觸摸屏在電站仿真中的應(yīng)用,計(jì)算機(jī)應(yīng)用商量,1999.4[5]許榮斌、謝瑩、朱永紅,觸摸屏常用校準(zhǔn)算法分析,工業(yè)掌握計(jì)算機(jī),2006.4[6]龔麗娟、陸以勤、呂錦觸,觸摸屏數(shù)據(jù)處理算法商量及實(shí)現(xiàn),微計(jì)算機(jī)信息,2006.9[7]宋成,孫廣富.觸摸屏在53C2410上的應(yīng)用實(shí)例〔J].單片機(jī)及嵌入式系統(tǒng)應(yīng)用,2005.1[8]觸摸屏技術(shù)淺談[J].現(xiàn)代物理知識,2004,(03)[9]觸摸屏——讓電腦盲也可使用計(jì)算機(jī)[J].科學(xué)中國人,1996,(01)[10]觸摸屏的選擇與應(yīng)用[J].三明高等專科學(xué)校學(xué)報,1998,(S3)[11]感受隨心——三星Anycall感受系列手機(jī)[J].新華航空,2008,(12)[12]孔瑋.全新的多媒體設(shè)備——觸摸屏[J].武警工程學(xué)院學(xué)報,2000,(06)[13]TexasInstruments.LiteratureNumber.SPRS174NApril2001–RevisedMay2006.TMS320F2810,TMS320F2811,TMS320F2812,TMS320C2810,TMS320C2811,TMS320C2812DIGITALSIGNALPROCESSORSDATAMANUAL[14]Touch-screenTechnologyandItsPerformanceAnalysisLIURui(TianjinElectromechanicalVocationalandTechnicalCollege;Tianjin300131;China)[15]ApplicationofMultimediaTouchScreeninSchoolInformationServiceSystemZHANGBing;WANGQian-fei(ModernEducationTechnology&InformationCenter;JiangxiUniversityofScienceandTechnology;Ganzhou341000;China)[16]ApplicationofMultimediaTouchScreeninSchoolInformationServiceSystemZHANGBing;WANGQian-fei(ModernEducationTechnology&InformationCenter;JiangxiUniversityofScienceandTechnology;Ganzhou341000;China)[17]XPT2046datasheet[18]TFTLCDdatasheetAbstract:Thispaperintroducestouch-screenhardwareandsoftwareimplementations,anddescribeshowtoimplementhuman-computerinteraction.SimulationofTFTLCD(ThinFilmTransistor-LiquidCrystalDisplay)moduletouchscreendesign,andultimatelythefunctionofahand-written.TFTLCDintroducedtouch-screenhardwaredesignandchip-basedtouch-screencontrolxpt2406controlcircuitandsoftware,Cprogram

Keywords:touchscreenTFTLCDxpt2406cprogramming附錄源代碼:/******************************************************************Copyright(C),2008-2009,力天電子,LiTianTech.Co.Ltd.ModuleName:TFT_LCD:TFT_LCD.c Author :HECHENGCreateDate :2009/10/19Version :1.0Function:實(shí)現(xiàn)液晶屏驅(qū)動功能Description :無Support :QQ:330508762******************************************************************/#include<NXP\IOLPC2148.h>#include"hc595.h"#include"pic.h"/*系統(tǒng)設(shè)置,Fosc、Fcclk、Fcco、Fpclk必須定義*/#defineFosc 12000000 //晶振頻率,10MHz~25MHz,應(yīng)當(dāng)與實(shí)際一至#defineFcclk (Fosc*5) //系統(tǒng)頻率,必須為Fosc的整數(shù)倍(1~32),且<=60MHZ#defineFcco (Fcclk*2) //CCO頻率,必須為Fcclk的2、4、8、16倍,范圍為156MHz~320MHz#defineFpclk (Fcclk/4)*4 //VPB時鐘頻率,只能為(Fcclk/4)的1~4倍//液晶屏接口宏定義#defineRED 0xf800#defineGREEN 0x07e0#defineBLUE 0x001f#defineWHITE 0xffff#defineBLACK 0x0000#defineYELLOW0xFFE0#defineCH375DataOut()IO1DIR|=(0XFF<<16)//D0~D7#defineCH375DataIn()IO1DIR&=~(0XFF<<16)//D0~D7#defineLCD_RS_H()IO0SET_bit.P0_30=1#defineLCD_RS_L()IO0CLR_bit.P0_30=1#defineLCD_WR_H()IO0SET_bit.P0_21=1#defineLCD_WR_L()IO0CLR_bit.P0_21=1#defineLCD_RD_H()IO0SET_bit.P0_20=1#defineLCD_RD_L()IO0CLR_bit.P0_20=1#defineLCD_CS_L()IO0CLR_bit.P0_17=1#defineLCD_CS_H()IO0SET_bit.P0_17=1#defineLCD_RESET_L()HC595_DATA&=~(1<<7);Write595()#defineLCD_RESET_H()HC595_DATA|=(1<<7);Write595()//函數(shù)聲明voidLCD_Port(void);voidTftInit(void);voidDispOneColor(unsignedshortColor);voidTFTWriCom(unsignedshortch);voidDispSmallPic(unsignedshortx,unsignedshorty,unsignedshortw,unsignedshorth,constunsignedchar*str);voidDispPic240_320(constunsignedchar*str);voidPLL_Init(void);//主函數(shù)voidmain(void){PLL_Init();//初始化系統(tǒng)時鐘HC595_Init();//初始化hc595LCD_Port();//初始化液晶接口CH375DataOut();//CH375接口輸出方式TftInit();//初始化液晶屏DispOneColor(BLUE);//全屏顯示一種顏色//DispSmallPic(0,0,109,66,pic2);//X坐標(biāo),Y坐標(biāo),圖片X軸長度,圖片Y軸長度,圖片數(shù)組//DispSmallPic(148,0,92,175,pic);//X坐標(biāo),Y坐標(biāo),圖片X軸長度,圖片Y軸長度,圖片數(shù)組DispPic240_320(Pic2);//顯示一副圖像while(1);//stop}//系統(tǒng)時鐘初始化voidPLL_Init(void){/*設(shè)置系統(tǒng)各部分時鐘*/PLLCON=1;#if((Fcclk/4)/Fpclk)==1VPBDIV=0;#endif#if((Fcclk/4)/Fpclk)==2VPBDIV=2;#endif#if((Fcclk/4)/Fpclk)==4VPBDIV=1;#endif#if(Fcco/Fcclk)==2PLLCFG=((Fcclk/Fosc)-1)|(0<<5);#endif#if(Fcco/Fcclk)==4PLLCFG=((Fcclk/Fosc)-1)|(1<<5);#endif#if(Fcco/Fcclk)==8PLLCFG=((Fcclk/Fosc)-1)|(2<<5);#endif#if(Fcco/Fcclk)==16PLLCFG=((Fcclk/Fosc)-1)|(3<<5);#endifPLLFEED=0xaa;PLLFEED=0x55;while((PLLSTAT&(1<<10))==0);PLLCON=3;PLLFEED=0xaa;PLLFEED=0x55; }//初始化液晶接口voidLCD_Port(void){IO0SET_bit.P0_21=1;//WRIO0SET_bit.P0_20=1;//RDIO0DIR_bit.P0_20=1;//RDIO0DIR_bit.P0_21=1;//WRIO0DIR_bit.P0_30=1;//RSIO0DIR_bit.P0_17=1;//CSIO0DIR_bit.P0_11=1;IO0DIR_bit.P0_12=1;}//延時voidDelayMs(unsignedshortk){unsignedshorti;unsignedintj;for(i=k;i>0;i--)for(j=1000;j>0;j--);}//向HC573寫入數(shù)據(jù)voidWrite_HC573(unsignedshortDat){unsignedchardat;dat=(unsignedchar)(Dat&0xFF);IO1SET|=(((unsignedint)dat)<<16);IO1CLR|=((~(((unsignedint)dat)<<16))&((0XFF<<16)));IO0SET_bit.P0_11=1;IO0CLR_bit.P0_11=1;dat=(unsignedchar)((Dat>>8)&0xFF);IO1SET|=(((unsignedint)dat)<<16);IO1CLR|=((~(((unsignedint)dat)<<16))&((0XFF<<16)));IO0SET_bit.P0_12=1;IO0CLR_bit.P0_12=1;}//向液晶屏寫入數(shù)據(jù)voidTFTWriData(unsignedshortch){LCD_RS_H();//RS=1LCD_CS_L();//CS=0Write_HC573(ch);LCD_WR_L();//WR=0LCD_WR_H();//WR=1LCD_CS_H();//CS=1}//向液晶屏寫入命令voidTFTWriCom(unsignedshortch){LCD_RS_L();//RS=0Write_HC573(ch);LCD_WR_L();//WR=0LCD_CS_L();//CS=0LCD_WR_H();//WR=1LCD_CS_H();//CS=1}//寫入掌握字voidwrite_com(unsignedshortaddress,unsignedshortnum){TFTWriCom(address);TFTWriData(num);}//液晶屏初始化voidTftInit(void){LCD_RESET_L();//低電平復(fù)位Delayn(10000);LCD_RESET_H();#defineDelayNSDelaynwrite_com(0x0000,0x0001);DelayNS(1000);//打開晶振write_com(0x0003,0xA8A4);DelayNS(1000);//0xA8A4write_com(0x000C,0x0000);DelayNS(1000);write_com(0x000D,0x080C);DelayNS(1000);write_com(0x000E,0x2B00);DelayNS(1000);write_com(0x001E,0x00B0);DelayNS(1000);write_com(0x0001,0x2B3F);DelayNS(1000);//驅(qū)動輸出掌握320*2400x6B3Fwrite_com(0x0002,0x0600);DelayNS(1000);write_com(0x0010,0x0000);DelayNS(1000);write_com(0x0011,0x6070);DelayNS(1000);//0x4030//定

溫馨提示

  • 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

提交評論