




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
STM32單片機的FSMC對TFT的驅動一、FSMC之我見開始只是談到別人對FSMC的理解,注意這里只討論FSMC控制TFT,也就是在FSMC的NOR\PSRAM模式控制LCD,所以我們以下的分析都是基于這種模式的。1、我們之前通過使用GPIO來模擬8080/6800時序從而達到驅動彩屏的,同樣需要明白的一點就是我們也只是使用FSMC來模擬8080/6800時序,只不過這個讀寫速度有些快(使用了總線嘛),僅此而已!簡單一點就是:8080是通過“讀使能(RE)”和“寫使能(WE)”兩條控制線進行讀寫操作。6800是通過“總使能(E)”和“讀寫選擇(W/R)”兩條控制線進行2、那么了解到FSMC的三總線如下!數據線:這個可以分為8位的和16位,這個不難理解,就是之指一次穿上紅8位還是16位數據,我的是16位的,8位的有一個懶得用。地址線:既然我們訪問的外NORFLASH,那么一定會有相應的地址線,那么這些地址線在哪里呢?肯定是通過GPIO引腳復用的。有A0--A2324根,能夠控制訪問16M的空間,也就是一個子bank;控制總線:它的控制總線只有三根:讀使能信號,寫使能信號,片選信號。所以這里和我們8080時序相比,少了復位信號線和數據/命令控制線,怎么辦?繼續看!3、了解了FSMC會有這三總線的概念,那么接下來就是如何轉化為我們需要的時序了。對比一下FSMC訪問外norflash和8080訪問時序如下差別似乎很小是吧,簡單說就是在數據/指令選擇和復位信號上的區別。4、在這里我們使用的軟件方法來完善FSMC轉化為8080的讀寫時序在參考手冊上的存儲系統能找到,芯片留給我們外擴的存儲器(NORFLASH、PSRAM這類可直接尋址的器件)地址是從0x60000000開始的,意思就是當我們訪問0x60000000的時候,那就是相當于訪問外部norflash了(我們只討論這種情況),那么他就會自動產生FSMC的時序在這里,我們所需要添加的就是D/C選擇信號,如何實現呢?我們是通過,一根地址線來實現的,當我們把A0多對應的GPIOF0(引腳默認復用)接到TFT的RS端,然后執行訪問0x60000000的指令,那么RS是否就是低電平選擇為數據呢?又加入我們訪問的地址是0x60000001的時候,那么RS是否就是高電平,從而選擇的就是指令傳送呢?答案當然是肯定的!所以我們就解決了這個問題,復位信號就更好解決了,直接和開發板的復位引腳接在一起就好了,就這么簡單!二、說了這么久的理論,來個實例分析更加形象了,首先硬件連線要明白在原理圖或者開發手冊上面能夠確定引腳復用問題地址引腳:(A0-A5:PF0-PF5)(A6-A9:F12-F15)(A10-A15:PG0-PG5)(A16-A18:PD11-PD13)(A19-A22:PE3-PE6)(A23-PE2)片選信號(NEx:PG12)因為我選擇的是block4寫使能(NWR:PD5)讀使能(NOE:PD4)至此控制引腳基本完成下面就是數據引腳:PD14-FSMC-D0----LCD-DB0PD15-FSMC-D1----LCD-DB1PD0-FSMC-D2----LCD-DB2PD1-FSMC-D3----LCD-DB3PE7-FSMC-D4----LCD-DB4PE8-FSMC-D5----LCD-DB5PE9-FSMC-D6----LCD-DB6PE10-FSMC-D7----LCD-DB7PE11-FSMC-D8----LCD-DB8PE12-FSMC-D9----LCD-DB9PE13-FSMC-D10----LCD-DB10PE14-FSMC-D11----LCD-DB11PE15-FSMC-D12----LCD-DB12PD8-FSMC-D13----LCD-DB13PD9-FSMC-D14----LCD-DB14PD10-FSMC-D15----LCD-DB15有了這些硬件連線是沒有任何問題的三、正式分析程序1、硬件引腳配置函數voidLCD_CtrlLinesConfig(void){GPIO_InitTypeDefGPIO_InitStructure;/*EnableFSMC,GPIOD,GPIOE,GPIOF,GPIOGandAFIOclocks*/RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC,ENABLE);//使能FSMCRCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD|RCC_APB2Periph_GPIOE|RCC_APB2Periph_GPIOF|RCC_APB2Periph_GPIOG|RCC_APB2Periph_AFIO,ENABLE);//IO口復用功能時鐘/*SetPD.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)asalternatefunctionpushpull*//*D端口初始化*/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_Speed_50MHz;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;GPIO_Init(GPIOD,&GPIO_InitStructure);/*E端口初始化*//*SetPE.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)asalternatefunctionpushpull*/GPIO_InitStructure.GPIO_Pin=GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;GPIO_Init(GPIOE,&GPIO_InitStructure);//將配置寫入GPIOE管腳/*A0地址線*/GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;GPIO_Init(GPIOF,&GPIO_InitStructure);/*SetPG.12(NE4(LCD/CS))asalternatefunctionpushpull-CE3(LCD/CS)*/GPIO_I
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 貴金屬礦床的生態環境影響評價考核試卷
- 自來水的水質保護與保障考核試卷
- 酒店業客戶體驗優化策略考核試卷
- 口腔科門診主任年終總結
- 急救儀器常見故障及處理
- 文獻閱讀匯報核心要素與實踐方法
- 糖尿病疾病防治與健康管理
- 顱腦損傷疾病康復
- RS-MCPG-Standard-alpha-MCPG-Standard-生命科學試劑-MCE
- “學海拾珠”系列之跟蹤月報
- 天津水務集團有限公司招聘考試真題2024
- 《Linux系統安全》課件
- 辦公家具產品設計方案
- 第三屆全國技能大賽競賽(裝配鉗工)選拔賽備考試題(附答案)
- 過敏性休克的應急處理流程
- 大數據分析與機場運營效率提升-洞察闡釋
- GA 1812.3-2024銀行系統反恐怖防范要求第3部分:印鈔造幣企業
- 《慢性皮膚炎癥疾病》課件
- 2025年度教師招聘考試教育綜合理論知識復習題庫及答案(共250題)
- 2024北京豐臺區五年級(下)期末英語試題及答案
- 比亞迪車輛購銷合同協議
評論
0/150
提交評論