基于ARM的LCD顯示.doc_第1頁(yè)
基于ARM的LCD顯示.doc_第2頁(yè)
基于ARM的LCD顯示.doc_第3頁(yè)
基于ARM的LCD顯示.doc_第4頁(yè)
基于ARM的LCD顯示.doc_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、課程設(shè)計(jì)報(bào)告題 目: 基于STM32的LCD的 設(shè)計(jì) 學(xué)生姓名: 學(xué)生學(xué)號(hào): 系 別: 專 業(yè): 屆 別: 指導(dǎo)教師: 電子工程學(xué)院制基于STM32的LCD觸摸屏驅(qū)動(dòng)的設(shè)計(jì)學(xué)生:鳳凰花指導(dǎo)教師:吳琰電子工程學(xué)院 電子信息科學(xué)與技術(shù)目錄1 概述12 LCD液晶顯示屏12.1 LCD液晶顯示屏原理12.2 LCD液晶顯示屏分類23觸摸屏驅(qū)動(dòng)原理概述23.1 電阻觸摸屏工作原理23.2 觸摸屏控制實(shí)現(xiàn)34 設(shè)計(jì)目標(biāo)35 系統(tǒng)硬件設(shè)計(jì)35.1 STM32微處理器FSMC接口45.2 LCD液晶顯示屏介紹65.3 觸摸屏控制板86 系統(tǒng)軟件設(shè)計(jì)116.1 系統(tǒng)軟件結(jié)構(gòu)116.2 頭文件設(shè)計(jì)126.2 硬

2、件初始化程序126.3 3寸LCD模塊驅(qū)動(dòng)程序186.4 觸摸坐標(biāo)獲取程序256.5 LCD控制器控制程序287 總結(jié)錯(cuò)誤!未定義書(shū)簽。1 概述LCD液晶顯示屏與觸摸屏在嵌入式系統(tǒng)中的應(yīng)用越來(lái)越普及。他們是非常簡(jiǎn)單、方便、自然的人機(jī)交互方式,目前廣泛應(yīng)用于便攜式儀器、智能家電、掌上設(shè)備等領(lǐng)域。觸摸屏與LCD液晶顯示技術(shù)的緊密結(jié)合,成了主流配置。LCD液晶顯示屏(LCD Module , LCM)是一種將液晶顯示器件、連接件、集成電路、PCB線路板、背光源以及結(jié)構(gòu)件裝配在儀器的組件。觸摸屏技術(shù)在我國(guó)的應(yīng)用時(shí)間不是太長(zhǎng),但它已經(jīng)成長(zhǎng)為人們最為接受的輸入方式。利用這種技術(shù)人們只需觸碰屏幕就可以對(duì)主機(jī)

3、進(jìn)行操作,是人機(jī)交互更為方便,直截了當(dāng)。本文檔是對(duì)LCD液晶顯示屏和觸摸屏驅(qū)動(dòng)的設(shè)計(jì)做深入介紹。2 LCD液晶顯示屏2.1 LCD液晶顯示屏原理液晶(Liquid Crystal):是一種介于固態(tài)和液態(tài)之間的具有規(guī)則性分子排列,及晶體的光學(xué)各向異性的有機(jī)化合物,液晶在受熱到一定溫度的時(shí)候會(huì)呈現(xiàn)透明狀的液體狀態(tài),而冷卻則會(huì)出現(xiàn)結(jié)晶顆粒的混濁固體狀態(tài),因?yàn)槲锢砩暇哂幸后w與晶體的特性,故稱之為“液晶”。液晶顯示器LCD(Liquid Crystal Display):是新型平板顯示器件。顯示器中的液晶體并不發(fā)光,而是控制外部光的通過(guò)量。當(dāng)外部光線通過(guò)液晶分子時(shí),液晶分子的排列扭曲狀態(tài)不同,使光線通過(guò)

4、的多少就不同,實(shí)現(xiàn)了亮暗變化,可重現(xiàn)圖像。液晶分子扭曲的大小由加在液晶分子兩邊的電壓差的大小決定。因而可以實(shí)現(xiàn)電到光的轉(zhuǎn)換。即用電壓的高低控制光的通過(guò)量,從而把電信號(hào)轉(zhuǎn)換成光像。2.2 LCD液晶顯示屏分類(1) 位段型液晶顯示模塊位段型液晶顯示模塊是一種由位段型液晶顯示器件與專用的集成電路組裝成一體的功能部件。(2) 字符型液晶顯示模塊字符型液晶顯示模塊是由字符液晶顯示器件與專用的行、列驅(qū)動(dòng)器、控制器、必要的連接件以及結(jié)構(gòu)件裝配而成,可以顯示數(shù)字和西文字符。(3) 圖形點(diǎn)陣型液晶顯示模塊圖形點(diǎn)陣型顯示模塊就是可以動(dòng)態(tài)地顯示字符和圖片的LCD。圖形點(diǎn)陣液晶模塊的點(diǎn)陣像素連續(xù)排列,行和列在拍布中

