ly-tft系列彩屏使用說(shuō)明通用板v1_第1頁(yè)
ly-tft系列彩屏使用說(shuō)明通用板v1_第2頁(yè)
ly-tft系列彩屏使用說(shuō)明通用板v1_第3頁(yè)
ly-tft系列彩屏使用說(shuō)明通用板v1_第4頁(yè)
ly-tft系列彩屏使用說(shuō)明通用板v1_第5頁(yè)
已閱讀5頁(yè),還剩27頁(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、帶 SD 卡功能 TFT 真參考資料版本日期內(nèi)容備注V1.02015/10/18無(wú)部分屏幕無(wú)觸摸功能User Manual1. 硬件結(jié)構(gòu)1.1. TFT 彩屏原理與應(yīng)用范圍TFT 是指液晶顯示器上的每一液晶像素點(diǎn)都是由集成在其后的薄膜晶體管來(lái)驅(qū)動(dòng)。從而可以做到高速度高亮度高對(duì)比度顯示屏幕信息,TFT-LCD(薄膜晶體管液晶顯示器)是多數(shù)液晶顯示器的一種。單片機(jī)用彩屏的基本信息:分辨率:常用 320 x240,當(dāng)前主流或者平板的分辨率是 1920 x1200,分辨率是硬件決定的,制造的時(shí)候就定型完成。以 320 x240 為例,tft 總像素?cái)?shù)=320 x240=76800 個(gè),單片機(jī)寫(xiě)入信息按

2、照像素位操作,刷完一個(gè)整屏幕需要寫(xiě)入 76800 次信息,分辨率越大,刷新的速度要求越高。由于一般單片機(jī)的速度限制,不適合整屏幕刷新,可以使用局部更新數(shù)據(jù)。顏色格式:TFT 每個(gè)像素都可以獨(dú)立顯示任何顏色,顯示顏色的總數(shù)取決于總線寬度,一般有單色、9 位、16 位、18 位,位數(shù)越多,顏色顯示越細(xì)膩。單片機(jī)常用 16 位格式,這種格式基本不影響顯示效果,而且驅(qū)動(dòng)連接和程序都非常容易實(shí)現(xiàn)。常用的格式是 RGB565,這個(gè)數(shù)字的意義是紅色(R)占前面 5 位,綠色(G)間 6 位,藍(lán))占后面 5 位。一共 16 位。使用 8 位單片機(jī)的時(shí)候需要連續(xù)輸出 2 次 8 位數(shù)據(jù)才能顯示 1 個(gè)像素的顏色

3、。彩屏尺寸:任何家電、使用的彩屏都是使用英制尺寸計(jì)量,是英寸,簡(jiǎn)稱吋。屏幕的大小是屏幕對(duì)角線的長(zhǎng)度。比如 2.4 吋, 表示 2.4 英寸, 換算成厘米:2.4x2.54cm=6.096cm。4、驅(qū)動(dòng)類型:彩屏驅(qū)動(dòng)是集成 TFT 玻璃表面,所以稱之為 COG(chip on glass ),一般的都集成所有以下接口類型:9 位并口、16 位并口、18 位并口、SPI 串口、RGB接口。但是在屏幕廠家制作的時(shí)候往往根據(jù)需要緊緊引出 12 種接口,用戶在使用之前需要更具需要選擇對(duì)應(yīng)的接口或者采取屏幕定制的方式。51 單片機(jī)是 8 位機(jī),建議采用 8 位并口,STM32 屬于ARM 核,32 位機(jī),

4、使用 16 位接口,SPI 端口是串行端口,使用數(shù)據(jù)線少,對(duì)總線速度要求高,當(dāng)前大部分彩屏都不使用這種驅(qū)動(dòng)方式,部分小尺寸小分辨率屏幕會(huì)使用這種通訊接口。RGB 適合 ARM9 以上的驅(qū)動(dòng),這種有大容量 RAM,所有的彩屏信息在 RAM 中暫存,通過(guò)RGB 接口不間斷刷新屏幕。el 的 8080 接口:這里以 8 位或者 16 位并口模式為例。一般的 lcd 簡(jiǎn)介當(dāng)中都會(huì)出現(xiàn)這么幾個(gè)詞,lcd 的接口為 16 位的 80 并口,那么16 位的 80 并口呢?其實(shí),80 并口全稱為 8080 并口協(xié)議是有,除 8080 接口協(xié)議外還有摩托羅拉的 6800 接公司口協(xié)議,其不同在于控制器,如下:8

