




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第16講 LCD顯示(xinsh)實驗ALIENTEK廣州星翼電子 官方(gunfng)淘寶店: 技術支持論壇:原子教你玩STM32系列視頻LCD原理講解FSMC原理源碼分析 技術支持論壇: 開源電子網(wǎng) 官方微博: “正點原子” 微博網(wǎng)址 /u/2973019374 淘寶店鋪: 共二十頁廣州星翼電子(dinz) 官方淘寶店: 技術支持論壇:ALIENTEK原子教你玩STM32系列(xli)視頻共二十頁廣州星翼電子 官方(gunfng)淘寶店: 技術支持論壇:ALIENTEK原子教你玩STM32系列(xli)視頻CS:TFTLCD片選信號。WR:向TFTLCD寫入數(shù)據(jù)。RD:從TFTLCD讀取數(shù)
2、據(jù)。D15:0:16位雙向數(shù)據(jù)線。RST:硬復位TFTLCD。RS:命令/數(shù)據(jù)標志(0,讀寫命令;1,讀寫數(shù)據(jù))。80并口連接線:注意: RST信號線是直接接到STM32的復位腳上,并不由軟件控制。另外我們還需要一個背光控制線來控制TFTLCD的背光。 所以,我們總共需要的IO口數(shù)目為21個。 我們標注的DB1DB8,DB10DB17,是相對于LCD控制IC標注的, 實際上大家可以把他們就等同于D0D15,這樣理解起來就比較簡單一點。共二十頁廣州星翼電子(dinz) 官方淘寶店: 技術支持論壇:ALIENTEK原子教你玩STM32系列(xli)視頻ALIENTEK提供的2.8寸TFTLCD模塊
3、,其驅動芯片有很多種類型,比如有: ILI9320/ILI9325/ILI9328/ILI9341 /SSD1289/LGDP4531/LGDP4535/R61505/ SPFD5408/ RM68021等(具體的型號,大家可以通過下載本章實驗代碼, 通過串口或者 LCD顯示查看)。 這里我們僅以ILI9320控制器為例進行介紹,其他的控制基本 都類似,我們就不詳細闡述了。共二十頁廣州星翼電子(dinz) 官方淘寶店: 技術支持論壇:ALIENTEK原子教你玩STM32系列(xli)視頻共二十頁廣州星翼電子(dinz) 官方淘寶店: 技術支持論壇:ALIENTEK原子教你玩STM32系列(xl
4、i)視頻ILI9320常用命令:共二十頁廣州星翼電子(dinz) 官方淘寶店: 技術支持論壇:ALIENTEK原子教你玩STM32系列(xli)視頻R0,這個命令,有兩個功能,如果對它寫,則最低位為OSC,用于開啟或關閉振蕩器。而如果對它讀操作,則返回的是控制器的型號。R32,R33,設置GRAM的行地址和列地址。R32用于設置列地址(X坐標,0239),R33用于設置行地址(Y坐標,0319)。當我們要在某個指定點寫入一個顏色的時候,先通過這兩個命令設置到該點,然后寫入顏色值就可以了。R34,寫數(shù)據(jù)到GRAM命令,當寫入了這個命令之后,地址計數(shù)器才會自動的增加和減少。該命令是我們要介紹的這一
5、組命令里面唯一的單個操作的命令,只需要寫入該值就可以了,其他的都是要先寫入命令編號,然后寫入操作數(shù)。R80R83,行列GRAM地址位置設置。這幾個命令用于設定你顯示區(qū)域的大小,我們整個屏的大小為240*320,但是有時候我們只需要在其中的一部分區(qū)域寫入數(shù)據(jù),如果用先寫坐標,后寫數(shù)據(jù)這樣的方式來實現(xiàn),則速度大打折扣。此時我們就可以通過這幾個命令,在其中開辟一個區(qū)域,然后不停的丟數(shù)據(jù),地址計數(shù)器就會根據(jù)R3的設置自動增加/減少,這樣就不需要頻繁的寫地址了,大大提高了刷新的速度。共二十頁廣州星翼電子(dinz) 官方淘寶店: 技術支持論壇:ALIENTEK原子(yunz)教你玩STM32系列視頻R3
6、,入口模式命令。我們重點關注的是I/D0、I/D1、AM這3個位,因為這3個位控制了屏幕的顯示方向。 AM:控制GRAM更新方向。當AM=0的時候,地址以行方向更新。當AM=1的時候,地址以列方向更新。、 I/D1:0:當更新了一個數(shù)據(jù)之后,根據(jù)這兩個位的設置來控制地址計數(shù)器自動增加/減少1。共二十頁廣州星翼電子 官方(gunfng)淘寶店: 技術支持論壇:ALIENTEK原子(yunz)教你玩STM32系列視頻TFTLCD顯示需要的相關設置步驟如下:1)設置STM32與TFTLCD模塊相連接的IO。 這一步,先將我們與TFTLCD模塊相連的IO口進行初始化,以便驅動LCD。 這里我們用到的是
7、FSMC,F(xiàn)SMC將在18.1.2節(jié)向大家詳細介紹。 2)初始化TFTLCD模塊。 其實這里就是上和上面OLED模塊的初始化過程差不多。通過向TFTLCD寫 入一系列的設置,來啟動TFTLCD的顯示。為后續(xù)顯示字符和數(shù)字做準備。3)通過函數(shù)將字符和數(shù)字顯示到TFTLCD模塊上。 這里就是通過我們設計的程序,將要顯示的字符送到TFTLCD模塊就可以了, 這些函數(shù)將在軟件設計部分向大家介紹。共二十頁廣州星翼電子(dinz) 官方淘寶店: 技術支持論壇:ALIENTEK原子教你玩STM32系列(xli)視頻FSMC介紹:大容量,且引腳數(shù)在100腳以上的STM32F103芯片都帶有FSMC接口, 戰(zhàn)艦
8、STM32開發(fā)板的主芯片為STM32F103ZET6,是帶有FSMC接口的。 FSMC,即靈活的靜態(tài)存儲控制器,能夠與同步或異步存儲器和16位PC存儲器卡連接,STM32的FSMC接口支持包括SRAM、NAND FLASH、NOR FLASH和PSRAM等存儲器。共二十頁廣州星翼電子 官方(gunfng)淘寶店: 技術支持論壇:ALIENTEK原子(yunz)教你玩STM32系列視頻共二十頁廣州星翼電子 官方(gunfng)淘寶店: 技術支持論壇:ALIENTEK原子教你玩STM32系列(xli)視頻FSMC提供了所有的LCD控制器的信號:FSMC NEx:分配給NOR的256M,再分為4個區(qū)
9、,每個區(qū)用來分配一個外設, 這四個外設的片選分為是NE1-NE4,對應相應的引腳。FSMC NOE:輸出使能,連接LCD的RD腳。FSMC NWE:寫使能,連接LCD的RW腳。FSMC_D16:0 16bit的數(shù)據(jù)總線FSMC_A25:0 :用在LCD顯示RAM和寄存器之間進行選擇的地址線,即該線用于選擇LCD的 RS腳,該線可用地址線的任意一根。注:RS = 0時,表示讀寫寄存器;RS = 1表示讀寫數(shù)據(jù)RAM。 共二十頁廣州星翼電子 官方(gunfng)淘寶店: 技術支持論壇:ALIENTEK原子(yunz)教你玩STM32系列視頻共二十頁廣州星翼電子(dinz) 官方淘寶店: 技術支持論
10、壇:ALIENTEK原子(yunz)教你玩STM32系列視頻共二十頁廣州星翼電子 官方(gunfng)淘寶店: 技術支持論壇:ALIENTEK原子(yunz)教你玩STM32系列視頻typedef struct u16 LCD_REG; u16 LCD_RAM; LCD_TypeDef;/使用NOR/SRAM的 Bank1.sector4,地址位HADDR27,26=11 A10作為數(shù)據(jù)命令區(qū)分線 /注意設置時STM32內(nèi)部會右移一位對其! 111110=0X3E #define LCD_BASE (u32)(0 x6C000000 | 0 x000007FE)#define LCD (LCD
11、_TypeDef *) LCD_BASE)0 x7FE =011111111110b因為結構體成員變量都是16位,所以+2偏移到下一個變量,那么0 x7FE+2=100000000000b剛好兩個成員地址最高位分別為0和1,從而區(qū)分命令和數(shù)據(jù)。共二十頁廣州星翼電子(dinz) 官方淘寶店: 技術支持論壇:ALIENTEK原子教你玩STM32系列(xli)視頻void LCD_WR_REG(u16 regval) LCD-LCD_REG=regval;/寫入要寫的寄存器序號 /寫LCD數(shù)據(jù);data:要寫入的值void LCD_WR_DATA(u16 data) LCD-LCD_RAM=data
12、; /讀LCD數(shù)據(jù);返回值:讀到的值u16 LCD_RD_DATA(void) return LCD-LCD_RAM; /寫寄存器;LCD_Reg:寄存器地址;LCD_RegValue:要寫入的數(shù)據(jù)void LCD_WriteReg(u8 LCD_Reg, u16 LCD_RegValue) LCD-LCD_REG = LCD_Reg; /寫入要寫的寄存器序號 LCD-LCD_RAM = LCD_RegValue;/寫入數(shù)據(jù) 共二十頁廣州星翼電子 官方(gunfng)淘寶店: 技術支持論壇:ALIENTEK原子(yunz)教你玩STM32系列視頻 FSMC_NORSRAMTimingInitT
13、ypeDef readWriteTiming; FSMC_NORSRAMTimingInitTypeDef writeTiming; readWriteTiming.FSMC_AddressSetupTime = 0 x01; /地址建立時間(ADDSET)為2個HCLK 1/36M=27ns readWriteTiming.FSMC_AddressHoldTime = 0 x00; /地址保持時間(ADDHLD)模式A未用到 readWriteTiming.FSMC_DataSetupTime = 0 x0f; / 數(shù)據(jù)保存時間為16個HCLK,因為液晶驅動IC的讀數(shù)據(jù)的時候, /速度不能太
14、快,尤其對1289這個IC。 readWriteTiming.FSMC_BusTurnAroundDuration = 0 x00; readWriteTiming.FSMC_CLKDivision = 0 x00; readWriteTiming.FSMC_DataLatency = 0 x00; readWriteTiming.FSMC_AccessMode = FSMC_AccessMode_A; /模式A writeTiming.FSMC_AddressSetupTime = 0 x00; /地址建立時間(ADDSET)為1個HCLK writeTiming.FSMC_AddressH
15、oldTime = 0 x00; /地址保持時間(A writeTiming.FSMC_DataSetupTime = 0 x03; /數(shù)據(jù)保存時間為4個HCLK writeTiming.FSMC_BusTurnAroundDuration = 0 x00; writeTiming.FSMC_CLKDivision = 0 x00; writeTiming.FSMC_DataLatency = 0 x00; writeTiming.FSMC_AccessMode = FSMC_AccessMode_A; /模式A 共二十頁廣州星翼電子 官方(gunfng)淘寶店: 技術支持論壇:ALIENTE
16、K原子教你玩STM32系列(xli)視頻 FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM4;/ 這里我們使用NE4 ,也就對應BTCR6,7。 FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; / 不復用數(shù)據(jù)地址 FSMC_NORSRAMInitStructure.FSMC_MemoryType =FSMC_MemoryType_SRAM;/ FSMC_MemoryType_SRAM; /SRAM FSMC_NORSRAMIn
17、itStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b;/存儲器數(shù)據(jù)寬度為16bit FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode =FSMC_BurstAccessMode_Disable;/ FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait=FSMC_Asynchronous
18、Wait_Disable; FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable;/ 存儲器寫使能 FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Enable; / 讀寫使用不同的時序 FSMC_NORSRAMInitStru
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 主播上崗考試題及答案
- 靜物寫生素描考試題及答案
- 宣傳接待崗面試題及答案
- 廣東省廣州市番禺育才2022-2023學年八年級下學期期中考試物理試題(含答案)
- 抗體檢驗知識培訓課件
- 創(chuàng)新型醫(yī)療器械研發(fā)協(xié)議
- 關于職場軟技能培養(yǎng)的建議與反思
- 小學生科學知識讀物征文
- 員工技能培訓安排表
- 全球教育資源分布及質量評估表
- 16J914-1 公用建筑衛(wèi)生間
- 果汁加工工藝
- 外協(xié)加工流程圖
- 瀝青混凝土路面施工質量通病防治措施
- 高中地理 選擇性必修二 紐約的發(fā)展 紐約的輻射功能 城市的輻射功能 課件(第2課時)
- 抽油井示功圖分析以及應用
- 新藥發(fā)明簡史
- 高分子物理化學全套課件
- 【學海導航】2013屆高三物理一輪復習 第11章 第3節(jié) 電磁振蕩與電磁波 電磁波譜課件 新人教版
- 電工plc培訓-技工技能類
- 電力系統(tǒng)碳排放流的計算方法初探_周天睿
評論
0/150
提交評論