5、均沒(méi)有空隔,不僅可以顯示字符,還可以顯示連續(xù)完整的圖像。圖形點(diǎn)陣型液晶顯示模塊有三種類型可供選擇:行列驅(qū)動(dòng)型,行列驅(qū)動(dòng)控制型及行列控制型。2嵌入式和LCD的發(fā)展21嵌入式系統(tǒng)的概述 211嵌入式系統(tǒng)發(fā)展史 嵌入式系統(tǒng)雖然是近幾年才風(fēng)靡起來(lái)的,但是這個(gè)概念并非是新近才出現(xiàn)產(chǎn)物。從 20世紀(jì)70年代左右單片機(jī)的出現(xiàn)到今天各式各樣的微控制器、嵌入式處理器大規(guī)模應(yīng)用,嵌入式系統(tǒng)已經(jīng)快有30多年的發(fā)展歷史?!?】綜合看嵌入式技術(shù)的發(fā)展,大致可以說(shuō)經(jīng)歷了以下4個(gè)階段: l 第一階段是以單芯片為核心的可編程控制器的系統(tǒng),同時(shí)也具有與伺服、監(jiān)測(cè)、指示設(shè)備相配合的一些功能,應(yīng)用在專業(yè)性強(qiáng)的工業(yè)控制系統(tǒng)中。而且這

6、種系統(tǒng)一般沒(méi)有操作系統(tǒng)的支持,同時(shí)通過(guò)匯編語(yǔ)言編程對(duì)系統(tǒng)進(jìn)行直接控制。這一階段系統(tǒng)主要特點(diǎn)是:系統(tǒng)結(jié)構(gòu)和功能相對(duì)單一,存儲(chǔ)容量較小,處理效率較低,幾乎沒(méi)有用戶的接口。 l 第二階段是以嵌入式CPU為基礎(chǔ)、以簡(jiǎn)單操作系統(tǒng)為核心的嵌入式系統(tǒng)。 這一階段系統(tǒng)的主要特點(diǎn)是:CPU種類繁多,通用性比較弱;系統(tǒng)開(kāi)銷小,效率高;操作系統(tǒng)達(dá)到了一定的兼容性和擴(kuò)展性;應(yīng)用軟件較專業(yè)化,用戶界面不夠友好;主要用于控制系統(tǒng)負(fù)載的運(yùn)行以及監(jiān)控應(yīng)用程序的運(yùn)行。 l 第三階段是以嵌入式操作系統(tǒng)為標(biāo)志的嵌入式系統(tǒng)。這一階段系統(tǒng)的主要特點(diǎn)是:嵌入式操作系統(tǒng)能運(yùn)行于各種不同類型的微處理器上,兼容性好;操作系統(tǒng)內(nèi)核小、效率高,并

7、且具有高度的模塊化和擴(kuò)展性;具備文件和目錄管理、多任務(wù)、設(shè)備支持、網(wǎng)絡(luò)支持、圖形窗口以及用戶界面等功能;具有大量的應(yīng)用程序接口(API),開(kāi)發(fā)應(yīng)用程序簡(jiǎn)單;嵌入式應(yīng)用軟件豐富。l 第四階段是以基于Intemet為標(biāo)志的嵌入式系統(tǒng),這是一個(gè)正在迅速發(fā)展的階段。目前大多數(shù)嵌入式系統(tǒng)還孤立于Internet之外,但隨著Intemet的發(fā)展以及 Intemet技術(shù)與信息家電、工業(yè)控制技術(shù)等結(jié)合日益密切,嵌入式設(shè)備與Internet 的結(jié)合將代表著嵌入式技術(shù)的真正未來(lái)。 數(shù)字時(shí)代和信息時(shí)代的到來(lái)使嵌入式產(chǎn)品獲得了巨大的歷史發(fā)展機(jī)遇,為嵌入式市場(chǎng)展現(xiàn)了美好的前景,同時(shí)這也對(duì)嵌入式廠商提出了新的挑戰(zhàn)。未來(lái)的

8、嵌入式系統(tǒng)的發(fā)展趨勢(shì)是: (1)網(wǎng)絡(luò)互聯(lián)成為了必然趨勢(shì)。未來(lái)的嵌入式設(shè)備為了適應(yīng)網(wǎng)絡(luò)互聯(lián)的要求,必須要在硬件上提供各種網(wǎng)絡(luò)通訊的接口。軟件方面內(nèi)核要支持網(wǎng)絡(luò)模塊,甚至可以在設(shè)備上嵌入WEB瀏覽器,真正可以實(shí)現(xiàn)隨時(shí)隨地的用各種設(shè)備上網(wǎng)。 (2)精簡(jiǎn)系統(tǒng)內(nèi)核、算法,降低功耗、軟硬件的成本。未來(lái)嵌入式產(chǎn)品是軟、硬件緊密結(jié)合的設(shè)備,為了降低功耗成本,需要盡量的精簡(jiǎn)系統(tǒng)內(nèi)核,只保留和系統(tǒng)緊密相關(guān)的軟、硬件,利用最少的資源來(lái)實(shí)現(xiàn)最適當(dāng)?shù)墓δ堋?(3)提供友好的多媒體人機(jī)界面。嵌入式設(shè)備不僅能與用戶親密接觸,最重要的因素就是能提供友好的用戶界面。這就要求了軟件設(shè)計(jì)要在多媒體技術(shù)、圖形界面上多下功夫。 3 觸

9、摸屏驅(qū)動(dòng)原理概述3.1 電阻觸摸屏工作原理電阻觸摸屏是采用電阻模擬量技術(shù)。它是一層玻璃作為基層,上面涂有一層透明氧化金屬(ITO氧化銦)導(dǎo)電層,再蓋有一層玻璃或是外表面硬化處理的光滑的塑料層;內(nèi)表面也涂有一層ITO導(dǎo)電層。它們之間有許多細(xì)小的透明隔離點(diǎn)把兩導(dǎo)電層隔開(kāi)絕緣,每當(dāng)有筆或是手指按下時(shí),兩導(dǎo)電層就相互接觸。而形成電路。導(dǎo)電層的兩端都涂有一條銀膠,稱為該工作面的一對(duì)電極。上下兩個(gè)導(dǎo)電層一個(gè)是水平方向,一個(gè)是豎直方向,分別用來(lái)測(cè)量X和Y的坐標(biāo)位置。在水平面上的電極稱為X+電極和X-電極,在豎直平面的電極稱為Y+電極和Y-電極。工作時(shí),兩個(gè)電極根據(jù)測(cè)量需要提供參考電壓或是作為測(cè)量端對(duì)接觸點(diǎn)的