5、080 是通過(guò)“讀使能(RE)”和“寫(xiě)使能(WE)”兩條控制線進(jìn)行讀寫(xiě)操作6800 是通過(guò)“總使能(E)”和“讀寫(xiě)選擇(W/R)”兩條控制線進(jìn)行很多 MCU 或者 LCD 模塊外部接口一般采用并行方式,并行接口接口線的讀寫(xiě)時(shí)序常見(jiàn)以下兩種模式:8080 模式,6800 模式。21.2. 電阻觸摸屏基本原理1.2.1.電阻屏基本原理電阻式觸摸屏是一種傳感器,它將矩形區(qū)域中觸摸點(diǎn)(X,Y)的物理位置轉(zhuǎn)換為代表 X 坐標(biāo)和Y 坐標(biāo)的電壓。很多 LCD 模塊都采用了電阻式觸摸屏,這種屏幕可以用四線、五線、七線或八線來(lái)產(chǎn)生屏幕偏置電壓,同時(shí)讀回觸摸點(diǎn)的電壓。單片機(jī)行業(yè)中常用 4 線觸摸屏,使用的觸屏數(shù)模

6、信息。圖 1-1 4 線電阻觸摸屏原理圖 1-2 4 線觸摸電阻屏結(jié)構(gòu)31.2.2.優(yōu)點(diǎn)電阻式觸摸屏的優(yōu)點(diǎn)是它的屏和控制系統(tǒng)都比較便宜,反應(yīng)靈敏度很好,而且不管是四線電阻觸摸屏還是五線電阻觸摸屏,它們都是一種對(duì)外界完全的工作環(huán)境,不怕灰塵和水汽,能適應(yīng)各種惡劣的環(huán)境。它可以用任何物體來(lái)觸摸,穩(wěn)定性能較好。缺點(diǎn)是電阻觸摸屏的外層薄膜容易被劃傷導(dǎo)致觸摸屏不可用,多層結(jié)構(gòu)會(huì)導(dǎo)致很大的光損失,對(duì)于手持設(shè)備通常需要加大背光源來(lái)彌補(bǔ)透光性不好電阻式觸摸屏的優(yōu)點(diǎn)可歸類為:,但這樣也會(huì)增加電池的消耗。電阻式觸控屏的精確度高,可到像素點(diǎn)的級(jí)別,適用的最大分辨率可達(dá) 4096x4096。屏幕不受灰塵、水汽和油污的

7、影響,可以在較低或較高溫度的環(huán)境下使用。電阻式觸控屏使用的是壓力感應(yīng),可以用任何物體來(lái)觸摸,即便是帶著手套也可以操作,并可以用來(lái)進(jìn)行手寫(xiě)識(shí)別。4. 電阻式觸控屏由于成技術(shù)和較低的門(mén)檻,成本較為廉價(jià)。1.2.3.缺點(diǎn)電阻式觸摸屏的缺點(diǎn)可歸類為:電阻式觸控屏能夠設(shè)計(jì)成多點(diǎn)觸控,但當(dāng)兩點(diǎn)同時(shí)受壓時(shí),屏幕的壓力變得不平衡,導(dǎo)致觸控出現(xiàn)誤差,因而多點(diǎn)觸控的實(shí)現(xiàn)程度較難。電阻式觸控屏較易因?yàn)閯潅葘?dǎo)致屏幕觸控部分受損。1.3. 電容觸摸屏基本原理1.3.1.電容屏基本知識(shí)電容式觸摸屏技術(shù)是利用的電流感應(yīng)進(jìn)行工作的。電容式觸摸屏是一塊四層復(fù)合玻璃屏,玻璃屏的內(nèi)表面和夾層各涂有一層 ITO,最外層是一薄層矽土

8、玻璃保護(hù)層,夾層 ITO涂層作為工作面,四個(gè)角上引出四個(gè)電極,內(nèi)層 ITO 為層以保證良好的工作環(huán)境。 當(dāng)手指觸摸在金屬層上時(shí),由于電場(chǎng),用戶和觸摸屏表面形成以一個(gè)耦合電容,對(duì)于高頻電流來(lái)說(shuō),電容是直接導(dǎo)體,于是手指從接觸點(diǎn)吸走一個(gè)很小的電流。這個(gè)電流分別從觸摸屏的四角上的電極中流出,并且流經(jīng)這四個(gè)電極的電流與手指到四角的距離成正比,控制器通過(guò)對(duì)這四個(gè)電流比例的精確計(jì)算,得出觸摸點(diǎn)的位置。1.3.2.優(yōu)點(diǎn)1.2.3.電容觸摸屏只需要觸摸,而不需要壓力來(lái)產(chǎn)生信號(hào)。電容觸摸屏在生產(chǎn)后只需要一次或者完全不需要校正,而電阻技術(shù)需要常規(guī)的校正。電容方案的會(huì)長(zhǎng)些,因?yàn)殡娙萦|摸屏中的不需任何移動(dòng)。電阻觸摸屏

