ly-tft系列彩屏使用說明通用板v1_第1頁
ly-tft系列彩屏使用說明通用板v1_第2頁
ly-tft系列彩屏使用說明通用板v1_第3頁
ly-tft系列彩屏使用說明通用板v1_第4頁
ly-tft系列彩屏使用說明通用板v1_第5頁
已閱讀5頁,還剩27頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、帶 SD 卡功能 TFT 真參考資料版本日期內容備注V1.02015/10/18無部分屏幕無觸摸功能User Manual1. 硬件結構1.1. TFT 彩屏原理與應用范圍TFT 是指液晶顯示器上的每一液晶像素點都是由集成在其后的薄膜晶體管來驅動。從而可以做到高速度高亮度高對比度顯示屏幕信息,TFT-LCD(薄膜晶體管液晶顯示器)是多數液晶顯示器的一種。單片機用彩屏的基本信息:分辨率:常用 320 x240,當前主流或者平板的分辨率是 1920 x1200,分辨率是硬件決定的,制造的時候就定型完成。以 320 x240 為例,tft 總像素數=320 x240=76800 個,單片機寫入信息按

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

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

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

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

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

7、影響,可以在較低或較高溫度的環境下使用。電阻式觸控屏使用的是壓力感應,可以用任何物體來觸摸,即便是帶著手套也可以操作,并可以用來進行手寫識別。4. 電阻式觸控屏由于成技術和較低的門檻,成本較為廉價。1.2.3.缺點電阻式觸摸屏的缺點可歸類為:電阻式觸控屏能夠設計成多點觸控,但當兩點同時受壓時,屏幕的壓力變得不平衡,導致觸控出現誤差,因而多點觸控的實現程度較難。電阻式觸控屏較易因為劃傷等導致屏幕觸控部分受損。1.3. 電容觸摸屏基本原理1.3.1.電容屏基本知識電容式觸摸屏技術是利用的電流感應進行工作的。電容式觸摸屏是一塊四層復合玻璃屏,玻璃屏的內表面和夾層各涂有一層 ITO,最外層是一薄層矽土

8、玻璃保護層,夾層 ITO涂層作為工作面,四個角上引出四個電極,內層 ITO 為層以保證良好的工作環境。 當手指觸摸在金屬層上時,由于電場,用戶和觸摸屏表面形成以一個耦合電容,對于高頻電流來說,電容是直接導體,于是手指從接觸點吸走一個很小的電流。這個電流分別從觸摸屏的四角上的電極中流出,并且流經這四個電極的電流與手指到四角的距離成正比,控制器通過對這四個電流比例的精確計算,得出觸摸點的位置。1.3.2.優點1.2.3.電容觸摸屏只需要觸摸,而不需要壓力來產生信號。電容觸摸屏在生產后只需要一次或者完全不需要校正,而電阻技術需要常規的校正。電容方案的會長些,因為電容觸摸屏中的不需任何移動。電阻觸摸屏

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

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

11、況尤為嚴重,手扶住顯示器、手掌靠近顯示器 7 厘米以內或身體靠近顯示器 15 厘米以內就能引起電容屏的誤動作。電容屏的另一個缺點用戴手套持不導電的物體觸摸時沒有反應,這是因為增加了更為絕緣的介質。或手漂移:電容屏更主要的缺點是漂移:當環境溫度、濕度改變時,環境電場發生改變時,都會引起電容屏的漂移,造成確。例如:開機后顯示器溫度上升會造成漂移:用戶觸摸屏幕的同時另一只手或身體一側靠近顯示器會漂移;電容觸摸屏附近較大的物體搬移后會漂移,使用者觸摸 時如果有人圍過來也會引起漂移;電容屏的漂移原因屬于技術上的,環境電勢面(包括用戶的身體)雖然與電容觸摸屏離得較遠,卻比手指頭面積大的多,他們直接影響了觸

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

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