10、位置進(jìn)行測(cè)量。當(dāng)測(cè)量接觸點(diǎn)X坐標(biāo)的時(shí)候,導(dǎo)電層上的X+電極和X-電極分別上參考電壓和地;Y電極不加電壓,那么X電極間會(huì)形成均勻的電壓分布,用Y+電極作為測(cè)量點(diǎn),得到的電壓值通過(guò)A/D轉(zhuǎn)換,就可對(duì)應(yīng)地判斷出接觸點(diǎn)的X坐標(biāo)。Y坐標(biāo)亦是類似,只需改成對(duì)Y電極加電壓而X電極不加電壓即可。圖1 電阻屏原理圖212嵌入式系統(tǒng)定義及其構(gòu)成 根據(jù)IEEE(國(guó)際電氣和電子工程師協(xié)會(huì))從應(yīng)用上定義為:嵌入式系統(tǒng)是“控制、監(jiān)視或者輔助設(shè)備、機(jī)器和車間運(yùn)行的裝置(原文為device used to controlmonitor,or assist the operation of equipment,machiner

11、y or plants)”。由此可以看出來(lái)嵌入式系統(tǒng)是軟件和硬件的綜合體,可以涵蓋到機(jī)械等附屬裝置。目前,國(guó)內(nèi)對(duì)嵌入式系統(tǒng)的普遍認(rèn)同一個(gè)定義是:以計(jì)算機(jī)技術(shù)為基礎(chǔ)、以應(yīng)用為中心,軟硬件可裁減,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、體積、可靠性、成本、功耗等嚴(yán)格要求的計(jì)算機(jī)系統(tǒng)【2】。 對(duì)嵌入式系統(tǒng)的定義可以從以下幾方面來(lái)理解: (1) 嵌入式系統(tǒng)是面向產(chǎn)品、面向用戶、面向應(yīng)用的,嵌入式系統(tǒng)是和應(yīng)用緊密結(jié)合的,它具有很強(qiáng)地專用性,必須要結(jié)合實(shí)際系統(tǒng)需求來(lái)進(jìn)行合理的裁減。它的升級(jí)換代也是根據(jù)具體產(chǎn)品同步來(lái)進(jìn)行的,因此嵌入式系統(tǒng)產(chǎn)品一旦進(jìn)入了市場(chǎng),一般都具有具有較長(zhǎng)的生命周期。 (2) 嵌入式系統(tǒng)是將先進(jìn)的計(jì)算機(jī)技術(shù)

12、、半導(dǎo)體技術(shù)、電子技術(shù)等各個(gè)行業(yè)具體應(yīng)用相結(jié)合的產(chǎn)物。這一點(diǎn)就決定了它是一個(gè)資金密集、高度分散、技術(shù)密集、高度分散、不斷創(chuàng)新的知識(shí)集成系統(tǒng)。 (3)嵌入式系統(tǒng)必須能根據(jù)應(yīng)用需要對(duì)軟件、硬件進(jìn)行裁減、擴(kuò)展以滿足應(yīng)用系統(tǒng)的功能、成本、可靠性、體積等要求。為了提高系統(tǒng)可靠性和執(zhí)行速度,嵌入式系統(tǒng)中的軟件一般都固化在了存儲(chǔ)器芯片或者單片機(jī)本身中,而不是儲(chǔ)存在磁盤(pán)等載體中。目前的嵌入式系統(tǒng)的內(nèi)核都只是一個(gè)幾K到幾十K的微核,能夠非常順利地按需求擴(kuò)展功能。 一般而言,嵌入式系統(tǒng)的構(gòu)架可以分成四個(gè)部分:存儲(chǔ)器、處理器、輸入/輸出(I/O)和軟件構(gòu)成。嵌入式系統(tǒng)和一般的計(jì)算機(jī)處理系統(tǒng)不同,它不具備像硬盤(pán)那樣的

13、大容量存儲(chǔ)介質(zhì),大多都使用EPROM、E2PROM或閃存(Flash Memory)來(lái)作為存儲(chǔ)介質(zhì)。由于大多數(shù)嵌入式設(shè)備的應(yīng)用軟件和操作系統(tǒng)都是緊密結(jié)合的,不加以區(qū)別,這也是嵌入式系統(tǒng)和Windows系統(tǒng)最大的區(qū)別。213嵌入式系統(tǒng)的應(yīng)用 嵌入式系統(tǒng)技術(shù)具有非常廣泛的應(yīng)用前景,其應(yīng)用領(lǐng)域一般可以包括: (1)工業(yè)控制領(lǐng)域口1:作為32位的RISC架構(gòu)、基于ARM核的微控制器芯片不但占據(jù)高端微控制器市場(chǎng)的很大部分市場(chǎng)份額,同時(shí)也在逐漸向低端微控制器應(yīng)用領(lǐng)域方向擴(kuò)展,目前已經(jīng)有了大量的8位、16位、32位嵌入式微處理器應(yīng)用在工業(yè)過(guò)程控制、電網(wǎng)安全、數(shù)控機(jī)床、電力系統(tǒng)、石油化工系統(tǒng)等領(lǐng)域。ARM微控