9、中,上層的ITO 薄膜需要足夠薄才能有彈性,以便向下彎曲接觸到下面的 ITO 薄膜。電容技術(shù)在光損失和系統(tǒng)功耗上優(yōu)于電阻技術(shù)。4.45.選擇電容技術(shù)還是電阻技術(shù)主要取決于觸碰螢?zāi)坏奈矬w。如果是手指觸碰,電容觸摸屏是比較好的選擇。如果需要觸筆,不管是塑膠還是金屬的,電阻觸摸屏可以勝任。電容觸摸屏也可以使用觸筆,但是需要特制的觸筆來(lái)配合。表面電容式可以用于大尺寸觸摸屏,并且相成該也較低,但時(shí)下無(wú)法支持手勢(shì)識(shí)別:感應(yīng)電容式主要用于中小尺寸觸摸屏,并且可以支持手勢(shì)識(shí)別。6.7.電容式技術(shù)耐磨損、用可被進(jìn)一步降低。長(zhǎng),用戶使用時(shí)成本低,因此生產(chǎn)廠家的整體運(yùn)營(yíng)費(fèi)8.電容式觸摸屏就是可以支持多點(diǎn)觸控技術(shù),而

10、且不像電阻式觸摸屏反應(yīng)遲鈍并且不易磨損。1.3.3.缺點(diǎn)電容觸摸屏的透光率和清晰度優(yōu)于四線電阻屏,當(dāng)然還不能和表面聲波屏和五線電阻屏相比。電容屏反光嚴(yán)重,而且,電容技術(shù)的四層復(fù)合觸摸屏對(duì)各波長(zhǎng)光的透光率不均勻,存在色彩失真,由于光線在各層間的反射,還造成圖像字符的模糊。電流:電容屏在原理上把當(dāng)作一個(gè)電容器元件的一個(gè)電極使用,當(dāng)有導(dǎo)體靠近與夾層ITO 工作面之間耦合出足夠量容值的電容時(shí),流走的電流就足夠引起電容屏的誤動(dòng)作。電容值雖然與極間距離成反比,卻與相對(duì)面積成正比,并且還與介質(zhì)的的絕緣系數(shù)有關(guān)。因此,當(dāng)較大面積掌或手持的導(dǎo)體物靠近電容屏而不是觸摸時(shí)就能引起電容屏的誤動(dòng)作,在潮濕的天氣,這種情

11、況尤為嚴(yán)重,手扶住顯示器、手掌靠近顯示器 7 厘米以內(nèi)或身體靠近顯示器 15 厘米以內(nèi)就能引起電容屏的誤動(dòng)作。電容屏的另一個(gè)缺點(diǎn)用戴手套持不導(dǎo)電的物體觸摸時(shí)沒(méi)有反應(yīng),這是因?yàn)樵黾恿烁鼮榻^緣的介質(zhì)?;蚴制疲弘娙萜粮饕娜秉c(diǎn)是漂移:當(dāng)環(huán)境溫度、濕度改變時(shí),環(huán)境電場(chǎng)發(fā)生改變時(shí),都會(huì)引起電容屏的漂移,造成確。例如:開(kāi)機(jī)后顯示器溫度上升會(huì)造成漂移:用戶觸摸屏幕的同時(shí)另一只手或身體一側(cè)靠近顯示器會(huì)漂移;電容觸摸屏附近較大的物體搬移后會(huì)漂移,使用者觸摸 時(shí)如果有人圍過(guò)來(lái)也會(huì)引起漂移;電容屏的漂移原因?qū)儆诩夹g(shù)上的,環(huán)境電勢(shì)面(包括用戶的身體)雖然與電容觸摸屏離得較遠(yuǎn),卻比手指頭面積大的多,他們直接影響了觸

12、摸位置的測(cè)定。其他:此外,理論上許多應(yīng)該線性的關(guān)系實(shí)際上卻是非線性,如:體重不同或者手指濕潤(rùn)程度不同的人吸走的總電流量是不 同的,而總電流量的變化和四個(gè)分電流量的變化是非線性的關(guān)系,電容觸摸屏采用的這種四個(gè)角的自定義極坐標(biāo)系還沒(méi)有坐標(biāo)上的原點(diǎn),漂移后控制器不能察覺(jué)和恢 復(fù),而且,4 個(gè) A/D 完成后,由四個(gè)分流量的值到觸摸點(diǎn)在直角坐標(biāo)系上的 X、Y 坐標(biāo)值的計(jì)算過(guò)程復(fù)雜。由于沒(méi)有原點(diǎn),電容屏的漂移是累積的,在工作現(xiàn)場(chǎng)也經(jīng)常需要校準(zhǔn)。 電容觸摸屏最外面的矽土保護(hù)玻璃防刮擦性很好,但是怕指甲或硬物的敲擊,敲出一個(gè)小洞就會(huì)傷及夾層 ITO,不管是傷及夾層 ITO 還是安裝面ITO 層, 電容屏就不

