資料介紹
本篇文章三個主題:FSMC有關配置、一串字符顯示原理、漢字顯示原理。
一、FSMC的有關配置(博主用的是FSMC_A10):
來自別人家的博客
FSMC的介紹就不介紹了,網(wǎng)上一大片。我們就討論討論為什么用FSMC的地址線與TFTLCD的RS引腳相連?以及我們?nèi)绾瓮鵏CD寫數(shù)據(jù)/命令?
FSMC稱為可變靜態(tài)存儲控制器??勺儯褐苑Q為“可變”,是由于通過對特殊功能寄存器的設置,F(xiàn)SMC 能夠根據(jù)不同的外部存儲器類型,發(fā)出相應的數(shù)據(jù)/地址/控制信號類型以匹配信號的速度。(這點很重要,后文會提到。)
簡單說明一下吧~為什么不拿STM32的IO口直接接LCD的對應引腳?(看看我上邊發(fā)的鏈接就清楚了),大致就是操作麻煩,效率低嘛。。好,F(xiàn)SMC是吧TFTLCD當成SRAM設備來用的,其操作時序和SRAM的控制完全類似,唯一不同的就是TFTLCD有RS信號,但是沒有地址信號。
TFTLCD是通過RS信號來決定傳送的數(shù)據(jù)是數(shù)據(jù)還是命令,本質(zhì)上可以理解為一個地址信號,比如我們把RS接在A10上面(當然A0-Axx都可以)。那么LCD到底是怎么判斷我們寫的是命令還是數(shù)據(jù)呢?下面是重點??!!
以戰(zhàn)艦的程序為例::
這里因為數(shù)據(jù)線寬度是16位時,HADDR[25:1]->FSMC[24:0],相當于右移一位。下面是戰(zhàn)艦給出的A10偏移量:
0x6c000000相比大家都沒有問題。按理說A10的偏移量應該是2的11次方(0-10)=2048,轉換為16進制就是800,那也比7FE大兩位?。ㄟ@里復習下基礎知識:RS=0,寫命令;RS=1,寫數(shù)據(jù)。)
為什么呢?我是這么理解的(倒推法):按我的思路推,如果我們?nèi)CD->LCD_REG的地址0x6c000800的話,當?shù)刂酚乙茣r,第10位就不是0了,而是1。對應RS=1,那么對于LCD就不是寫命令了,而變成寫數(shù)據(jù)了;又因為結構體內(nèi)部成員對齊規(guī)則,LCD->LCD_RAM的地址就是0x6c00802了,當?shù)刂酚乙茣r,第10位也是1,對應RS=1。還是寫數(shù)據(jù)?。。?!
推到這應該明白了。如果按正常算法來計算的話,RS就只會等與1,就不會區(qū)分寫命令和寫數(shù)據(jù)了。
故我們要將A10的偏移量減去兩位。就得到圖中戰(zhàn)艦的0x000007FE了。LCD->LCD_REG的地址就是0x6c0007FE了。當?shù)刂酚乙埔晃粫r第10位是0,對應RS=0,為對于LCD就是寫命令了;而因為結構體內(nèi)部成員對齊規(guī)則,LCD->LCD_RAM的地址就是0x6c000800了。當?shù)刂酚乙埔晃粫r第10位是1,對應RS=1,為對于LCD就是寫數(shù)據(jù)了。這樣FSMC就能區(qū)分傳送的是數(shù)據(jù)還是命令了。。大功告成!
到這里,問題來了:我們就控制A10這一根線怎么就可以完成讀寫了呢?那些十多個引腳的電平又是誰在控制呢?
這個神秘的‘人物’就是上文我們提到的FSMC啦!先看一個戰(zhàn)艦上的寫寄存器函數(shù):
第一個圖:這里的LCD->LCD_REG是一個地址(0x6c000007FE),這里的寄存器序號哦:是指LCD手冊里定義的寄存器地址。只要我們往LCD->LDC_REG這個地址里寫一個變量(地址)。因為LCD->LDC_REG這個地址是FSMC管轄的。所以這時候FSMC就要勇敢的站出來管了~FSMC會自己生成相應的時序,包括CS、WR、RD和IO方向都是由FSMC控制!這就大大便利了我們對LCD的控制。
第二個圖:這里的LCD->LCD_RAM也是一個地址(0x6c00000800),LCD->LCD_RAM=data;是往該寄存器地址里面寫入數(shù)據(jù)。
二、一串字符的顯示原理(戰(zhàn)艦)
1、比如我們要顯示一個字符串LCD_ShowString(x,x,x,"hello 21ic");x:是一些坐標哦和字體大小參數(shù),先不管→_→
2、那我們就得調(diào)用字符顯示函數(shù):LCD_ShowChar();來把一個字符的點陣全部取完。
3、字符是有點組成的,故在字符函數(shù)中不斷調(diào)用畫點函數(shù)LCD_DrawPoint();來畫點(往LCD->LCD_RAM里寫顏色值,這個顏色值在lcd.h里被定義為16位的地址)。
4、至此,在lcd_init()中有過LCD屏的初始化(設置顯示參數(shù)),就可以顯示了。
5、簡析一下疊加和非疊加的原理吧→_→
疊加就是字符點陣中是‘1’就用賦畫筆顏色,是‘0’就賦背景顏色(那個字符的背景顏色,與全屏背景顏色無關),沒毛??!因為最后顯示的時候有個覆蓋的作用。就是先把全屏顏色顯示出來,再在全屏顏色的基礎上覆蓋上你的字符。所以就顯示出疊加和非疊加(只有一個畫筆顏色)了。
三、漢字顯示原理
其實漢字顯示和英文顯示一個原理。很簡單!顯示的原理就是根據(jù)你的漢字字模字節(jié)大小來畫點。
簡單說說哈:大家都知道,字母的顯示原理就是兩個for循環(huán)(博主就知道這個),第一個for是控制‘行’的,第二個for是控制‘列’的。先給兩個例子:比如顯示一個16*08的字母,第一個for是循環(huán)16次,第二個for是循環(huán)8次;顯示一個24*24的漢字,第一個for是循環(huán)72次,第二個for還是循環(huán)8次。不知道到這里大家看沒看出來什么規(guī)律來→_→
規(guī)律:第一個for是字模所占的字節(jié)數(shù),第二個for是每次畫8位(從列最高處往下描8個點),字符顯示函數(shù)中間會有y-y0的字樣,這是判斷一列點數(shù)是否達到16或者24個了,是就x 1,換下一列。
總的來說,漢字的字模字節(jié)說就是比字母字模字節(jié)數(shù)大。修改的也就是第一個fo和y-y0里面的參數(shù)。
轉自:
(mbbeetchina)
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- QVGA TFT-LCD直接驅動使用STM32F10xx FSMC外設
- 使用大容量STM32F10xxx的FSMC驅動外部的存儲器
- TFTLCD for STM32資料分享 1次下載
- STM32:FSMC驅動TFTLCD(ST7789)
- 基于STM32的紅外遙控重點解析資料下載
- STM32 IIC難點易錯點資料下載
- STM32-FSMC機制的NOR Flash存儲器擴展技術資料下載
- STM32學習教程之FSMC模塊 53次下載
- 使用STM32F1實現(xiàn)TFTLCD顯示的源代碼和工程文件免費下載 29次下載
- ATK TFTLCD電容觸摸屏模塊的資料和基于STM32的C語言源代碼免費下載 30次下載
- ATK-7 TFTLCD電容觸摸屏模塊資料和STM32應用的C語言代碼免費下載 17次下載
- STM32F10xxx FSMC外圍設備驅動外部存儲器的數(shù)據(jù)和使用手冊免費下載 29次下載
- Android開發(fā)中難點解析及幫助 1次下載
- 大型風力發(fā)電機轉軸加工工藝難點解析 0次下載
- 如何使用STM32的FSMC接口驅動LCD屏 0次下載
- CKS32F4xx系列FSMC功能簡介 1002次閱讀
- 基于fsmc總線對彩屏的驅動設計方案 2205次閱讀
- STM32單片機FSMC模塊的應用 3222次閱讀
- STM32單片的啟動過程解析 1817次閱讀
- STM32單片機對TFTLCD的驅動設計 6846次閱讀
- STM32單片機的FSMC對TFT的驅動 4183次閱讀
- STM32CubeMX新建工程的過程及方法解析 7145次閱讀
- 基于STM32單片機FSMC協(xié)議分析 3657次閱讀
- 基于FPGA和STM32的FSMC通信 1.2w次閱讀
- 淺談STM32的FSMC的TFT筆記 1w次閱讀
- FSMC如何讀寫CPLD 3538次閱讀
- STM32之FSMC驅動LCD屏應用 7893次閱讀
- ofdm技術的優(yōu)缺點解析,ofdm技術原理介紹 9.1w次閱讀
- 最全STM32外設資料匯總 2.9w次閱讀
- 智能指紋解鎖六大功能及其優(yōu)缺點解析 5778次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統(tǒng)的設計與實現(xiàn)
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發(fā)板設計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論