資料介紹
本篇文章三個(gè)主題:FSMC有關(guān)配置、一串字符顯示原理、漢字顯示原理。
一、FSMC的有關(guān)配置(博主用的是FSMC_A10):
來(lái)自別人家的博客
FSMC的介紹就不介紹了,網(wǎng)上一大片。我們就討論討論為什么用FSMC的地址線與TFTLCD的RS引腳相連?以及我們?nèi)绾瓮鵏CD寫數(shù)據(jù)/命令?
FSMC稱為可變靜態(tài)存儲(chǔ)控制器??勺儯褐苑Q為“可變”,是由于通過(guò)對(duì)特殊功能寄存器的設(shè)置,F(xiàn)SMC 能夠根據(jù)不同的外部存儲(chǔ)器類型,發(fā)出相應(yīng)的數(shù)據(jù)/地址/控制信號(hào)類型以匹配信號(hào)的速度。(這點(diǎn)很重要,后文會(huì)提到。)
簡(jiǎn)單說(shuō)明一下吧~為什么不拿STM32的IO口直接接LCD的對(duì)應(yīng)引腳?(看看我上邊發(fā)的鏈接就清楚了),大致就是操作麻煩,效率低嘛。。好,F(xiàn)SMC是吧TFTLCD當(dāng)成SRAM設(shè)備來(lái)用的,其操作時(shí)序和SRAM的控制完全類似,唯一不同的就是TFTLCD有RS信號(hào),但是沒(méi)有地址信號(hào)。
TFTLCD是通過(guò)RS信號(hào)來(lái)決定傳送的數(shù)據(jù)是數(shù)據(jù)還是命令,本質(zhì)上可以理解為一個(gè)地址信號(hào),比如我們把RS接在A10上面(當(dāng)然A0-Axx都可以)。那么LCD到底是怎么判斷我們寫的是命令還是數(shù)據(jù)呢?下面是重點(diǎn)?。?
以戰(zhàn)艦的程序?yàn)槔海?
這里因?yàn)閿?shù)據(jù)線寬度是16位時(shí),HADDR[25:1]->FSMC[24:0],相當(dāng)于右移一位。下面是戰(zhàn)艦給出的A10偏移量:
0x6c000000相比大家都沒(méi)有問(wèn)題。按理說(shuō)A10的偏移量應(yīng)該是2的11次方(0-10)=2048,轉(zhuǎn)換為16進(jìn)制就是800,那也比7FE大兩位?。ㄟ@里復(fù)習(xí)下基礎(chǔ)知識(shí):RS=0,寫命令;RS=1,寫數(shù)據(jù)。)
為什么呢?我是這么理解的(倒推法):按我的思路推,如果我們?nèi)CD->LCD_REG的地址0x6c000800的話,當(dāng)?shù)刂酚乙茣r(shí),第10位就不是0了,而是1。對(duì)應(yīng)RS=1,那么對(duì)于LCD就不是寫命令了,而變成寫數(shù)據(jù)了;又因?yàn)榻Y(jié)構(gòu)體內(nèi)部成員對(duì)齊規(guī)則,LCD->LCD_RAM的地址就是0x6c00802了,當(dāng)?shù)刂酚乙茣r(shí),第10位也是1,對(duì)應(yīng)RS=1。還是寫數(shù)據(jù)?。。?!
推到這應(yīng)該明白了。如果按正常算法來(lái)計(jì)算的話,RS就只會(huì)等與1,就不會(huì)區(qū)分寫命令和寫數(shù)據(jù)了。
故我們要將A10的偏移量減去兩位。就得到圖中戰(zhàn)艦的0x000007FE了。LCD->LCD_REG的地址就是0x6c0007FE了。當(dāng)?shù)刂酚乙埔晃粫r(shí)第10位是0,對(duì)應(yīng)RS=0,為對(duì)于LCD就是寫命令了;而因?yàn)榻Y(jié)構(gòu)體內(nèi)部成員對(duì)齊規(guī)則,LCD->LCD_RAM的地址就是0x6c000800了。當(dāng)?shù)刂酚乙埔晃粫r(shí)第10位是1,對(duì)應(yīng)RS=1,為對(duì)于LCD就是寫數(shù)據(jù)了。這樣FSMC就能區(qū)分傳送的是數(shù)據(jù)還是命令了。。大功告成!
到這里,問(wèn)題來(lái)了:我們就控制A10這一根線怎么就可以完成讀寫了呢?那些十多個(gè)引腳的電平又是誰(shuí)在控制呢?
這個(gè)神秘的‘人物’就是上文我們提到的FSMC啦!先看一個(gè)戰(zhàn)艦上的寫寄存器函數(shù):
第一個(gè)圖:這里的LCD->LCD_REG是一個(gè)地址(0x6c000007FE),這里的寄存器序號(hào)哦:是指LCD手冊(cè)里定義的寄存器地址。只要我們往LCD->LDC_REG這個(gè)地址里寫一個(gè)變量(地址)。因?yàn)長(zhǎng)CD->LDC_REG這個(gè)地址是FSMC管轄的。所以這時(shí)候FSMC就要勇敢的站出來(lái)管了~FSMC會(huì)自己生成相應(yīng)的時(shí)序,包括CS、WR、RD和IO方向都是由FSMC控制!這就大大便利了我們對(duì)LCD的控制。
第二個(gè)圖:這里的LCD->LCD_RAM也是一個(gè)地址(0x6c00000800),LCD->LCD_RAM=data;是往該寄存器地址里面寫入數(shù)據(jù)。
二、一串字符的顯示原理(戰(zhàn)艦)
1、比如我們要顯示一個(gè)字符串LCD_ShowString(x,x,x,"hello 21ic");x:是一些坐標(biāo)哦和字體大小參數(shù),先不管→_→
2、那我們就得調(diào)用字符顯示函數(shù):LCD_ShowChar();來(lái)把一個(gè)字符的點(diǎn)陣全部取完。
3、字符是有點(diǎn)組成的,故在字符函數(shù)中不斷調(diào)用畫點(diǎn)函數(shù)LCD_DrawPoint();來(lái)畫點(diǎn)(往LCD->LCD_RAM里寫顏色值,這個(gè)顏色值在lcd.h里被定義為16位的地址)。
4、至此,在lcd_init()中有過(guò)LCD屏的初始化(設(shè)置顯示參數(shù)),就可以顯示了。
5、簡(jiǎn)析一下疊加和非疊加的原理吧→_→
疊加就是字符點(diǎn)陣中是‘1’就用賦畫筆顏色,是‘0’就賦背景顏色(那個(gè)字符的背景顏色,與全屏背景顏色無(wú)關(guān)),沒(méi)毛??!因?yàn)樽詈箫@示的時(shí)候有個(gè)覆蓋的作用。就是先把全屏顏色顯示出來(lái),再在全屏顏色的基礎(chǔ)上覆蓋上你的字符。所以就顯示出疊加和非疊加(只有一個(gè)畫筆顏色)了。
三、漢字顯示原理
其實(shí)漢字顯示和英文顯示一個(gè)原理。很簡(jiǎn)單!顯示的原理就是根據(jù)你的漢字字模字節(jié)大小來(lái)畫點(diǎn)。
簡(jiǎn)單說(shuō)說(shuō)哈:大家都知道,字母的顯示原理就是兩個(gè)for循環(huán)(博主就知道這個(gè)),第一個(gè)for是控制‘行’的,第二個(gè)for是控制‘列’的。先給兩個(gè)例子:比如顯示一個(gè)16*08的字母,第一個(gè)for是循環(huán)16次,第二個(gè)for是循環(huán)8次;顯示一個(gè)24*24的漢字,第一個(gè)for是循環(huán)72次,第二個(gè)for還是循環(huán)8次。不知道到這里大家看沒(méi)看出來(lái)什么規(guī)律來(lái)→_→
規(guī)律:第一個(gè)for是字模所占的字節(jié)數(shù),第二個(gè)for是每次畫8位(從列最高處往下描8個(gè)點(diǎn)),字符顯示函數(shù)中間會(huì)有y-y0的字樣,這是判斷一列點(diǎn)數(shù)是否達(dá)到16或者24個(gè)了,是就x 1,換下一列。
總的來(lái)說(shuō),漢字的字模字節(jié)說(shuō)就是比字母字模字節(jié)數(shù)大。修改的也就是第一個(gè)fo和y-y0里面的參數(shù)。
轉(zhuǎn)自:
(mbbeetchina)
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- QVGA TFT-LCD直接驅(qū)動(dòng)使用STM32F10xx FSMC外設(shè)
- 使用大容量STM32F10xxx的FSMC驅(qū)動(dòng)外部的存儲(chǔ)器
- TFTLCD for STM32資料分享 1次下載
- STM32:FSMC驅(qū)動(dòng)TFTLCD(ST7789)
- 基于STM32的紅外遙控重點(diǎn)解析資料下載
- STM32 IIC難點(diǎn)易錯(cuò)點(diǎn)資料下載
- STM32-FSMC機(jī)制的NOR Flash存儲(chǔ)器擴(kuò)展技術(shù)資料下載
- STM32學(xué)習(xí)教程之FSMC模塊 52次下載
- 使用STM32F1實(shí)現(xiàn)TFTLCD顯示的源代碼和工程文件免費(fèi)下載 29次下載
- ATK TFTLCD電容觸摸屏模塊的資料和基于STM32的C語(yǔ)言源代碼免費(fèi)下載 29次下載
- ATK-7 TFTLCD電容觸摸屏模塊資料和STM32應(yīng)用的C語(yǔ)言代碼免費(fèi)下載 16次下載
- STM32F10xxx FSMC外圍設(shè)備驅(qū)動(dòng)外部存儲(chǔ)器的數(shù)據(jù)和使用手冊(cè)免費(fèi)下載 28次下載
- Android開發(fā)中難點(diǎn)解析及幫助 1次下載
- 大型風(fēng)力發(fā)電機(jī)轉(zhuǎn)軸加工工藝難點(diǎn)解析 0次下載
- 如何使用STM32的FSMC接口驅(qū)動(dòng)LCD屏 0次下載
- CKS32F4xx系列FSMC功能簡(jiǎn)介 676次閱讀
- 基于fsmc總線對(duì)彩屏的驅(qū)動(dòng)設(shè)計(jì)方案 2105次閱讀
- STM32單片機(jī)FSMC模塊的應(yīng)用 3152次閱讀
- STM32單片的啟動(dòng)過(guò)程解析 1756次閱讀
- STM32單片機(jī)對(duì)TFTLCD的驅(qū)動(dòng)設(shè)計(jì) 6723次閱讀
- STM32單片機(jī)的FSMC對(duì)TFT的驅(qū)動(dòng) 3884次閱讀
- STM32CubeMX新建工程的過(guò)程及方法解析 7028次閱讀
- 基于STM32單片機(jī)FSMC協(xié)議分析 3523次閱讀
- 基于FPGA和STM32的FSMC通信 1.2w次閱讀
- 淺談STM32的FSMC的TFT筆記 9887次閱讀
- FSMC如何讀寫CPLD 3403次閱讀
- STM32之FSMC驅(qū)動(dòng)LCD屏應(yīng)用 7724次閱讀
- ofdm技術(shù)的優(yōu)缺點(diǎn)解析,ofdm技術(shù)原理介紹 9w次閱讀
- 最全STM32外設(shè)資料匯總 2.8w次閱讀
- 智能指紋解鎖六大功能及其優(yōu)缺點(diǎn)解析 5572次閱讀
下載排行
本周
- 1GBT1094.11-2022電力變壓器第11部分:干式變壓器
- 14.12 MB | 3次下載 | 免費(fèi)
- 2FT-7800R對(duì)講機(jī)維修手冊(cè)附原理圖
- 3.35 MB | 2次下載 | 免費(fèi)
- 3串口工具UartAssist5.0.exe
- 0.60 MB | 2次下載 | 免費(fèi)
- 4爬電距離和電氣間隙計(jì)算
- 0.75 MB | 2次下載 | 1 積分
- 5UC3584DW次級(jí)側(cè)后置穩(wěn)壓器EVM板原理圖
- 38.97KB | 2次下載 | 免費(fèi)
- 6UCC38C42 25瓦自諧振復(fù)位正激變換器
- 320.6KB | 1次下載 | 免費(fèi)
- 7ZX-D37 BLE主從一體藍(lán)牙模塊技術(shù)手冊(cè)
- 1.22 MB | 1次下載 | 免費(fèi)
- 8使用15個(gè)時(shí)鐘周期的ADS7841和ADS7844
- 188.55KB | 1次下載 | 免費(fèi)
本月
- 1無(wú)刷電機(jī)控制方案設(shè)計(jì)合作
- 1.05 MB | 22次下載 | 免費(fèi)
- 2美的超薄電磁爐TM-S1-09B主板原理圖
- 0.08 MB | 20次下載 | 免費(fèi)
- 3純電動(dòng)汽?的主要部件及?作原理
- 5.76 MB | 12次下載 | 5 積分
- 4GP328和GP88S對(duì)講機(jī)的維修實(shí)列資料合集免費(fèi)下載
- 0.03 MB | 10次下載 | 10 積分
- 5舒爾SLX4無(wú)線話筒接收機(jī)原理圖:二次變頻超外差部分
- 0.27 MB | 8次下載 | 免費(fèi)
- 6IP5385_DEMO開發(fā)資料
- 1.96 MB | 7次下載 | 2 積分
- 7i.MX Linux開發(fā)實(shí)戰(zhàn)指南—基于野火i.MX系列開發(fā)板
- 17.86 MB | 7次下載 | 免費(fèi)
- 8Type-C VL160數(shù)據(jù)手冊(cè)
- 0.92 MB | 7次下載 | 3 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935115次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420061次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233084次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191363次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183329次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73805次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65985次下載 | 10 積分
評(píng)論
查看更多