13、能正常工作了。過(guò)程中傷及內(nèi)表51.4. SD 卡基本原理及應(yīng)用1.4.1.定義安全數(shù)碼卡,是一種基于半導(dǎo)體快閃器的新一代設(shè)備,它被廣泛地于便攜式裝置上使用,例如數(shù)碼相機(jī)、個(gè)人數(shù)碼助理(外語(yǔ)縮 寫(xiě)PDA)和多器等。SD 卡(Secure松下主導(dǎo)概念,Digital Memory Card)是一種基于半導(dǎo)體閃存工藝的卡,1999 年由參與者東芝和SanDisk 公司進(jìn)行實(shí)質(zhì)研發(fā)而完成。2000 年這幾家 公司發(fā)起成立了 SD(Secure Digital Assotion 簡(jiǎn)稱 SDA),陣容強(qiáng)大,吸引了大量廠商參加。其中包括 IBM,Motorola,NEC、Samsung 等。在這些廠商的推動(dòng)

14、下,SD 卡已成為目前消費(fèi)數(shù)碼設(shè)備中應(yīng)用最廣泛的一種卡。SD 卡具有大容量、高性能、安全等多種特點(diǎn)的多功能卡,它比 MMC 卡多了一個(gè)進(jìn)行數(shù)據(jù)著作權(quán)保護(hù)的暗號(hào)認(rèn)證功能(SDMI 規(guī)格),讀寫(xiě)速度比 MMC 卡要快 4 倍,達(dá) 2M/秒。1.4.2.基本結(jié)構(gòu)圖 1-3 SD 卡的外觀和功能圖 1-4 SD 卡數(shù)據(jù)含義6圖 1-5 SD 卡等級(jí)符號(hào)表 1-1 SD 卡級(jí)別分類SD 容量有 8MB、16MB、32MB、64MB、128MB、256MB、512MB、1GB、2GB SDHC 容量有 2GB 、4GB、8GB、16GB、32GBSDXC 容量有 32GB、48GB、64GB、128GB、

15、256GB、512GB、1TB、2TB表 1-2 SD 卡引腳定義SD 卡分為 2 種接口模式,SPI 和 SDIO 接口,前者通用,很多微處理器都可以連接,后者速度快,但需要接口,STM32 大容量單片機(jī)都包含 SDIO 接口。7針腳4 位 SD 模式1 位 SD 模式SPI 模式名稱描述名稱描述名稱描述1CD/DAT3卡監(jiān)測(cè)/數(shù)據(jù)位 3CD卡監(jiān)測(cè)CS選擇2CMD命令/回復(fù)CMD命令/回復(fù)DI數(shù)據(jù)輸入3VSS1地VSS1地VSS1地4VCC電源VCC電源VCC電源5CLK時(shí)鐘CLK時(shí)鐘CLK時(shí)鐘6VSS2地VSS2地VSS2地7DAT0數(shù)據(jù)位 0DAT數(shù)據(jù)位DO數(shù)據(jù)輸出8DAT1數(shù)據(jù)位 1R

16、SV保留RSV保留9DAT2數(shù)據(jù)位 2RSV保留RSV保留容量等級(jí)容量范圍磁盤(pán)格式SD上限至 2GBFAT 12, 16SDHC2GB 至 32GBFAT 32SDXC32GB 至 2TBexFAT1.5. 模塊電路圖模塊電路圖(參考,具體參考單獨(dú)電路圖文件)圖 1-6 TFTLCD 模塊電路圖1.6. 模塊實(shí)物圖圖 1-7 彩屏實(shí)物圖,正,參考,具體實(shí)物81.7. 接線說(shuō)明1.7.1.TFT 彩屏與單片機(jī)連接圖 1-8 液晶屏直接彩屏連接 LY-51S 接口定義12864 插座,箭頭處對(duì)齊表 1-3 彩屏連接 LY-51S 接口定義9序號(hào)LY-51STFT 模塊 J21P2.2CS2P2.1

17、RST3P2.4RS4P2.5WR5P2.6RD6P0DB0DB71.7.2.電阻觸摸屏與單片機(jī)連接,無(wú)此功能則不連接圖 1-9 彩屏與觸摸屏連接表 1-4 觸摸屏連接到開(kāi)發(fā)板對(duì)應(yīng)表程序后開(kāi)機(jī)會(huì)出現(xiàn)第一個(gè)校正光標(biāo),精確點(diǎn)擊矯正后會(huì)出現(xiàn)第二個(gè)校正光標(biāo),再次10序號(hào)LY-51STFT 模塊 J21P2.2CS2P2.1RST3P2.4RS4P2.5WR5P2.6RD6P0DB0DB7序號(hào)LY-51STFT 模塊 J11P1.0CLK2P1.1CS3P1.2DIN4不連接BUSY5P1.4DOUT6P1.5IRQ精確點(diǎn)擊,完成校正。然后可以在屏幕上畫(huà)圖,由于 51 速度限制,畫(huà)線速度不能太快,否則會(huì)