14、制器的低功耗、高性價(jià)比,向傳統(tǒng)的8位16位微控制器提出了強(qiáng)烈挑戰(zhàn)。 (2)信息家電領(lǐng)域:以后這將成為嵌入式最大的應(yīng)用領(lǐng)域,冰箱、空調(diào)、電視等家用電器的網(wǎng)絡(luò)化、智能化將引領(lǐng)人們的生活步入一個(gè)嶄新的空間,可以利用電話線或者網(wǎng)絡(luò)來(lái)對(duì)家電進(jìn)行遠(yuǎn)程的控制。 (3)交通管理領(lǐng)域:在流量控制、車輛導(dǎo)航、信息監(jiān)測(cè)與汽車服務(wù)等,嵌入式系統(tǒng)技術(shù)已經(jīng)獲得廣泛的應(yīng)用,內(nèi)嵌GPS模塊、GSM模塊的移動(dòng)定位終端已經(jīng)在各種運(yùn)輸業(yè)廣泛應(yīng)用。 (4)家庭智能管理系統(tǒng):水、電和煤氣等遠(yuǎn)程自動(dòng)抄表,安全防火、防盜, 這將是嵌入式系統(tǒng)廣泛應(yīng)用的又一領(lǐng)域,它不僅能代替?zhèn)鹘y(tǒng)的人工檢查,而且還能實(shí)現(xiàn)了更準(zhǔn)確、速度更快、精度更高、更安全等性

15、能。 (5)無(wú)線通訊領(lǐng)域:目前已有超過(guò)85的無(wú)線通訊設(shè)備采用ARM技術(shù),ARM以其高性能和低成本,在該領(lǐng)域的地位日益鞏固和穩(wěn)定。 (6)消費(fèi)類電子產(chǎn)品:ARM技術(shù)在目前流行的手機(jī)、數(shù)字音頻播放器、數(shù)字機(jī)頂盒和游戲機(jī)中得到了廣泛采用。 (7)網(wǎng)絡(luò)應(yīng)用:伴隨著寬帶技術(shù)推廣,采用ARM技術(shù)的ADSL芯片正逐步獲得競(jìng)爭(zhēng)優(yōu)勢(shì)。此外,ARM在語(yǔ)音及視頻處理上進(jìn)行了優(yōu)化和處理,并獲得了廣泛的支持,這也對(duì)DSP的應(yīng)用領(lǐng)域提出了新的挑戰(zhàn)。 (8)成像和安全產(chǎn)品:現(xiàn)在流行的數(shù)碼相機(jī)和打印機(jī)中絕大部分都采用ARM技術(shù)。手機(jī)中的32位SIM智能卡也采用TARM技術(shù)陸。 除了這些以外,ARM微處理器及技術(shù)還應(yīng)用到很多不

16、同的領(lǐng)域,并會(huì)在將來(lái)取得更加廣泛的應(yīng)用。 2.2 ARM體系結(jié)構(gòu)的發(fā)展 ARM(Advanced RISC Machines),既可以認(rèn)為是一個(gè)公司的名字,也可以認(rèn)為是對(duì)一類微處理器的通稱,還可以認(rèn)為是一種技術(shù)的名字。1991年ARM公 司成立于英國(guó)劍橋,主要出售芯片設(shè)計(jì)技術(shù)的授權(quán)。目前,采用ARM技術(shù)知識(shí)產(chǎn)權(quán)(IP)核的微處理器,即我們通常所說(shuō)的ARM微處理器,已遍及工業(yè)控制、消費(fèi)類電子產(chǎn)品、通信系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)、無(wú)線系統(tǒng)等各類產(chǎn)品市場(chǎng),基于ARM技術(shù)的微處理器,其應(yīng)用大概占據(jù)了32位RISC微處理器75以上的市場(chǎng)份額,ARM技術(shù)正在逐步滲透到我們生活的各個(gè)方面中。 目前,ARM32位體系結(jié)構(gòu)

17、被公認(rèn)是嵌入式應(yīng)用領(lǐng)域領(lǐng)先的32位嵌入式RISC微處理器結(jié)構(gòu)。自誕生到現(xiàn)在,ARM體系結(jié)構(gòu)為了能夠滿足ARM合作者以及設(shè)計(jì)領(lǐng)域的需求正在穩(wěn)步發(fā)展,已經(jīng)發(fā)展并定義了7個(gè)不同的版本,每一次ARM體系結(jié)構(gòu)的重大修改,都會(huì)添加成極為重要的技術(shù)。在體系結(jié)構(gòu)作重大修改的期間,會(huì)添加新的性能來(lái)來(lái)作為體系結(jié)構(gòu)的變體。ARM的名字代表了系統(tǒng)結(jié)構(gòu)上的提升,后面附加的關(guān)鍵字代表了體系結(jié)構(gòu)的變體。 (1)v1版架構(gòu):該版架構(gòu)只在原型機(jī)子ARM1上出現(xiàn)過(guò),沒(méi)有用在商業(yè)產(chǎn)品上。采用的地址空間是26位,尋址空間則是64MBt。 (2)V2版架構(gòu):該版架構(gòu)是對(duì)V1版架構(gòu)進(jìn)行了擴(kuò)展,V2架構(gòu)的ARM處理器的指令結(jié)構(gòu)進(jìn)行了完善,

