<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于STM32 的FSMC接口驅(qū)動TFT彩屏的設(shè)計方案

          基于STM32 的FSMC接口驅(qū)動TFT彩屏的設(shè)計方案

          作者: 時間:2014-01-08 來源:網(wǎng)絡(luò) 收藏

            4.1 FSMC簡介

            FSMC是靈活靜態(tài)存儲控制器。芯片可利用FSMC 控制NOR FLASH、PSRAM 和NAND FLASH 存儲芯片[3].這里,只使用FSMC 的NOR/PSRAM 模式控制LCD,所以只需分析NOR FLASH 控制信號線部分。

             尋址空間的地址映射中的0×60000000 ~0x6FFFFFFF 是分配給PSRAM、NOR FLASH 這類可直接尋址的器件。當(dāng)外部接了NOR FLASH,并且FSMC外設(shè)被設(shè)置為正常工作,當(dāng)向0×60000000 地址寫入數(shù)據(jù)0xFFFF,FSMC會自動把數(shù)據(jù)轉(zhuǎn)化成各信號線上相應(yīng)的電平信號寫入數(shù)據(jù)。

            4.2 用FSMC模擬8080時序

            FSMC寫NOR 時序跟8080接口的時序是十分相似的,對它們的信號線對比如表1所示。

            

            為了模擬出8080 時序,把FSMC 地址線中的A0 連接8080的DCX,當(dāng)A0為低電平時,數(shù)據(jù)線D[15:0]的信號會被理解為ILI9341命令,若A0為高電平時,傳輸?shù)男盘杽t會被理解為數(shù)據(jù)。所以傳送數(shù)據(jù)時只需向地址為0x6xxxxxx1,0x6xxxxxx3,0x6xxxxxx5 這些奇數(shù)地址寫入數(shù)據(jù),此時地址線A0(D/CX)會為高電平;需要發(fā)送命令時向0x6xxxxxx0,0x6xxxxxx2,0x6xxxxxx4 這些偶數(shù)地址寫入數(shù)據(jù)時,地址線A0(D/CX)會為低電平,這個數(shù)據(jù)會被理解為命令。在代碼中利用指針變量,向不同的地址單元寫入數(shù)據(jù),就能夠由FSMC 模擬出8080 接口向ILI9341寫入控制命令或GRAM的數(shù)據(jù)了。

            4.3 部分代碼設(shè)計

            (1)初始化液晶屏

            初始化液晶屏是對液晶控制器ILI9341 用到的I/O口、FSMC 接口進行初始化,并且向該控制器寫入了命令參數(shù),配置好LCD液晶屏的基本功能。除了復(fù)位、背光用的PD11和PD0設(shè)置為通用推挽輸出外,其他的與FSMC 接口相關(guān)的控制信號、地址信號、數(shù)據(jù)信號的端口全部設(shè)置為復(fù)用推挽輸出。代碼如下:

            

           ?。?)初始化FSMC模式

            LCD_Init()函數(shù)調(diào)用LCD_FSMC_Config()設(shè)置FSMC的模式使它模擬出8080接口,函數(shù)主要作用是設(shè)置各個信號的產(chǎn)生時間,使的時序與8080接口匹配。

          模擬信號相關(guān)文章:什么是模擬信號




          關(guān)鍵詞: STM32 FSMC接口 TFT彩屏

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();