18、出現(xiàn)虛線、斷線。程序沒(méi)有提供任何識(shí)別功能。點(diǎn)擊右下角可以清屏,用于重新畫(huà)圖?;蛘甙磸?fù)位按鍵重新進(jìn)入程序校正。程序使用 2 點(diǎn)校正,算法簡(jiǎn)單但不夠精確,用戶可以自行編寫(xiě) 4 點(diǎn)或者 5 點(diǎn)校正,借用 uCGUI 中的觸摸算法,本手冊(cè)中不涉及。1.7.3.SD 卡與單片機(jī)連接圖 1-10 SD 卡功能連線實(shí)物圖表 1-5 LY-51S 連接彩屏及 SD 卡模塊11序號(hào)LY-51STFT 模塊 J21P2.2CS2P2.1RST3P2.4RS4P2.5WR5P2.6RD6P0DB0DB7序號(hào)LY-51STFT 模塊 J31P1.0DOUT2P1.1SCK3P1.2DIN4P1.3CS2. 配套2.1

19、. Image2lcd基本功能圖 2-1轉(zhuǎn)為二進(jìn)制數(shù)據(jù) 112圖 2-2轉(zhuǎn)為二進(jìn)制數(shù)據(jù) 2圖 2-3轉(zhuǎn)為二進(jìn)制數(shù)據(jù) 313圖 2-4轉(zhuǎn)為 c 語(yǔ)言數(shù)組圖 2-5 本可以將轉(zhuǎn)為 BMP 等類型,方便單片機(jī)處理14圖 2-6可以輸出各種灰度或者信息圖 2-7可以實(shí)現(xiàn)水平掃描或者垂直掃描152.2. Winhex基本功能,不同大小 SD和不同大小彩屏數(shù)字不相同圖 2-8點(diǎn)擊“工具”“打開(kāi)磁盤(pán)”圖 2-9 winhex 查看文件的首地址16圖 2-10 包括物理地址、邏輯地址、內(nèi)存大小等信息3. 單片機(jī)程序編程思路3.1. TFT 彩屏基本顯示彩屏的驅(qū)動(dòng)程序與普通的液晶屏,如 1602、12864 等

20、基本相同,普通的單色屏一般是 8位數(shù)據(jù),使用于大多數(shù)的 8 位單片機(jī),彩屏主流是 16 位數(shù)據(jù),適合 ARM 以上驅(qū)動(dòng),大部分彩屏的控制本身都兼容 8 位、9 位、16 位、18 位、SPI 以及 RGB 接口。只是部分接口并未引出。由于 51 單片機(jī)是 8 位,此時(shí)需要彩屏具有 8 位接口,當(dāng)然也可以操作 16位接口,需要在硬件上增加分時(shí)操作,對(duì)應(yīng) 51 類型的單片機(jī)來(lái)說(shuō),后者復(fù)雜、成本高。下面把基本的時(shí)序函數(shù)列出來(lái):寫(xiě)指令函數(shù):17voidm(u16 i)/寫(xiě)指令LCD_CS=0;LCD_RD=1; LCD_RS=0;寫(xiě)數(shù)據(jù)函數(shù)讀數(shù)據(jù)函數(shù)18u16 ReadData(u16 addr)/讀

21、數(shù)據(jù)u8 dataH,dataL;m(addr);DBH = 0 xff;LCD_CS=0; LCD_WR=1; LCD_RS=1;DBH = 0 xff; LCD_RD=0;dataH = DBH;void WriteData(u16 i)/寫(xiě)數(shù)據(jù)LCD_CS=0;LCD_RD=1; LCD_RS=1;DBH=i8; LCD_WR=0; LCD_WR=1;DBH=i; LCD_WR=0; LCD_WR=1;LCD_CS=1;DBH=i8; LCD_WR=0; LCD_WR=1;DBH=i; LCD_WR=0; LCD_WR=1;LCD_CS=1;上述就是基本數(shù)據(jù)控制程序,包含寫(xiě)寄存器、寫(xiě)數(shù)據(jù)

22、、讀數(shù)據(jù)。其他的所有后續(xù)的程序都是在此基礎(chǔ)上操作。屏幕有許多寄存器,初始化的時(shí)候需要設(shè)置這些寄存器以達(dá)到相應(yīng)的功能或者發(fā)揮最佳效能。不同的主控初始化程序也不相同,初始化程序是彩屏的關(guān)鍵部分,很多初次使用彩屏的朋友都會(huì)在這個(gè)部分出現(xiàn)問(wèn)題。彩屏初始化需要注意以下2 點(diǎn):1、復(fù)位信號(hào)。一般彩屏是低電平復(fù)位,而 51 單片機(jī)是復(fù)位,所以在不增加硬件的基礎(chǔ)上不能直接共用復(fù)位。其他的單片機(jī)都可以把彩屏復(fù)位與系統(tǒng)復(fù)位連接一起,這樣復(fù)位穩(wěn)定,不易出現(xiàn)問(wèn)題。保證彩屏有效的復(fù)位才能進(jìn)行下一步操作。51 單片機(jī)使用 I/O 口控制彩屏的復(fù)位引腳,以達(dá)到復(fù)位目的。所以要求復(fù)位有足夠的時(shí)長(zhǎng)保證其有效。寄存器組設(shè)置。由于