18、例如:支持協(xié)處理器操作指令、增加了乘法指令、快速中斷模式等,但該結(jié)構(gòu)的處理器仍然是26位的地址空間。(3)V3版架構(gòu):對(duì)以前的ARM體系結(jié)構(gòu)作了很大的改動(dòng),例如:尋址空間增到32位(4GB);指令結(jié)構(gòu)也比前兩種有所完善,例如:增加了程序狀態(tài)保存寄存器(SPSR)、程序狀態(tài)寄存器 (CPSR)、增加了中止和未定義2種處理器模式等。 (4)V4版架構(gòu):V4架構(gòu)在V3版架構(gòu)的基礎(chǔ)上做了進(jìn)一步的擴(kuò)充,指令集中完善了軟件中斷SWl指令的功能、增加了16位Thumb指令集的讀取和寫(xiě)入操作、增加了處理器系統(tǒng)模式等。V4版架構(gòu)是目前應(yīng)用比較多的ARM系統(tǒng)結(jié)構(gòu),屬于V4 體系結(jié)構(gòu)的處理器的有ARM7,ARM8,

19、ARM9 ,StrongARM。 (5)V5版架構(gòu):提升了ARM和Thumb指令的交互工作的能力,同時(shí)有了DSP 指令(V5E結(jié)構(gòu))、Java指令(V5J結(jié)構(gòu)支持),增加了帶有鏈接和交換的轉(zhuǎn)移BLX指令。屬于V5T體系結(jié)構(gòu)的處理器(有ARMl0TDMI和Xscale(Intel公司產(chǎn)品)。屬于V5TE體系結(jié)構(gòu)的處理器有ARM9E、ARM9ES、ARM946等pJ。 (6)V6版架構(gòu):V6版架構(gòu)與V5版架構(gòu)相比 增加了多媒體指令、增加了高性能定點(diǎn)DSP功能、改進(jìn)了的內(nèi)存管理,使系統(tǒng)性能提高了30。屬于V6體系結(jié)構(gòu)的處理器的有ARMll。V6構(gòu)體系結(jié)構(gòu)包含ARM體系結(jié)構(gòu)中所有的四種特殊指令集:Th

20、umb指令,DSP指令,Java指令,Media指令。同時(shí)為了滿足向后兼容,ARMv6也包括了ARMy5的存儲(chǔ)器管理和例外處理。這使得眾多的第三方發(fā)展商能夠利用現(xiàn)有的成果,支持軟件和設(shè)計(jì)的復(fù)用。 (7)V7版架構(gòu):V7版架構(gòu)ARM是2005年發(fā)布的。它使用了能夠帶來(lái)更高性能、低功耗、高效率及代碼密度大的Thumb.2技術(shù)。它首次采用了強(qiáng)大的信號(hào)處理擴(kuò)展集,對(duì)MP3等媒體編碼提供了加速。 下一代體系結(jié)構(gòu)的發(fā)展是由不斷出現(xiàn)的新產(chǎn)品和變化的市場(chǎng)來(lái)推動(dòng)的。關(guān)鍵的設(shè)計(jì)約束也是顯而易見(jiàn)的,速度,功能,性能,功耗,面積和成本必須與每一種的應(yīng)用需求相平衡。保證領(lǐng)先的性能/功耗。在過(guò)去是ARM成功的基石所在,在

21、將來(lái)的應(yīng)用中它也是一個(gè)很重要衡量標(biāo)準(zhǔn)。但新的體系結(jié)構(gòu)不能是想取代現(xiàn)存的體系結(jié)構(gòu),讓它們變得多余。新的CPU核和衍生產(chǎn)品必須建立在這些結(jié)構(gòu)之上,同時(shí)不斷地與制造工藝保持同步。例如基于V4T體系結(jié)構(gòu)的ARMTTDMI核還在不斷廣泛被新產(chǎn)品所使用。 3.2 觸摸屏控制實(shí)現(xiàn)對(duì)觸摸屏的控制有專用的控制芯片。觸摸屏的控制芯片主要完成兩個(gè)任務(wù):一是完成電極電壓的切換,二是采集接觸點(diǎn)處的電壓值并實(shí)現(xiàn)A/D轉(zhuǎn)換。觸摸屏控制芯片主要由觸摸檢測(cè)部件和觸摸屏控制器組成。觸摸檢測(cè)部件安裝在顯示器屏幕前面,用于檢測(cè)用戶觸摸位置,接受位置信號(hào)后送至觸摸屏控制器;而觸摸屏控制器的主要作用是從觸摸點(diǎn)檢測(cè)裝置上接收觸摸信息,并將

22、它轉(zhuǎn)換成觸點(diǎn)坐標(biāo),再送給MPU,同時(shí)它能接收MPU發(fā)來(lái)的命令并加以執(zhí)行。4 設(shè)計(jì)目標(biāo)基于STM32硬件開(kāi)發(fā)平臺(tái)與3寸液晶屏組成液晶顯示與觸摸屏人機(jī)交互系統(tǒng)。5 系統(tǒng)硬件設(shè)計(jì)本實(shí)驗(yàn)的主要硬件由STM32微處理器的FSMC接口,3寸屏?xí)r序轉(zhuǎn)換板以及觸摸屏控制板組成。圖2 硬件系統(tǒng)結(jié)構(gòu)圖5.1 STM32微處理器FSMC接口FSMC模塊能夠與同步或異步的存儲(chǔ)器和16位的PC存儲(chǔ)器卡接口,它的主要作用是:將AHB傳輸信號(hào)轉(zhuǎn)換到適當(dāng)?shù)耐獠吭O(shè)備協(xié)議,滿足訪問(wèn)外部設(shè)備的時(shí)序要求,所有的外部存儲(chǔ)器共享控制器輸出的地址、數(shù)據(jù)和控制信號(hào),每個(gè)外部設(shè)備可以通過(guò)一個(gè)唯一的片選信號(hào)加以區(qū)分,F(xiàn)SMC在任一時(shí)刻只訪問(wèn)一個(gè)