14、下,SD 卡已成為目前消費數碼設備中應用最廣泛的一種卡。SD 卡具有大容量、高性能、安全等多種特點的多功能卡,它比 MMC 卡多了一個進行數據著作權保護的暗號認證功能(SDMI 規格),讀寫速度比 MMC 卡要快 4 倍,達 2M/秒。1.4.2.基本結構圖 1-3 SD 卡的外觀和功能圖 1-4 SD 卡數據含義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卡監測/數據位 3CD卡監測CS選擇2CMD命令/回復CMD命令/回復DI數據輸入3VSS1地VSS1地VSS1地4VCC電源VCC電源VCC電源5CLK時鐘CLK時鐘CLK時鐘6VSS2地VSS2地VSS2地7DAT0數據位 0DAT數據位DO數據輸出8DAT1數據位 1R

16、SV保留RSV保留9DAT2數據位 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 觸摸屏連接到開發板對應表程序后開機會出現第一個校正光標,精確點擊矯正后會出現第二個校正光標,再次10序號LY-51STFT 模塊 J21P2.2CS2P2.1RST3P2.4RS4P2.5WR5P2.6RD6P0DB0DB7序號LY-51STFT 模塊 J11P1.0CLK2P1.1CS3P1.2DIN4不連接BUSY5P1.4DOUT6P1.5IRQ精確點擊,完成校正。然后可以在屏幕上畫圖,由于 51 速度限制,畫線速度不能太快,否則會

18、出現虛線、斷線。程序沒有提供任何識別功能。點擊右下角可以清屏,用于重新畫圖。或者按復位按鍵重新進入程序校正。程序使用 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轉為二進制數據 112圖 2-2轉為二進制數據 2圖 2-3轉為二進制數據 313圖 2-4轉為 c 語言數組圖 2-5 本可以將轉為 BMP 等類型,方便單片機處理14圖 2-6可以輸出各種灰度或者信息圖 2-7可以實現水平掃描或者垂直掃描152.2. Winhex基本功能,不同大小 SD和不同大小彩屏數字不相同圖 2-8點擊“工具”“打開磁盤”圖 2-9 winhex 查看文件的首地址16圖 2-10 包括物理地址、邏輯地址、內存大小等信息3. 單片機程序編程思路3.1. TFT 彩屏基本顯示彩屏的驅動程序與普通的液晶屏,如 1602、12864 等

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

21、數據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)/寫數據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;上述就是基本數據控制程序,包含寫寄存器、寫數據

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

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

24、色正確。通過刷屏可以分辨顏色是否正確。按照 RGB565 的格式刷屏,確認顏色正確性,如果顏色有色差,一般有 2 種問題,一是初始化寄存器設置錯誤,二是屏幕本身質量較差。3、 是否有壞點。刷屏是以像素為操作,理論上屏幕的每個點都會出現對應的顏色,如果中間有 1 個或者數個像素不顯示,說明這些是壞點。下面列出清屏函數19/*-清屏函數-*/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 個部分,第一部分是設置坐標,相當于設置一個矩形框,最大值過屏幕的顯示區域,比如分辨率是 240 x320,上述的參數應是:X 方向 0239,Y 方向 0319,這個函數了刷屏的范圍。第二部是循環寫入數據,循環分為內循環和外循環,先掃描第一行,再掃描第二行,一直到最后一行。基本函數就講這些,其他的函數都是在此基礎上衍生出來的,用戶自行分析。彩屏本身是一張畫布,任何信息在彩屏上都能顯示,可以從任意位置開始,也可以從任意位置結束。不存在其他的屏幕中的各種限制。任何一個像素點都能顯示 216 種顏色,每個點都是完全獨立操作的,所以可以這么說,彩屏的顯示是萬能的。3.2. 漢字顯示原理寫漢字之前需

26、要了解漢字的結構,與英語字符和數字方法相同,都是畫矩形的圖形,數字無非是 09,英文字母是 az 和AZ,數量非常少,只需要把這寫基礎的字符點陣信息存儲起來,需要用的時候直接調用并組合程序單詞即可。漢字的數量非常多,如果都存下來一般的單片機容量不夠。所以寫漢字有 2 種常用方法:一是自己造字庫,這種方法時候漢字數量非常少的場合,通過自定義的字庫和擺放規律進行按需調取點陣信息。二是使用字庫,這種取點陣信息。已經好多種字體和大小的漢字,通過內碼和字庫約定的方式讀一般數字和字母使用 8x16 點陣結構,但漢字最低需要 16x16 點陣,寫漢字就是在 16x16的正方形內畫點,需要顯示的部分寫成前景色