23、彩屏的寄存器比一般的顯示器件要多很多,大部分的2、寄存器初始化都是有彩屏廠家校準(zhǔn)后提供。在單片機(jī)行業(yè),彩屏的應(yīng)用范圍相對(duì)較少,廠家提供的資料大多不全面。這樣也是導(dǎo)致很多用戶不能順利使用的主要原因。單片機(jī)控制彩屏要比日常使用的民用產(chǎn)品很多,相關(guān)的資料也比較少。關(guān)于這部分一般不建議自己書(shū)寫(xiě),直接移植廠家或者商家提供的程序。上述 2 點(diǎn)順利完成后,就可以對(duì)彩屏進(jìn)行寫(xiě)數(shù)據(jù)操作。最基本的測(cè)試是刷屏,就是把一個(gè)屏幕充滿同一種顏色。這個(gè)測(cè)試可以測(cè)試以下 3 點(diǎn):1、 屏幕分辨率。正確刷完一屏顏色,如果程序設(shè)置正確,整個(gè)屏幕應(yīng)該沒(méi)有邊緣遺漏等問(wèn)題。如果邊緣數(shù)行數(shù)列有沒(méi)有寫(xiě)到的地方,可能是分辨率不對(duì)應(yīng)。2、 顏

24、色正確。通過(guò)刷屏可以分辨顏色是否正確。按照 RGB565 的格式刷屏,確認(rèn)顏色正確性,如果顏色有色差,一般有 2 種問(wèn)題,一是初始化寄存器設(shè)置錯(cuò)誤,二是屏幕本身質(zhì)量較差。3、 是否有壞點(diǎn)。刷屏是以像素為操作,理論上屏幕的每個(gè)點(diǎn)都會(huì)出現(xiàn)對(duì)應(yīng)的顏色,如果中間有 1 個(gè)或者數(shù)個(gè)像素不顯示,說(shuō)明這些是壞點(diǎn)。下面列出清屏函數(shù)19/*-清屏函數(shù)-*/void ClearScreen(u16 bColor)u16 i,j;LCD_RD=1;DBH = 0 xff; LCD_RD=0;dataL = DBH; LCD_RD=1;LCD_CS=1;return (dataH8)|dataL;程序解讀:程序分為

25、2 個(gè)部分,第一部分是設(shè)置坐標(biāo),相當(dāng)于設(shè)置一個(gè)矩形框,最大值過(guò)屏幕的顯示區(qū)域,比如分辨率是 240 x320,上述的參數(shù)應(yīng)是:X 方向 0239,Y 方向 0319,這個(gè)函數(shù)了刷屏的范圍。第二部是循環(huán)寫(xiě)入數(shù)據(jù),循環(huán)分為內(nèi)循環(huán)和外循環(huán),先掃描第一行,再掃描第二行,一直到最后一行?;竞瘮?shù)就講這些,其他的函數(shù)都是在此基礎(chǔ)上衍生出來(lái)的,用戶自行分析。彩屏本身是一張畫(huà)布,任何信息在彩屏上都能顯示,可以從任意位置開(kāi)始,也可以從任意位置結(jié)束。不存在其他的屏幕中的各種限制。任何一個(gè)像素點(diǎn)都能顯示 216 種顏色,每個(gè)點(diǎn)都是完全獨(dú)立操作的,所以可以這么說(shuō),彩屏的顯示是萬(wàn)能的。3.2. 漢字顯示原理寫(xiě)漢字之前需

26、要了解漢字的結(jié)構(gòu),與英語(yǔ)字符和數(shù)字方法相同,都是畫(huà)矩形的圖形,數(shù)字無(wú)非是 09,英文字母是 az 和AZ,數(shù)量非常少,只需要把這寫(xiě)基礎(chǔ)的字符點(diǎn)陣信息存儲(chǔ)起來(lái),需要用的時(shí)候直接調(diào)用并組合程序單詞即可。漢字的數(shù)量非常多,如果都存下來(lái)一般的單片機(jī)容量不夠。所以寫(xiě)漢字有 2 種常用方法:一是自己造字庫(kù),這種方法時(shí)候漢字?jǐn)?shù)量非常少的場(chǎng)合,通過(guò)自定義的字庫(kù)和擺放規(guī)律進(jìn)行按需調(diào)取點(diǎn)陣信息。二是使用字庫(kù),這種取點(diǎn)陣信息。已經(jīng)好多種字體和大小的漢字,通過(guò)內(nèi)碼和字庫(kù)約定的方式讀一般數(shù)字和字母使用 8x16 點(diǎn)陣結(jié)構(gòu),但漢字最低需要 16x16 點(diǎn)陣,寫(xiě)漢字就是在 16x16的正方形內(nèi)畫(huà)點(diǎn),需要顯示的部分寫(xiě)成前景色