23、外部設(shè)備。FSMC具有下列主要功能:(1)具有靜態(tài)存儲(chǔ)器接口的器件包括:靜態(tài)隨機(jī)存儲(chǔ)器(SRAM);只讀存儲(chǔ)器(ROM);NOR閃存;PSRAM(4個(gè)存儲(chǔ)器塊)。(2)兩個(gè)NAND閃存塊,支持硬件ECC并可檢測(cè)多達(dá)8K字節(jié)數(shù)據(jù)。(3)16位的PC卡。(4)支持對(duì)同步器件的成組(Burst)訪問(wèn)模式,如NOR閃存和PSRAM8或16位數(shù)據(jù)總線。(5)每一個(gè)存儲(chǔ)器塊都有獨(dú)立的片選控制,每一個(gè)存儲(chǔ)器塊都可以獨(dú)立配置,時(shí)序可編程以支持各種不同的器件:等待周期可編程(多達(dá)15個(gè)周期);總線恢復(fù)周期可編程(多達(dá)15個(gè)周期);輸出使能和寫(xiě)使能延遲可編程(多達(dá)15周期)(6)獨(dú)立的讀寫(xiě)時(shí)序和協(xié)議,可支持寬范圍

24、的存儲(chǔ)器和時(shí)序PSRAM和SRAM器件使用的寫(xiě)使能和字節(jié)選擇輸出。(6)將32位的AHB訪問(wèn)請(qǐng)求,轉(zhuǎn)換到連續(xù)的16位或8位的,對(duì)外部16位或8位器件的訪問(wèn)具有16個(gè)字,每個(gè)字32位寬的寫(xiě)入FIFO,允許在寫(xiě)入較慢存儲(chǔ)器時(shí)釋放AHB進(jìn)行其它操作。在開(kāi)始一次新的FSMC操作前,F(xiàn)IFO要先被清空。通常在系統(tǒng)復(fù)位或上電時(shí),應(yīng)該設(shè)置好所有定義外部存儲(chǔ)器類型和特性的FSMC寄存器,并保持它們的內(nèi)容不變;當(dāng)然,也可以在任何時(shí)候改變這些設(shè)置。FSMC包含四個(gè)主要模塊:(1)AHB接口(包含F(xiàn)SMC配置寄存器)(2)NOR閃存和PSRAM控制器(3)NAND閃存和PC卡控制器(4)外部設(shè)備接口FSMC框圖如下

25、:圖3 FSMC接口結(jié)構(gòu)框圖當(dāng)STM32微處理器使用FSMC接口模塊來(lái)控制LCD液晶顯示模塊時(shí),其接口信號(hào)用于驅(qū)動(dòng)LCD的對(duì)應(yīng)關(guān)系如表1:FSMC接口信號(hào)線LCD接口信號(hào) 功能NExCSX片選 NWRWRX寫(xiě)使能 NOE RDX 讀使能D15:0D15:0    數(shù)據(jù)信號(hào)A25:0 RS地址信號(hào)表1STM32微處理器使用FSMC接口模塊與LCD英特爾8080(類似)接口示意圖:圖4 FSMC接口模塊與LCD英特爾8080接口示意圖5.2 LCD液晶顯示屏介紹本實(shí)驗(yàn)的LCD液晶顯示器采用宇順公司的3寸彩色液

26、晶屏S95361,分辨率為240*400。3TFT顯示屏焊接在奮斗顯示轉(zhuǎn)接板上,在屏上貼有觸摸屏,通過(guò)40芯的接口與V5連接。40芯接口定義如下:圖5 40芯接口40芯里包含了16位數(shù)據(jù)線,讀寫(xiě)線,命令/數(shù)據(jù)控制線,片選線,LCD硬件復(fù)位線,背光控制線以及觸摸控制線。奮斗板V3和MINI就是通過(guò)這個(gè)接口來(lái)控制顯示。 奮斗板MINI和V3都是選用了具有16位FSMC接口STM32F103VET6作為MCU, FSMC接口也可以稱為16位并行接口,時(shí)序同I8080接口。按照顯示屏驅(qū)動(dòng)電路LGDP5420的手冊(cè),為了達(dá)到色彩與顯示效率的平衡,奮斗板采用了16位 64K色接口模式。圖6 16位RGB真

27、彩圖在這個(gè)模式每個(gè)像素用5位紅色6位綠色5位藍(lán)色總共16位來(lái)表示, 根據(jù)分辨率,一幀圖像占用400*240*2=192000字節(jié)。16位8080總線接口時(shí)序如下:圖7 總線讀寫(xiě)時(shí)序圖5.3 觸摸屏控制板TSC2046是一款四線制觸摸屏控制器,內(nèi)涵12位分辨率125kHz轉(zhuǎn)換速率逐步逼近型A/D轉(zhuǎn)換器,它支持1.5V5.25V范圍的低電壓I/O口。TSC2046還具有一個(gè)片上2.5V的參考電壓,可以用于輔助輸入,電池監(jiān)測(cè),和溫度測(cè)量模式。TSC2046芯片主要功能如下:(1)具有四線制觸摸屏接口;(2)可單電源工作,工作電壓范圍2.2V至5.25V;(3)支持1.5V至5.25V的數(shù)字I / O

