在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開發(fā)>STM32 FSMC驅(qū)動TFTLCD 難點(diǎn)解析資料下載

STM32 FSMC驅(qū)動TFTLCD 難點(diǎn)解析資料下載

2021-04-10 | pdf | 176.27KB | 次下載 | 5積分

資料介紹

本篇文章三個主題:FSMC有關(guān)配置、一串字符顯示原理、漢字顯示原理。 一、FSMC的有關(guān)配置(博主用的是FSMC_A10): 來自別人家的博客 FSMC的介紹就不介紹了,網(wǎng)上一大片。我們就討論討論為什么用FSMC的地址線與TFTLCD的RS引腳相連?以及我們?nèi)绾瓮鵏CD寫數(shù)據(jù)/命令? FSMC稱為可變靜態(tài)存儲控制器。可變:之所以稱為“可變”,是由于通過對特殊功能寄存器的設(shè)置,F(xiàn)SMC 能夠根據(jù)不同的外部存儲器類型,發(fā)出相應(yīng)的數(shù)據(jù)/地址/控制信號類型以匹配信號的速度。(這點(diǎn)很重要,后文會提到。) 簡單說明一下吧~為什么不拿STM32的IO口直接接LCD的對應(yīng)引腳?(看看我上邊發(fā)的鏈接就清楚了),大致就是操作麻煩,效率低嘛。。好,F(xiàn)SMC是吧TFTLCD當(dāng)成SRAM設(shè)備來用的,其操作時序和SRAM的控制完全類似,唯一不同的就是TFTLCD有RS信號,但是沒有地址信號。 TFTLCD是通過RS信號來決定傳送的數(shù)據(jù)是數(shù)據(jù)還是命令,本質(zhì)上可以理解為一個地址信號,比如我們把RS接在A10上面(當(dāng)然A0-Axx都可以)。那么LCD到底是怎么判斷我們寫的是命令還是數(shù)據(jù)呢?下面是重點(diǎn)!!! 以戰(zhàn)艦的程序?yàn)槔海? 這里因?yàn)閿?shù)據(jù)線寬度是16位時,HADDR[25:1]->FSMC[24:0],相當(dāng)于右移一位。下面是戰(zhàn)艦給出的A10偏移量: 0x6c000000相比大家都沒有問題。按理說A10的偏移量應(yīng)該是2的11次方(0-10)=2048,轉(zhuǎn)換為16進(jìn)制就是800,那也比7FE大兩位!(這里復(fù)習(xí)下基礎(chǔ)知識:RS=0,寫命令;RS=1,寫數(shù)據(jù)。) 為什么呢?我是這么理解的(倒推法):按我的思路推,如果我們?nèi)CD->LCD_REG的地址0x6c000800的話,當(dāng)?shù)刂酚乙茣r,第10位就不是0了,而是1。對應(yīng)RS=1,那么對于LCD就不是寫命令了,而變成寫數(shù)據(jù)了;又因?yàn)榻Y(jié)構(gòu)體內(nèi)部成員對齊規(guī)則,LCD->LCD_RAM的地址就是0x6c00802了,當(dāng)?shù)刂酚乙茣r,第10位也是1,對應(yīng)RS=1。還是寫數(shù)據(jù)!!!! 推到這應(yīng)該明白了。如果按正常算法來計算的話,RS就只會等與1,就不會區(qū)分寫命令和寫數(shù)據(jù)了。 故我們要將A10的偏移量減去兩位。就得到圖中戰(zhàn)艦的0x000007FE了。LCD->LCD_REG的地址就是0x6c0007FE了。當(dāng)?shù)刂酚乙埔晃粫r第10位是0,對應(yīng)RS=0,為對于LCD就是寫命令了;而因?yàn)榻Y(jié)構(gòu)體內(nèi)部成員對齊規(guī)則,LCD->LCD_RAM的地址就是0x6c000800了。當(dāng)?shù)刂酚乙埔晃粫r第10位是1,對應(yīng)RS=1,為對于LCD就是寫數(shù)據(jù)了。這樣FSMC就能區(qū)分傳送的是數(shù)據(jù)還是命令了。。大功告成! 到這里,問題來了:我們就控制A10這一根線怎么就可以完成讀寫了呢?那些十多個引腳的電平又是誰在控制呢? 這個神秘的‘人物’就是上文我們提到的FSMC啦!先看一個戰(zhàn)艦上的寫寄存器函數(shù): 第一個圖:這里的LCD->LCD_REG是一個地址(0x6c000007FE),這里的寄存器序號哦:是指LCD手冊里定義的寄存器地址。只要我們往LCD->LDC_REG這個地址里寫一個變量(地址)。因?yàn)長CD->LDC_REG這個地址是FSMC管轄的。所以這時候FSMC就要勇敢的站出來管了~FSMC會自己生成相應(yīng)的時序,包括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:是一些坐標(biāo)哦和字體大小參數(shù),先不管→_→ 2、那我們就得調(diào)用字符顯示函數(shù):LCD_ShowChar();來把一個字符的點(diǎn)陣全部取完。 3、字符是有點(diǎn)組成的,故在字符函數(shù)中不斷調(diào)用畫點(diǎn)函數(shù)LCD_DrawPoint();來畫點(diǎn)(往LCD->LCD_RAM里寫顏色值,這個顏色值在lcd.h里被定義為16位的地址)。 4、至此,在lcd_init()中有過LCD屏的初始化(設(shè)置顯示參數(shù)),就可以顯示了。 5、簡析一下疊加和非疊加的原理吧→_→ 疊加就是字符點(diǎn)陣中是‘1’就用賦畫筆顏色,是‘0’就賦背景顏色(那個字符的背景顏色,與全屏背景顏色無關(guān)),沒毛病!因?yàn)樽詈箫@示的時候有個覆蓋的作用。就是先把全屏顏色顯示出來,再在全屏顏色的基礎(chǔ)上覆蓋上你的字符。所以就顯示出疊加和非疊加(只有一個畫筆顏色)了。 三、漢字顯示原理 其實(shí)漢字顯示和英文顯示一個原理。很簡單!顯示的原理就是根據(jù)你的漢字字模字節(jié)大小來畫點(diǎn)。 簡單說說哈:大家都知道,字母的顯示原理就是兩個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個點(diǎn)),字符顯示函數(shù)中間會有y-y0的字樣,這是判斷一列點(diǎn)數(shù)是否達(dá)到16或者24個了,是就x 1,換下一列。 總的來說,漢字的字模字節(jié)說就是比字母字模字節(jié)數(shù)大。修改的也就是第一個fo和y-y0里面的參數(shù)。 轉(zhuǎn)自: (mbbeetchina)
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1TC358743XBG評估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費(fèi)
  3. 2開關(guān)電源基礎(chǔ)知識
  4. 5.73 MB  |  6次下載  |  免費(fèi)
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設(shè)計
  8. 0.60 MB  |  3次下載  |  免費(fèi)
  9. 5基于FPGA的光纖通信系統(tǒng)的設(shè)計與實(shí)現(xiàn)
  10. 0.61 MB  |  2次下載  |  免費(fèi)
  11. 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計
  12. 0.70 MB  |  2次下載  |  免費(fèi)
  13. 751單片機(jī)窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費(fèi)
  15. 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計實(shí)例指南
  8. 未知  |  21548次下載  |  免費(fèi)
  9. 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537796次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191185次下載  |  免費(fèi)
  13. 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183278次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)