27、,不需要顯示的部分寫(xiě)成背景色,就完成漢字顯示的目的。這個(gè)和其他的屏幕是完全一樣的,不同的是這里的漢字可以是任意顏色,背景也可以是任意顏色。這里只說(shuō)了常用的 16x16 的字體,其他大小的字體還需要單獨(dú)造字庫(kù)。下面是英文及漢字部分的程序:20/*-寫(xiě) 8x16 字符函數(shù)-*/#include 8X16.hvoid LCD_Phar8x16(unsigned short x, unsigned short y, char c, u16 fColor, u16 bColor)u16 i,j;LCD_Set(x,x+8-1,y,y+16-1);for(i=0; i16;i+) u8 m=Font8x1

28、6c*16+i; for(j=0;j8;j+) if(m&0 x80)=0 x80) LCD_Set(0,X_MAX-1,0,Y_MAX-1);/for (i=0;iY_MAX;i+)for (j=0;jX_MAX;j+) WriteData(bColor);3.3. 觸摸功能編程思路觸摸屏與彩屏是分開(kāi)的,他們相互獨(dú)立,觸摸屏簡(jiǎn)稱 TP,TP 直接覆蓋在 TFT 屏幕上面,這樣他們直接就建立一種聯(lián)系,坐標(biāo)是相同的,通過(guò)校正觸摸屏,實(shí)現(xiàn) TP 和TFT 的坐21WriteData(fColor);else WriteData(bColor); m=1;/*-寫(xiě) 16x16 漢字函數(shù)-*/#inc

29、lude GB1616.h /16*16 漢字字模void PutGB1616(unsigned short x, unsigned short y, u8 c2, u16 fColor,u16 bColor)u16 i,j,k;LCD_Set(x, x+16-1,y, y+16-1);for (k=0;k64;k+) /64 標(biāo)示自建漢字庫(kù)中的個(gè)數(shù),循環(huán)查詢內(nèi)碼 if(codeGB_16k.Index0=c0)&(codeGB_16k.Index1=c1) for(i=0;i32;i+) unsigned short m=codeGB_16k.Mski; for(j=0;j8;j+) if(

30、m&0 x80)=0 x80) WriteData(fColor);else WriteData(bColor); m=1;實(shí)現(xiàn)屏幕觸摸功能。TP 的有效尺寸比 TFT 大,這樣才能保證每個(gè)點(diǎn)標(biāo)完全一致,都能有效。常用的電阻觸摸屏是ADS7843,XTP2046 等,這是 12 位的AD 轉(zhuǎn)換器,SPI接口,帶有中斷引腳功能。啟動(dòng) AD 轉(zhuǎn)換功能X 方向和 Y 方向的模擬量,然后根據(jù)比例公式計(jì)算出觸摸的位置。觸屏的關(guān)鍵部分是校正,觸屏使用時(shí)間過(guò)長(zhǎng)也會(huì)導(dǎo)致位置偏移,需要重新校正,完善的校正程序使用 4 點(diǎn)或者 5 點(diǎn)校。本樣例僅用 2 點(diǎn)校正驗(yàn)證觸屏的基本功能,其他方法暫不提及。下面列出畫(huà)校正點(diǎn)

31、的程序,校正的程序請(qǐng)自行分析,或者借鑒經(jīng)典的uCGUI 的校正方法。3.4.顯示編程(大容量單片機(jī))由于占用空間大,一般的 51 單片機(jī)以直接一個(gè)整屏。假設(shè)分辨率240 x320,樣例程序使用 16bit 表示一個(gè)點(diǎn)顏色,格式 565。240 x320 x2=153600 字節(jié),即 150K,如果完整寫(xiě)一幅,假設(shè)程序運(yùn)行最小需要 5K ROM,則最低需要 155K ROM 容量,顯然 51 系列單片機(jī)是不夠的(最大ROM 64K),所以可以通過(guò)小圖標(biāo)來(lái)并通過(guò)程序顯示到彩需要 SD 或者其他大容量 Flash學(xué)習(xí)驗(yàn)證顯示功能,下面以。不能直接顯示大型的商標(biāo)為例講解如果處理,的商標(biāo)尺寸為 150

