




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、帶 SD 卡功能 TFT 真參考資料版本日期內(nèi)容備注V1.02015/10/18無部分屏幕無觸摸功能User Manual1. 硬件結(jié)構(gòu)1.1. TFT 彩屏原理與應(yīng)用范圍TFT 是指液晶顯示器上的每一液晶像素點都是由集成在其后的薄膜晶體管來驅(qū)動。從而可以做到高速度高亮度高對比度顯示屏幕信息,TFT-LCD(薄膜晶體管液晶顯示器)是多數(shù)液晶顯示器的一種。單片機用彩屏的基本信息:分辨率:常用 320 x240,當(dāng)前主流或者平板的分辨率是 1920 x1200,分辨率是硬件決定的,制造的時候就定型完成。以 320 x240 為例,tft 總像素數(shù)=320 x240=76800 個,單片機寫入信息按
2、照像素位操作,刷完一個整屏幕需要寫入 76800 次信息,分辨率越大,刷新的速度要求越高。由于一般單片機的速度限制,不適合整屏幕刷新,可以使用局部更新數(shù)據(jù)。顏色格式:TFT 每個像素都可以獨立顯示任何顏色,顯示顏色的總數(shù)取決于總線寬度,一般有單色、9 位、16 位、18 位,位數(shù)越多,顏色顯示越細(xì)膩。單片機常用 16 位格式,這種格式基本不影響顯示效果,而且驅(qū)動連接和程序都非常容易實現(xiàn)。常用的格式是 RGB565,這個數(shù)字的意義是紅色(R)占前面 5 位,綠色(G)間 6 位,藍(lán))占后面 5 位。一共 16 位。使用 8 位單片機的時候需要連續(xù)輸出 2 次 8 位數(shù)據(jù)才能顯示 1 個像素的顏色
3、。彩屏尺寸:任何家電、使用的彩屏都是使用英制尺寸計量,是英寸,簡稱吋。屏幕的大小是屏幕對角線的長度。比如 2.4 吋, 表示 2.4 英寸, 換算成厘米:2.4x2.54cm=6.096cm。4、驅(qū)動類型:彩屏驅(qū)動是集成 TFT 玻璃表面,所以稱之為 COG(chip on glass ),一般的都集成所有以下接口類型:9 位并口、16 位并口、18 位并口、SPI 串口、RGB接口。但是在屏幕廠家制作的時候往往根據(jù)需要緊緊引出 12 種接口,用戶在使用之前需要更具需要選擇對應(yīng)的接口或者采取屏幕定制的方式。51 單片機是 8 位機,建議采用 8 位并口,STM32 屬于ARM 核,32 位機,
4、使用 16 位接口,SPI 端口是串行端口,使用數(shù)據(jù)線少,對總線速度要求高,當(dāng)前大部分彩屏都不使用這種驅(qū)動方式,部分小尺寸小分辨率屏幕會使用這種通訊接口。RGB 適合 ARM9 以上的驅(qū)動,這種有大容量 RAM,所有的彩屏信息在 RAM 中暫存,通過RGB 接口不間斷刷新屏幕。el 的 8080 接口:這里以 8 位或者 16 位并口模式為例。一般的 lcd 簡介當(dāng)中都會出現(xiàn)這么幾個詞,lcd 的接口為 16 位的 80 并口,那么16 位的 80 并口呢?其實,80 并口全稱為 8080 并口協(xié)議是有,除 8080 接口協(xié)議外還有摩托羅拉的 6800 接公司口協(xié)議,其不同在于控制器,如下:8
5、080 是通過“讀使能(RE)”和“寫使能(WE)”兩條控制線進行讀寫操作6800 是通過“總使能(E)”和“讀寫選擇(W/R)”兩條控制線進行很多 MCU 或者 LCD 模塊外部接口一般采用并行方式,并行接口接口線的讀寫時序常見以下兩種模式:8080 模式,6800 模式。21.2. 電阻觸摸屏基本原理1.2.1.電阻屏基本原理電阻式觸摸屏是一種傳感器,它將矩形區(qū)域中觸摸點(X,Y)的物理位置轉(zhuǎn)換為代表 X 坐標(biāo)和Y 坐標(biāo)的電壓。很多 LCD 模塊都采用了電阻式觸摸屏,這種屏幕可以用四線、五線、七線或八線來產(chǎn)生屏幕偏置電壓,同時讀回觸摸點的電壓。單片機行業(yè)中常用 4 線觸摸屏,使用的觸屏數(shù)模
6、信息。圖 1-1 4 線電阻觸摸屏原理圖 1-2 4 線觸摸電阻屏結(jié)構(gòu)31.2.2.優(yōu)點電阻式觸摸屏的優(yōu)點是它的屏和控制系統(tǒng)都比較便宜,反應(yīng)靈敏度很好,而且不管是四線電阻觸摸屏還是五線電阻觸摸屏,它們都是一種對外界完全的工作環(huán)境,不怕灰塵和水汽,能適應(yīng)各種惡劣的環(huán)境。它可以用任何物體來觸摸,穩(wěn)定性能較好。缺點是電阻觸摸屏的外層薄膜容易被劃傷導(dǎo)致觸摸屏不可用,多層結(jié)構(gòu)會導(dǎo)致很大的光損失,對于手持設(shè)備通常需要加大背光源來彌補透光性不好電阻式觸摸屏的優(yōu)點可歸類為:,但這樣也會增加電池的消耗。電阻式觸控屏的精確度高,可到像素點的級別,適用的最大分辨率可達(dá) 4096x4096。屏幕不受灰塵、水汽和油污的
7、影響,可以在較低或較高溫度的環(huán)境下使用。電阻式觸控屏使用的是壓力感應(yīng),可以用任何物體來觸摸,即便是帶著手套也可以操作,并可以用來進行手寫識別。4. 電阻式觸控屏由于成技術(shù)和較低的門檻,成本較為廉價。1.2.3.缺點電阻式觸摸屏的缺點可歸類為:電阻式觸控屏能夠設(shè)計成多點觸控,但當(dāng)兩點同時受壓時,屏幕的壓力變得不平衡,導(dǎo)致觸控出現(xiàn)誤差,因而多點觸控的實現(xiàn)程度較難。電阻式觸控屏較易因為劃傷等導(dǎo)致屏幕觸控部分受損。1.3. 電容觸摸屏基本原理1.3.1.電容屏基本知識電容式觸摸屏技術(shù)是利用的電流感應(yīng)進行工作的。電容式觸摸屏是一塊四層復(fù)合玻璃屏,玻璃屏的內(nèi)表面和夾層各涂有一層 ITO,最外層是一薄層矽土
8、玻璃保護層,夾層 ITO涂層作為工作面,四個角上引出四個電極,內(nèi)層 ITO 為層以保證良好的工作環(huán)境。 當(dāng)手指觸摸在金屬層上時,由于電場,用戶和觸摸屏表面形成以一個耦合電容,對于高頻電流來說,電容是直接導(dǎo)體,于是手指從接觸點吸走一個很小的電流。這個電流分別從觸摸屏的四角上的電極中流出,并且流經(jīng)這四個電極的電流與手指到四角的距離成正比,控制器通過對這四個電流比例的精確計算,得出觸摸點的位置。1.3.2.優(yōu)點1.2.3.電容觸摸屏只需要觸摸,而不需要壓力來產(chǎn)生信號。電容觸摸屏在生產(chǎn)后只需要一次或者完全不需要校正,而電阻技術(shù)需要常規(guī)的校正。電容方案的會長些,因為電容觸摸屏中的不需任何移動。電阻觸摸屏
9、中,上層的ITO 薄膜需要足夠薄才能有彈性,以便向下彎曲接觸到下面的 ITO 薄膜。電容技術(shù)在光損失和系統(tǒng)功耗上優(yōu)于電阻技術(shù)。4.45.選擇電容技術(shù)還是電阻技術(shù)主要取決于觸碰螢?zāi)坏奈矬w。如果是手指觸碰,電容觸摸屏是比較好的選擇。如果需要觸筆,不管是塑膠還是金屬的,電阻觸摸屏可以勝任。電容觸摸屏也可以使用觸筆,但是需要特制的觸筆來配合。表面電容式可以用于大尺寸觸摸屏,并且相成該也較低,但時下無法支持手勢識別:感應(yīng)電容式主要用于中小尺寸觸摸屏,并且可以支持手勢識別。6.7.電容式技術(shù)耐磨損、用可被進一步降低。長,用戶使用時成本低,因此生產(chǎn)廠家的整體運營費8.電容式觸摸屏就是可以支持多點觸控技術(shù),而
10、且不像電阻式觸摸屏反應(yīng)遲鈍并且不易磨損。1.3.3.缺點電容觸摸屏的透光率和清晰度優(yōu)于四線電阻屏,當(dāng)然還不能和表面聲波屏和五線電阻屏相比。電容屏反光嚴(yán)重,而且,電容技術(shù)的四層復(fù)合觸摸屏對各波長光的透光率不均勻,存在色彩失真,由于光線在各層間的反射,還造成圖像字符的模糊。電流:電容屏在原理上把當(dāng)作一個電容器元件的一個電極使用,當(dāng)有導(dǎo)體靠近與夾層ITO 工作面之間耦合出足夠量容值的電容時,流走的電流就足夠引起電容屏的誤動作。電容值雖然與極間距離成反比,卻與相對面積成正比,并且還與介質(zhì)的的絕緣系數(shù)有關(guān)。因此,當(dāng)較大面積掌或手持的導(dǎo)體物靠近電容屏而不是觸摸時就能引起電容屏的誤動作,在潮濕的天氣,這種情
11、況尤為嚴(yán)重,手扶住顯示器、手掌靠近顯示器 7 厘米以內(nèi)或身體靠近顯示器 15 厘米以內(nèi)就能引起電容屏的誤動作。電容屏的另一個缺點用戴手套持不導(dǎo)電的物體觸摸時沒有反應(yīng),這是因為增加了更為絕緣的介質(zhì)?;蚴制疲弘娙萜粮饕娜秉c是漂移:當(dāng)環(huán)境溫度、濕度改變時,環(huán)境電場發(fā)生改變時,都會引起電容屏的漂移,造成確。例如:開機后顯示器溫度上升會造成漂移:用戶觸摸屏幕的同時另一只手或身體一側(cè)靠近顯示器會漂移;電容觸摸屏附近較大的物體搬移后會漂移,使用者觸摸 時如果有人圍過來也會引起漂移;電容屏的漂移原因?qū)儆诩夹g(shù)上的,環(huán)境電勢面(包括用戶的身體)雖然與電容觸摸屏離得較遠(yuǎn),卻比手指頭面積大的多,他們直接影響了觸
12、摸位置的測定。其他:此外,理論上許多應(yīng)該線性的關(guān)系實際上卻是非線性,如:體重不同或者手指濕潤程度不同的人吸走的總電流量是不 同的,而總電流量的變化和四個分電流量的變化是非線性的關(guān)系,電容觸摸屏采用的這種四個角的自定義極坐標(biāo)系還沒有坐標(biāo)上的原點,漂移后控制器不能察覺和恢 復(fù),而且,4 個 A/D 完成后,由四個分流量的值到觸摸點在直角坐標(biāo)系上的 X、Y 坐標(biāo)值的計算過程復(fù)雜。由于沒有原點,電容屏的漂移是累積的,在工作現(xiàn)場也經(jīng)常需要校準(zhǔn)。 電容觸摸屏最外面的矽土保護玻璃防刮擦性很好,但是怕指甲或硬物的敲擊,敲出一個小洞就會傷及夾層 ITO,不管是傷及夾層 ITO 還是安裝面ITO 層, 電容屏就不
13、能正常工作了。過程中傷及內(nèi)表51.4. SD 卡基本原理及應(yīng)用1.4.1.定義安全數(shù)碼卡,是一種基于半導(dǎo)體快閃器的新一代設(shè)備,它被廣泛地于便攜式裝置上使用,例如數(shù)碼相機、個人數(shù)碼助理(外語縮 寫PDA)和多器等。SD 卡(Secure松下主導(dǎo)概念,Digital Memory Card)是一種基于半導(dǎo)體閃存工藝的卡,1999 年由參與者東芝和SanDisk 公司進行實質(zhì)研發(fā)而完成。2000 年這幾家 公司發(fā)起成立了 SD(Secure Digital Assotion 簡稱 SDA),陣容強大,吸引了大量廠商參加。其中包括 IBM,Motorola,NEC、Samsung 等。在這些廠商的推動
14、下,SD 卡已成為目前消費數(shù)碼設(shè)備中應(yīng)用最廣泛的一種卡。SD 卡具有大容量、高性能、安全等多種特點的多功能卡,它比 MMC 卡多了一個進行數(shù)據(jù)著作權(quán)保護的暗號認(rèn)證功能(SDMI 規(guī)格),讀寫速度比 MMC 卡要快 4 倍,達(dá) 2M/秒。1.4.2.基本結(jié)構(gòu)圖 1-3 SD 卡的外觀和功能圖 1-4 SD 卡數(shù)據(jù)含義6圖 1-5 SD 卡等級符號表 1-1 SD 卡級別分類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 大容量單片機都包含 SDIO 接口。7針腳4 位 SD 模式1 位 SD 模式SPI 模式名稱描述名稱描述名稱描述1CD/DAT3卡監(jiān)測/數(shù)據(jù)位 3CD卡監(jiān)測CS選擇2CMD命令/回復(fù)CMD命令/回復(fù)DI數(shù)據(jù)輸入3VSS1地VSS1地VSS1地4VCC電源VCC電源VCC電源5CLK時鐘CLK時鐘CLK時鐘6VSS2地VSS2地VSS2地7DAT0數(shù)據(jù)位 0DAT數(shù)據(jù)位DO數(shù)據(jù)輸出8DAT1數(shù)據(jù)位 1R
16、SV保留RSV保留9DAT2數(shù)據(jù)位 2RSV保留RSV保留容量等級容量范圍磁盤格式SD上限至 2GBFAT 12, 16SDHC2GB 至 32GBFAT 32SDXC32GB 至 2TBexFAT1.5. 模塊電路圖模塊電路圖(參考,具體參考單獨電路圖文件)圖 1-6 TFTLCD 模塊電路圖1.6. 模塊實物圖圖 1-7 彩屏實物圖,正,參考,具體實物81.7. 接線說明1.7.1.TFT 彩屏與單片機連接圖 1-8 液晶屏直接彩屏連接 LY-51S 接口定義12864 插座,箭頭處對齊表 1-3 彩屏連接 LY-51S 接口定義9序號LY-51STFT 模塊 J21P2.2CS2P2.1
17、RST3P2.4RS4P2.5WR5P2.6RD6P0DB0DB71.7.2.電阻觸摸屏與單片機連接,無此功能則不連接圖 1-9 彩屏與觸摸屏連接表 1-4 觸摸屏連接到開發(fā)板對應(yīng)表程序后開機會出現(xiàn)第一個校正光標(biāo),精確點擊矯正后會出現(xiàn)第二個校正光標(biāo),再次10序號LY-51STFT 模塊 J21P2.2CS2P2.1RST3P2.4RS4P2.5WR5P2.6RD6P0DB0DB7序號LY-51STFT 模塊 J11P1.0CLK2P1.1CS3P1.2DIN4不連接BUSY5P1.4DOUT6P1.5IRQ精確點擊,完成校正。然后可以在屏幕上畫圖,由于 51 速度限制,畫線速度不能太快,否則會
18、出現(xiàn)虛線、斷線。程序沒有提供任何識別功能。點擊右下角可以清屏,用于重新畫圖。或者按復(fù)位按鍵重新進入程序校正。程序使用 2 點校正,算法簡單但不夠精確,用戶可以自行編寫 4 點或者 5 點校正,借用 uCGUI 中的觸摸算法,本手冊中不涉及。1.7.3.SD 卡與單片機連接圖 1-10 SD 卡功能連線實物圖表 1-5 LY-51S 連接彩屏及 SD 卡模塊11序號LY-51STFT 模塊 J21P2.2CS2P2.1RST3P2.4RS4P2.5WR5P2.6RD6P0DB0DB7序號LY-51STFT 模塊 J31P1.0DOUT2P1.1SCK3P1.2DIN4P1.3CS2. 配套2.1
19、. Image2lcd基本功能圖 2-1轉(zhuǎn)為二進制數(shù)據(jù) 112圖 2-2轉(zhuǎn)為二進制數(shù)據(jù) 2圖 2-3轉(zhuǎn)為二進制數(shù)據(jù) 313圖 2-4轉(zhuǎn)為 c 語言數(shù)組圖 2-5 本可以將轉(zhuǎn)為 BMP 等類型,方便單片機處理14圖 2-6可以輸出各種灰度或者信息圖 2-7可以實現(xiàn)水平掃描或者垂直掃描152.2. Winhex基本功能,不同大小 SD和不同大小彩屏數(shù)字不相同圖 2-8點擊“工具”“打開磁盤”圖 2-9 winhex 查看文件的首地址16圖 2-10 包括物理地址、邏輯地址、內(nèi)存大小等信息3. 單片機程序編程思路3.1. TFT 彩屏基本顯示彩屏的驅(qū)動程序與普通的液晶屏,如 1602、12864 等
20、基本相同,普通的單色屏一般是 8位數(shù)據(jù),使用于大多數(shù)的 8 位單片機,彩屏主流是 16 位數(shù)據(jù),適合 ARM 以上驅(qū)動,大部分彩屏的控制本身都兼容 8 位、9 位、16 位、18 位、SPI 以及 RGB 接口。只是部分接口并未引出。由于 51 單片機是 8 位,此時需要彩屏具有 8 位接口,當(dāng)然也可以操作 16位接口,需要在硬件上增加分時操作,對應(yīng) 51 類型的單片機來說,后者復(fù)雜、成本高。下面把基本的時序函數(shù)列出來:寫指令函數(shù):17voidm(u16 i)/寫指令LCD_CS=0;LCD_RD=1; LCD_RS=0;寫數(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)/寫數(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ù)控制程序,包含寫寄存器、寫數(shù)據(jù)
22、、讀數(shù)據(jù)。其他的所有后續(xù)的程序都是在此基礎(chǔ)上操作。屏幕有許多寄存器,初始化的時候需要設(shè)置這些寄存器以達(dá)到相應(yīng)的功能或者發(fā)揮最佳效能。不同的主控初始化程序也不相同,初始化程序是彩屏的關(guān)鍵部分,很多初次使用彩屏的朋友都會在這個部分出現(xiàn)問題。彩屏初始化需要注意以下2 點:1、復(fù)位信號。一般彩屏是低電平復(fù)位,而 51 單片機是復(fù)位,所以在不增加硬件的基礎(chǔ)上不能直接共用復(fù)位。其他的單片機都可以把彩屏復(fù)位與系統(tǒng)復(fù)位連接一起,這樣復(fù)位穩(wěn)定,不易出現(xiàn)問題。保證彩屏有效的復(fù)位才能進行下一步操作。51 單片機使用 I/O 口控制彩屏的復(fù)位引腳,以達(dá)到復(fù)位目的。所以要求復(fù)位有足夠的時長保證其有效。寄存器組設(shè)置。由于
23、彩屏的寄存器比一般的顯示器件要多很多,大部分的2、寄存器初始化都是有彩屏廠家校準(zhǔn)后提供。在單片機行業(yè),彩屏的應(yīng)用范圍相對較少,廠家提供的資料大多不全面。這樣也是導(dǎo)致很多用戶不能順利使用的主要原因。單片機控制彩屏要比日常使用的民用產(chǎn)品很多,相關(guān)的資料也比較少。關(guān)于這部分一般不建議自己書寫,直接移植廠家或者商家提供的程序。上述 2 點順利完成后,就可以對彩屏進行寫數(shù)據(jù)操作。最基本的測試是刷屏,就是把一個屏幕充滿同一種顏色。這個測試可以測試以下 3 點:1、 屏幕分辨率。正確刷完一屏顏色,如果程序設(shè)置正確,整個屏幕應(yīng)該沒有邊緣遺漏等問題。如果邊緣數(shù)行數(shù)列有沒有寫到的地方,可能是分辨率不對應(yīng)。2、 顏
24、色正確。通過刷屏可以分辨顏色是否正確。按照 RGB565 的格式刷屏,確認(rèn)顏色正確性,如果顏色有色差,一般有 2 種問題,一是初始化寄存器設(shè)置錯誤,二是屏幕本身質(zhì)量較差。3、 是否有壞點。刷屏是以像素為操作,理論上屏幕的每個點都會出現(xiàn)對應(yīng)的顏色,如果中間有 1 個或者數(shù)個像素不顯示,說明這些是壞點。下面列出清屏函數(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 個部分,第一部分是設(shè)置坐標(biāo),相當(dāng)于設(shè)置一個矩形框,最大值過屏幕的顯示區(qū)域,比如分辨率是 240 x320,上述的參數(shù)應(yīng)是:X 方向 0239,Y 方向 0319,這個函數(shù)了刷屏的范圍。第二部是循環(huán)寫入數(shù)據(jù),循環(huán)分為內(nèi)循環(huán)和外循環(huán),先掃描第一行,再掃描第二行,一直到最后一行?;竞瘮?shù)就講這些,其他的函數(shù)都是在此基礎(chǔ)上衍生出來的,用戶自行分析。彩屏本身是一張畫布,任何信息在彩屏上都能顯示,可以從任意位置開始,也可以從任意位置結(jié)束。不存在其他的屏幕中的各種限制。任何一個像素點都能顯示 216 種顏色,每個點都是完全獨立操作的,所以可以這么說,彩屏的顯示是萬能的。3.2. 漢字顯示原理寫漢字之前需
26、要了解漢字的結(jié)構(gòu),與英語字符和數(shù)字方法相同,都是畫矩形的圖形,數(shù)字無非是 09,英文字母是 az 和AZ,數(shù)量非常少,只需要把這寫基礎(chǔ)的字符點陣信息存儲起來,需要用的時候直接調(diào)用并組合程序單詞即可。漢字的數(shù)量非常多,如果都存下來一般的單片機容量不夠。所以寫漢字有 2 種常用方法:一是自己造字庫,這種方法時候漢字?jǐn)?shù)量非常少的場合,通過自定義的字庫和擺放規(guī)律進行按需調(diào)取點陣信息。二是使用字庫,這種取點陣信息。已經(jīng)好多種字體和大小的漢字,通過內(nèi)碼和字庫約定的方式讀一般數(shù)字和字母使用 8x16 點陣結(jié)構(gòu),但漢字最低需要 16x16 點陣,寫漢字就是在 16x16的正方形內(nèi)畫點,需要顯示的部分寫成前景色
27、,不需要顯示的部分寫成背景色,就完成漢字顯示的目的。這個和其他的屏幕是完全一樣的,不同的是這里的漢字可以是任意顏色,背景也可以是任意顏色。這里只說了常用的 16x16 的字體,其他大小的字體還需要單獨造字庫。下面是英文及漢字部分的程序:20/*-寫 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. 觸摸功能編程思路觸摸屏與彩屏是分開的,他們相互獨立,觸摸屏簡稱 TP,TP 直接覆蓋在 TFT 屏幕上面,這樣他們直接就建立一種聯(lián)系,坐標(biāo)是相同的,通過校正觸摸屏,實現(xiàn) TP 和TFT 的坐21WriteData(fColor);else WriteData(bColor); m=1;/*-寫 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)示自建漢字庫中的個數(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;實現(xiàn)屏幕觸摸功能。TP 的有效尺寸比 TFT 大,這樣才能保證每個點標(biāo)完全一致,都能有效。常用的電阻觸摸屏是ADS7843,XTP2046 等,這是 12 位的AD 轉(zhuǎn)換器,SPI接口,帶有中斷引腳功能。啟動 AD 轉(zhuǎn)換功能X 方向和 Y 方向的模擬量,然后根據(jù)比例公式計算出觸摸的位置。觸屏的關(guān)鍵部分是校正,觸屏使用時間過長也會導(dǎo)致位置偏移,需要重新校正,完善的校正程序使用 4 點或者 5 點校。本樣例僅用 2 點校正驗證觸屏的基本功能,其他方法暫不提及。下面列出畫校正點
31、的程序,校正的程序請自行分析,或者借鑒經(jīng)典的uCGUI 的校正方法。3.4.顯示編程(大容量單片機)由于占用空間大,一般的 51 單片機以直接一個整屏。假設(shè)分辨率240 x320,樣例程序使用 16bit 表示一個點顏色,格式 565。240 x320 x2=153600 字節(jié),即 150K,如果完整寫一幅,假設(shè)程序運行最小需要 5K ROM,則最低需要 155K ROM 容量,顯然 51 系列單片機是不夠的(最大ROM 64K),所以可以通過小圖標(biāo)來并通過程序顯示到彩需要 SD 或者其他大容量 Flash學(xué)習(xí)驗證顯示功能,下面以。不能直接顯示大型的商標(biāo)為例講解如果處理,的商標(biāo)尺寸為 150
32、x60 像素,通過公式計算,150 x60 x2=18000,18000/102417.6K,屏至少需要 20K ROM 單片機。22ClearScreen(BColor); /清屏 ADS7846_Initial(); /初始化觸摸Rectangle(1,9,19,11,FColor); /在這個坐標(biāo)畫點,矯正用,坐標(biāo)Rectangle(9,1,11,19,FColor); while(ads7846_IRQ);/等待觸摸中斷信號x1=GUI_TOUCH_X_MeasureX(); /該點的觸摸值y1=GUI_TOUCH_X_MeasureY();Rectangle(1,9,19,11,BC
33、olor); Rectangle(9,1,11,19,BColor); /清除這個點,并準(zhǔn)備畫下一個點 while(!ads7846_IRQ);/等待離開觸摸屏,防止干擾下一個點 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);/畫第二個點 while(ads7846_IRQ);/等待觸摸中斷信號x2=GUI_TOUCH_X_MeasureX(); /該點觸摸值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);/清除第二個點 delayms(200);/延時圖 3-1 選擇對應(yīng)參數(shù)轉(zhuǎn)為 c 語言數(shù)組圖 3-2 保存為對應(yīng)的 c 文件23圖 3-3 打開 c 文件文本內(nèi)容圖 3-4 粘貼到工程中 LCD 相關(guān)的 c 文件中24圖 3-5 修改關(guān)鍵字與數(shù)組名稱、類型等參數(shù)直接拷貝的數(shù)組需要修改一些參數(shù):1、 const 改為 code :這里僅在 51 單片機中有效,其他的單片機不用更改。2、 數(shù)組名稱修改為簡單的 pic
35、:原來的名稱中包含中文,不支持,而且不容易。3、 1 維數(shù)組改為 2 維數(shù)組:方便寫程序。不同的分辨率請自行修改,舉例如下:150 x60節(jié)數(shù)據(jù)分別,表示有 60 行,每行有 150 個像素,其中每個像素的顏色是由 2 個字,因為在處理的時候選擇了 16 位真彩,如果使用其他位數(shù),這里的數(shù)據(jù)也會有相應(yīng)的變化。改為二維數(shù)組的大小為 pic60150 x2,有了二維數(shù)組,數(shù)據(jù)的時候在程序中需要計算的數(shù)據(jù)變少,可以提高單片機的執(zhí)行速度。圖 3-6 顯示部分函數(shù)程序部分說明:首先定義 2 個變量x、y,定義為無符號整形,最大值 65535,如果使用字符型,最大只有 255,一些大分辨率的屏幕刷圖時會出
36、錯。然后設(shè)定刷圖矩形區(qū)域,緊接著就是在這個區(qū)域中連續(xù)寫入讀出的數(shù)據(jù)。由于使用水平取模,所以掃描顯示的時候也是一行一行掃描顯示,150 就作為內(nèi)循環(huán),60 作為外循環(huán),刷新完一行再刷新下一行,直到60 行全部刷新完成。寫字節(jié)中需要先寫后面的字節(jié),再寫前面的字節(jié),低 8 位先,高 8位后。這個順序可以通過取模的設(shè)置進行修改。這個程序僅能顯示固定參數(shù)的,的尺寸變化,這里的 2 個循環(huán)的數(shù)據(jù)也需要修改。25圖 3-7顯示效果圖263.5. SD 卡讀編程思路(無 FAT 系統(tǒng))圖 3-8 通過轉(zhuǎn)為為二進制文件并到 SD 卡之前需要格式化 SD 卡,由于本樣例沒有使用 fat 或者 fat32 系統(tǒng)操作
37、,故不能識別位置,格式化 SD 卡后,存入的是按照順序排列的,沒有碎片,然后通過 winhex之間的位置間隔,就可以實現(xiàn)連續(xù)刷新。上圖有 3 個重要尋找的首地址和參數(shù)需要和與彩屏參數(shù)一致,否則可能不能正確顯示1、 輸出數(shù)據(jù)類型:二進制。2、 最大寬度和高度:的真實分辨率??刹煌诓势练直媛?,如果小于彩屏分辨率,顯示的時候仍然正常,不過不能鋪滿整個屏幕。3、 16 位數(shù)據(jù)格式:默認(rèn)使用 565 格式。一般無需改動。27圖 3-9 winhex 查看 SD 卡中文件信息上圖有幾個重要參數(shù)需要了解:1、 點擊對應(yīng)的文件,藍(lán)色一行表示正在查看的文件,后面有大小、時間、屬性、扇區(qū)等信息。2、 這個扇區(qū)是邏輯扇區(qū)地址,在此程序中,2
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度浙江省二級造價工程師之土建建設(shè)工程計量與計價實務(wù)高分通關(guān)題型題庫附解析答案
- 老鼠偷米游戲課件
- 院感執(zhí)行標(biāo)準(zhǔn)我最行
- DB43-T 2856.1-2023 社會保障卡一卡通應(yīng)用技術(shù)規(guī)范 第1部分:卡片
- 人教版七年級下期末專題復(fù)習(xí)專題二 相交線平行線期末提升卷(含解析)
- 培訓(xùn)機構(gòu)前景展望
- 中學(xué)生食品健康管理要點
- 陽光養(yǎng)豬測試題及答案
- 說明方法教學(xué)課件
- 體外沖擊波碎石術(shù)后的護理
- 消渴中醫(yī)護理查房
- 兒童護照辦理委托書
- 《中藥調(diào)劑技術(shù)》課件-中藥調(diào)劑的概念、起源與發(fā)展
- 《數(shù)據(jù)中心節(jié)能方法》課件
- 2024年變電設(shè)備檢修工(高級)技能鑒定理論考試題庫-上(選擇題)
- 循環(huán)系統(tǒng)疾病智慧樹知到答案2024年哈爾濱醫(yī)科大學(xué)附屬第一醫(yī)院
- 2024-2030年中國激光水平儀行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- 部編本小學(xué)語文六年級下冊畢業(yè)總復(fù)習(xí)教案
- JB∕T 11864-2014 長期堵轉(zhuǎn)力矩電動機式電纜卷筒
- 小兒氨酚黃那敏顆粒的藥動學(xué)研究
- 生態(tài)環(huán)境行政處罰自由裁量基準(zhǔn)
評論
0/150
提交評論