27、,不需要顯示的部分寫成背景色,就完成漢字顯示的目的。這個和其他的屏幕是完全一樣的,不同的是這里的漢字可以是任意顏色,背景也可以是任意顏色。這里只說了常用的 16x16 的字體,其他大小的字體還需要單獨造字庫。下面是英文及漢字部分的程序:20/*-寫 8x16 字符函數-*/#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 屏幕上面,這樣他們直接就建立一種聯系,坐標是相同的,通過校正觸摸屏,實現 TP 和TFT 的坐21WriteData(fColor);else WriteData(bColor); m=1;/*-寫 16x16 漢字函數-*/#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 標示自建漢字庫中的個數,循環查詢內碼 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;實現屏幕觸摸功能。TP 的有效尺寸比 TFT 大,這樣才能保證每個點標完全一致,都能有效。常用的電阻觸摸屏是ADS7843,XTP2046 等,這是 12 位的AD 轉換器,SPI接口,帶有中斷引腳功能。啟動 AD 轉換功能X 方向和 Y 方向的模擬量,然后根據比例公式計算出觸摸的位置。觸屏的關鍵部分是校正,觸屏使用時間過長也會導致位置偏移,需要重新校正,完善的校正程序使用 4 點或者 5 點校。本樣例僅用 2 點校正驗證觸屏的基本功能,其他方法暫不提及。下面列出畫校正點

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

32、x60 像素,通過公式計算,150 x60 x2=18000,18000/102417.6K,屏至少需要 20K ROM 單片機。22ClearScreen(BColor); /清屏 ADS7846_Initial(); /初始化觸摸Rectangle(1,9,19,11,FColor); /在這個坐標畫點,矯正用,坐標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); /清除這個點,并準備畫下一個點 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 選擇對應參數轉為 c 語言數組圖 3-2 保存為對應的 c 文件23圖 3-3 打開 c 文件文本內容圖 3-4 粘貼到工程中 LCD 相關的 c 文件中24圖 3-5 修改關鍵字與數組名稱、類型等參數直接拷貝的數組需要修改一些參數:1、 const 改為 code :這里僅在 51 單片機中有效,其他的單片機不用更改。2、 數組名稱修改為簡單的 pic

35、:原來的名稱中包含中文,不支持,而且不容易。3、 1 維數組改為 2 維數組:方便寫程序。不同的分辨率請自行修改,舉例如下:150 x60節數據分別,表示有 60 行,每行有 150 個像素,其中每個像素的顏色是由 2 個字,因為在處理的時候選擇了 16 位真彩,如果使用其他位數,這里的數據也會有相應的變化。改為二維數組的大小為 pic60150 x2,有了二維數組,數據的時候在程序中需要計算的數據變少,可以提高單片機的執行速度。圖 3-6 顯示部分函數程序部分說明:首先定義 2 個變量x、y,定義為無符號整形,最大值 65535,如果使用字符型,最大只有 255,一些大分辨率的屏幕刷圖時會出

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

37、,故不能識別位置,格式化 SD 卡后,存入的是按照順序排列的,沒有碎片,然后通過 winhex之間的位置間隔,就可以實現連續刷新。上圖有 3 個重要尋找的首地址和參數需要和與彩屏參數一致,否則可能不能正確顯示1、 輸出數據類型:二進制。2、 最大寬度和高度:的真實分辨率。可不同于彩屏分辨率,如果小于彩屏分辨率,顯示的時候仍然正常,不過不能鋪滿整個屏幕。3、 16 位數據格式:默認使用 565 格式。一般無需改動。27圖 3-9 winhex 查看 SD 卡中文件信息上圖有幾個重要參數需要了解:1、 點擊對應的文件,藍色一行表示正在查看的文件,后面有大小、時間、屬性、扇區等信息。2、 這個扇區是邏輯扇區地址,在此程序中,2

溫馨提示

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

評論

0/150

提交評論