32、x60 像素,通過(guò)公式計(jì)算,150 x60 x2=18000,18000/102417.6K,屏至少需要 20K ROM 單片機(jī)。22ClearScreen(BColor); /清屏 ADS7846_Initial(); /初始化觸摸Rectangle(1,9,19,11,FColor); /在這個(gè)坐標(biāo)畫(huà)點(diǎn),矯正用,坐標(biāo)Rectangle(9,1,11,19,FColor); while(ads7846_IRQ);/等待觸摸中斷信號(hào)x1=GUI_TOUCH_X_MeasureX(); /該點(diǎn)的觸摸值y1=GUI_TOUCH_X_MeasureY();Rectangle(1,9,19,11,BC

33、olor); Rectangle(9,1,11,19,BColor); /清除這個(gè)點(diǎn),并準(zhǔn)備畫(huà)下一個(gè)點(diǎn) while(!ads7846_IRQ);/等待離開(kāi)觸摸屏,防止干擾下一個(gè)點(diǎn) Rectangle(X_MAX-19,Y_MAX-11,X_MAX-1,Y_MAX-9,FColor);Rectangle(X_MAX-11,Y_MAX-19,X_MAX-9,Y_MAX-1,FColor);/畫(huà)第二個(gè)點(diǎn) while(ads7846_IRQ);/等待觸摸中斷信號(hào)x2=GUI_TOUCH_X_MeasureX(); /該點(diǎn)觸摸值y2=GUI_TOUCH_X_MeasureY();Rectangle(X_

34、MAX-19,Y_MAX-11,X_MAX-1,Y_MAX-9,BColor);Rectangle(X_MAX-11,Y_MAX-19,X_MAX-9,Y_MAX-1,BColor);/清除第二個(gè)點(diǎn) delayms(200);/延時(shí)圖 3-1 選擇對(duì)應(yīng)參數(shù)轉(zhuǎn)為 c 語(yǔ)言數(shù)組圖 3-2 保存為對(duì)應(yīng)的 c 文件23圖 3-3 打開(kāi) c 文件文本內(nèi)容圖 3-4 粘貼到工程中 LCD 相關(guān)的 c 文件中24圖 3-5 修改關(guān)鍵字與數(shù)組名稱、類型等參數(shù)直接拷貝的數(shù)組需要修改一些參數(shù):1、 const 改為 code :這里僅在 51 單片機(jī)中有效,其他的單片機(jī)不用更改。2、 數(shù)組名稱修改為簡(jiǎn)單的 pic

35、:原來(lái)的名稱中包含中文,不支持,而且不容易。3、 1 維數(shù)組改為 2 維數(shù)組:方便寫(xiě)程序。不同的分辨率請(qǐng)自行修改,舉例如下:150 x60節(jié)數(shù)據(jù)分別,表示有 60 行,每行有 150 個(gè)像素,其中每個(gè)像素的顏色是由 2 個(gè)字,因?yàn)樵谔幚淼臅r(shí)候選擇了 16 位真彩,如果使用其他位數(shù),這里的數(shù)據(jù)也會(huì)有相應(yīng)的變化。改為二維數(shù)組的大小為 pic60150 x2,有了二維數(shù)組,數(shù)據(jù)的時(shí)候在程序中需要計(jì)算的數(shù)據(jù)變少,可以提高單片機(jī)的執(zhí)行速度。圖 3-6 顯示部分函數(shù)程序部分說(shuō)明:首先定義 2 個(gè)變量x、y,定義為無(wú)符號(hào)整形,最大值 65535,如果使用字符型,最大只有 255,一些大分辨率的屏幕刷圖時(shí)會(huì)出

36、錯(cuò)。然后設(shè)定刷圖矩形區(qū)域,緊接著就是在這個(gè)區(qū)域中連續(xù)寫(xiě)入讀出的數(shù)據(jù)。由于使用水平取模,所以掃描顯示的時(shí)候也是一行一行掃描顯示,150 就作為內(nèi)循環(huán),60 作為外循環(huán),刷新完一行再刷新下一行,直到60 行全部刷新完成。寫(xiě)字節(jié)中需要先寫(xiě)后面的字節(jié),再寫(xiě)前面的字節(jié),低 8 位先,高 8位后。這個(gè)順序可以通過(guò)取模的設(shè)置進(jìn)行修改。這個(gè)程序僅能顯示固定參數(shù)的,的尺寸變化,這里的 2 個(gè)循環(huán)的數(shù)據(jù)也需要修改。25圖 3-7顯示效果圖263.5. SD 卡讀編程思路(無(wú) FAT 系統(tǒng))圖 3-8 通過(guò)轉(zhuǎn)為為二進(jìn)制文件并到 SD 卡之前需要格式化 SD 卡,由于本樣例沒(méi)有使用 fat 或者 fat32 系統(tǒng)操作

37、,故不能識(shí)別位置,格式化 SD 卡后,存入的是按照順序排列的,沒(méi)有碎片,然后通過(guò) winhex之間的位置間隔,就可以實(shí)現(xiàn)連續(xù)刷新。上圖有 3 個(gè)重要尋找的首地址和參數(shù)需要和與彩屏參數(shù)一致,否則可能不能正確顯示1、 輸出數(shù)據(jù)類型:二進(jìn)制。2、 最大寬度和高度:的真實(shí)分辨率??刹煌诓势练直媛?,如果小于彩屏分辨率,顯示的時(shí)候仍然正常,不過(guò)不能鋪滿整個(gè)屏幕。3、 16 位數(shù)據(jù)格式:默認(rèn)使用 565 格式。一般無(wú)需改動(dòng)。27圖 3-9 winhex 查看 SD 卡中文件信息上圖有幾個(gè)重要參數(shù)需要了解:1、 點(diǎn)擊對(duì)應(yīng)的文件,藍(lán)色一行表示正在查看的文件,后面有大小、時(shí)間、屬性、扇區(qū)等信息。2、 這個(gè)扇區(qū)是邏輯扇區(qū)地址,在此程序中,2

溫馨提示

  • 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)論