28、口;(4)內(nèi)部自帶2.5V參考電壓源;(5)能直接測(cè)量電源電壓(0V至6V);(6)片上溫度測(cè)量;(7)觸摸壓力測(cè)量;(8)具有3線制SPI通信接口;(9)自動(dòng)省電;(10)封裝小,TSSOP-16,QFN-16封裝,可在VFBGA-48封裝;其功能框圖如圖8:圖8 TSC2046功能框圖TSC2046最常用封裝TSSOP-16引腳排列如圖9所示,對(duì)應(yīng)的引腳功能定義如表2所示:圖9 TSC2046引腳排列圖引腳號(hào)引腳名功能描述1VCC電源2,3X+,Y+觸摸屏正電極4,5X-,Y-觸摸屏負(fù)電極6GND電源地7 VBAT 電池監(jiān)控輸入端。8AUX輔助輸入端。9VREFA/D參考電壓輸入

29、10IOVDD數(shù)字電源輸入端。 11PENIRQ筆中斷引腳,當(dāng)有觸摸事件發(fā)生時(shí),向微控制器申請(qǐng)中斷服務(wù)。12 DOUT串行數(shù)據(jù)輸出,用于輸出轉(zhuǎn)換后的觸摸位置數(shù)據(jù),12位工作方式下,最大為4095。  13BUSY忙指示,低電平有效14DIN串行數(shù)據(jù)輸入、其控制數(shù)據(jù)通過(guò)該引腳輸入。15CS片選16DCLK外部時(shí)鐘輸入引腳。 表26 系統(tǒng)軟件設(shè)計(jì)6.1 系統(tǒng)軟件結(jié)構(gòu)圖10 系統(tǒng)軟件結(jié)構(gòu)本實(shí)驗(yàn)的觸摸模塊主要的軟件設(shè)計(jì)任務(wù)按功能和層次可分為如下幾個(gè)部分:1、ucos系統(tǒng)建立任務(wù),包括主任務(wù),用戶界面任務(wù),CAN報(bào)文接收任務(wù)等。2、ucGUI圖形用戶界面

30、程序,設(shè)計(jì)相關(guān)操作界面。3、中斷服務(wù)程序,主要使用的中斷處理函數(shù)為USB_HP_CAN_TX_IRQHandler(),執(zhí)行CAN總線接收的中斷處理。4、硬件平臺(tái)初始化程序,包括時(shí)鐘,CAN模塊,觸摸屏等等的初始化。5、LCD的底層驅(qū)動(dòng)函數(shù)。6.2 頭文件設(shè)計(jì)本實(shí)驗(yàn)由于使用函數(shù)以及宏定義較多,自定義了頭文件demo.hh。demo.h內(nèi)容如下:#ifdef GLOBALS #define EXT#else#define EXT extern #endif#define Led_ON() GPIO_SetBits(GPIOB, GPIO_Pin_5); /LED1亮#define Led_OFF

31、() GPIO_ResetBits(GPIOB, GPIO_Pin_5); /LED1滅#define TP_CS() GPIO_ResetBits(GPIOB,GPIO_Pin_7) /觸摸SPI片選允許#define TP_DCS() GPIO_SetBits(GPIOB,GPIO_Pin_7) /觸摸SPI片選允許#define PEN GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_6) /觸摸檢測(cè) #define RED 0XF800#define GREEN 0X07E0#define BLUE 0X001F #define BRED 0XF81F#def

32、ine GRED 0XFFE0#define GBLUE 0X07FF;#define BLACK 0; FSMC接口的LCD初始化通過(guò)調(diào)用FSMC_LCD_Init()函數(shù)實(shí)現(xiàn)信號(hào)引腳配置等功能。函數(shù)代碼如下:/* 名 稱:void FSMC_LCD_Init(void)* 功 能:基于FSMC接口的16位TFT接口初始化*/void FSMC_LCD_Init(void) FSMC_NORSRAMInitTypeDef FSMC_NORSRAMInitStructure; FSMC_NORSRAMTimingInitTypeDef p; GPIO_InitTypeDef GPIO_Init

33、Structure; RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE); /使能FSMC接口時(shí)鐘 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; /背光控制 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; /通用推挽輸出模式 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;/輸出模式最大速度50MHz GPIO_Init(GPIOD, &GPIO_InitStructure); GPIO_SetBit

34、s(GPIOD, GPIO_Pin_13); /打開(kāi)背光 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1; /TFT 復(fù)位腳 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; /通用推挽輸出模式 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; /輸出模式最大速度50MHz GPIO_Init(GPIOE, &GPIO_InitStructure); /* 啟用FSMC復(fù)用功能, 定義FSMC D0-D15及nWE, nOE對(duì)應(yīng)的引腳 */ /* 設(shè)置 P

35、D.00(D2), PD.01(D3), PD.04(nOE), PD.05(nWE), PD.08(D13), PD.09(D14), PD.10(D15), PD.14(D0), PD.15(D1) 為復(fù)用上拉 */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_14 | GPIO_Pin_15; GPIO_InitStructure.GPIO_Speed = GPIO_Spe

36、ed_50MHz; /最大速度50MHz GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; /復(fù)用模式 GPIO_Init(GPIOD, &GPIO_InitStructure); /* 設(shè)置 PE.07(D4), PE.08(D5), PE.09(D6), PE.10(D7), PE.11(D8), PE.12(D9), PE.13(D10), PE.14(D11), PE.15(D12) 為復(fù)用上拉 */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9