主站蜘蛛池模板: 好爽好黄的视频 | 婷婷综合影院 | 在线精品一区二区三区 | 国产欧美一区二区日本加勒比 | 欧美一级黄色录相 | 久操免费在线 | 最猛91大神ben与女教师 | 久久久久久国产精品免费免费 | www.4虎| 亚洲一区二区三区四区在线观看 | 日本黄页网址 | 么公的好大好硬好深好爽在线视频 | 久久久国产精品网站 | xxxx性开放xxxx| 亚洲人成电影在线 | 色姑娘网| 天堂网在线.www天堂在线 | 好爽~~~~嗯~~~再快点明星 | 卡1卡2卡3精品推荐老狼 | 久久伊人影视 | 小毛片在线观看 | 中国国产aa一级毛片 | 日日干夜夜欢 | 理论片免费午夜 | 农村妇女色又黄一级毛片卡 | 日本一区视频在线观看 | 永久免费在线观看视频 | 手机看片1024欧美 | 99国产精品农村一级毛片 | 综合色亚洲 | 免费看黄的视频网站 | yy肉戏多纯黄的小说 | 国产一区二区三区在线观看影院 | 美女一级免费毛片 | 曰本三级香港三级人妇99视频 | 国产va精品免费观看 | 不卡视频一区二区 | 色天使亚洲 | 欧美性猛交xxx嘿人猛交 | 美女用手扒开尿口给男生桶爽 | 久久精品99无色码中文字幕 |