37、 | GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15; GPIO_Init(GPIOE, &GPIO_InitStructure); /* FSMC NE1 配置 PD7 */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; GPIO_Init(GPIOD, &GPIO_InitStructure); /* FSMC RS配置 PD11-A16 */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_

38、11 ; GPIO_Init(GPIOD, &GPIO_InitStructure); p.FSMC_AddressSetupTime = 0x02; p.FSMC_AddressHoldTime = 0x00; p.FSMC_DataSetupTime = 0x05; p.FSMC_BusTurnAroundDuration = 0x00; p.FSMC_CLKDivision = 0x00; p.FSMC_DataLatency = 0x00; p.FSMC_AccessMode = FSMC_AccessMode_B; FSMC_NORSRAMInitStructure.FSMC

39、_Bank = FSMC_Bank1_NORSRAM1; FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_NOR; FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_

40、BurstAccessMode_Disable; FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; FSMC_NORSRAMInitStructure.FSMC_WriteOper

41、ation = FSMC_WriteOperation_Enable; FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct

42、= &p; FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure); /* 使能FSMC BANK1_SRAM 模式 */ FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM1, ENABLE); 6.3 3寸LCD模塊驅(qū)動(dòng)程序#include "fsmc_sram.h"#include "font.h" #include "demo.h" #defi

43、ne Bank1_LCD_D (uint32_t)0x60020000) /disp Data ADDR#define Bank1_LCD_C (uint32_t)0x60000000) /disp Reg ADDRvoid LCD_Init(void);void LCD_WR_REG(unsigned int index);void LCD_WR_CMD(unsigned int index,unsigned int val);void LCD_WR_Data(unsigned int val);void LCD_test(void);void LCD_clear(unsigned int

44、p);void Delay(_IO uint32_t nCount);unsigned short LCD_RD_data(void);extern void lcd_rst(void);extern void Delay(_IO uint32_t nCount);void TFT_CLEAR(u8 x,u16 y,u8 len,u16 wid); void TFT_DrawPoint(u8 x,u16 y);void TFT_ShowChar(u8 x,u16 y,u8 num);void TFT_ShowNum(u8 x,u16 y,u32 num);void TFT_ShowString

45、(u8 x,u16 y,const u8 *p);void TFT_ShowBmp(u8 x,u16 y,u8 lenth,u16 wide,const u8 *p);u16 POINT_COLOR=RED; /默認(rèn)紅色 /* 名 稱:LCD_WR_REG(unsigned int index)* 功 能:FSMC寫(xiě)顯示器寄存器地址函數(shù)*/ void LCD_WR_REG(unsigned int index)*(_IO uint16_t *) (Bank1_LCD_C)= index; /* 名 稱:void LCD_WR_CMD(unsigned int index,unsigned in

46、t val)* 功 能:FSMC寫(xiě)顯示器寄存器數(shù)據(jù)函數(shù)*/ void LCD_WR_CMD(unsigned int index,unsigned int val)*(_IO uint16_t *) (Bank1_LCD_C)= index;*(_IO uint16_t *) (Bank1_LCD_D)= val;/* 名 稱:unsigned short LCD_RD_data(void)* 功 能:FSMC讀顯示區(qū)16位數(shù)據(jù)函數(shù)*/ unsigned short LCD_RD_data(void)unsigned int a=0;a=*(_IO uint16_t *) (Bank1_LCD

47、_D); /空操作a=*(_IO uint16_t *) (Bank1_LCD_D); /讀出的實(shí)際16位像素?cái)?shù)據(jù) return(a);/* 名 稱:LCD_WR_Data(unsigned int val)* 功 能:FSMC寫(xiě)16位數(shù)據(jù)函數(shù)*/ void LCD_WR_Data(unsigned int val) *(_IO uint16_t *) (Bank1_LCD_D)= val; void LCD_WR_Data_8(unsigned int val)*(_IO uint16_t *) (Bank1_LCD_D)= val;/* 名 稱:void Delay(_IO uint32_

48、t nCount)* 功 能:延時(shí)函數(shù)*/ void Delay(_IO uint32_t nCount) for(; nCount != 0; nCount-);/* 名 稱:void LCD_Init(void)* 功 能:2.4 寸TFT 初始化函數(shù)*/ void LCD_Init(void)unsigned int i;/lcd_rst(); GPIO_ResetBits(GPIOE, GPIO_Pin_1); /硬件復(fù)位 Delay(0x1AFFf); GPIO_SetBits(GPIOE, GPIO_Pin_1 ); Delay(0x1AFFf);LCD_WR_CMD(0x0000

49、, 0x00000); LCD_WR_CMD(0x0000, 0x00000);LCD_WR_CMD(0x0000, 0x00000);LCD_WR_CMD(0x0000, 0x00000);/time, 0010 ,msLCD_WR_CMD(0x0400, 0x06200);LCD_WR_CMD(0x0008, 0x00808);LCD_WR_CMD(0x0300, 0x00C00);/gammaLCD_WR_CMD(0x0301, 0x05A0B);LCD_WR_CMD(0x0302, 0x00906);LCD_WR_CMD(0x0303, 0x01017);LCD_WR_CMD(0x0304, 0x02300);LCD_WR_CMD(0x0305, 0x01700);LCD_WR_CMD(0x0306, 0x06309);LCD_WR_CMD(0x0307, 0x00C09);LCD_W

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論