




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
前言1.1設計的背景液晶顯示器(LCD)已廣泛應用于計算機、電視及智能儀表中,它的主要優點是功耗低、控制電壓低、集成電路容易控制。LCD顯示屏的體積小、重量輕、超薄等特點是其它顯示屏無法比擬的。近幾年來被廣泛用于單片機控制的智能儀器、儀表和低功耗電子產品中。LCD可分為段式LCD、字符式LCD和點陣式LCD。其中段位式LCD和字符式LCD只能用于字符和數字簡易顯示,而不能夠滿足圖形曲線和漢字顯示的要求;而點陣式LCD不僅可以顯示字符、數字,還可以顯示各種圖形、曲線和漢字,并且可以實現屏幕上下左右滾動,動畫功能,區分開窗口,反轉,閃爍等功能,用途十分廣泛[1]。液晶顯示器作為一種新型顯示輸出設備,消除了傳統CRT的屏幕閃爍和像素抖動,不僅具有高亮度、對比度,高可靠性、抗干擾能力強等優點,而且體積小,功耗低、寬視野、色彩鮮明、無輻射。隨著相關技術的日趨成熟,它的應用領域迅速擴展,尤其是在工業控制,醫療儀器、機電設備、商業消費等方面,正逐漸成為新的熱點。LCD顯示多采用專用的控制器,功能強大,實了很好的顯示效果。但是其價格高昂,且多要求有的操作系統實現控制功能。這必然限制其在功能要求不高、對價格敏感的小型設備中使用。1.2研究現狀及發展趨勢在LCD顯示應用領域,通常數據源輸出圖像的分辨率是變化的,而從工業生產標準化要求和獲得最佳顯示效果的角度出發,LCD顯示器的物理分辨率則是固定不變的。這就需要將不同分辨率的輸入圖像經過縮放后輸出到分辨率固定的LCD顯示器上,當前工業上解決這一問題的方案是在輸入數據源和數據顯示設備之間設置LCD圖像引擎來實現縮放處理[2]。LCD顯示器是純數字設備,數字接口是其最佳的選擇,隨著數字接口技術標準逐漸地統一起來,越來越多的顯示芯片具備了支持數字視頻輸出的能力,顯卡制造商也開始在顯卡上集成數字顯示接口?;谶@種現狀,當前LCD圖像引擎芯片也就存在基于模擬到接口和數字接口兩種類型[3]。兩類芯片盡管實現基本功能一致,但是由于標準的不同,結構存在較大差異。采用模擬接口方式時,圖像信號處理流程是:顯卡首先將數字圖像信號變為模擬信號(DAC),然后由電纜送到顯示器上,顯示器再將模擬信號變為數字信號(ADC),最后經過圖像放處理后進行圖像顯示[4]。這樣,信號經由DAC,ADC到最后的信號輸出實際上是一個多余循環過程,這個循壞沒有任何積極的意義,相反還引入了三個信號失真源:DAC、電纜、ADC,最終影響了圖像的輸出效果。采用數字接口方式則去掉了這些不必要的環節,直接輸出數字視頻信號,經圖像縮放處理后,就可以直接送到顯示器進行顯示,圖像的輸出效果毫無疑問會優于前一種模式。數字接口取代模擬接口是大勢所趨,考慮到數模接口兼容,目前很多廠商在同一芯片上不僅提供數字接口,而且提供模擬接口[5]。進入大尺寸LCD圖像引擎IC的門檻較LCD驅動IC要高,涉及專利問題較多,由目前主要Genesis、PHILIPS、NS(NationalSemiconductor),ST(STMicroelectronics)等國際大廠控制[6]。在龐大市場需求的強力吸引下,中國臺灣陸續有數十家IC設廠投入到LCD顯示相關芯片領域。臺灣地區廠商晨星(Mstar)、凌泰(Averlogic)、兆宏(Magicpixel)、聯詠(Novatek)、瑞昱(Realtek)、晶磊(Smartasic)、創品(Trumpion)、凌越(Topro)、世紀民生(Mysoncentury)、晶捷科技(MRT)等廠家在LCD圖像引擎芯片市場也取得了一定份額。目前我國IC設計公司數量已經突破400家大關,但在LCD圖像引擎芯片的研發上[7],內地IC設計公司參與者卻寥寥無幾。目前僅有成都威斯達在進行這方面的研發和設計,其面向LCDTV的主打方案WS1115、WSC2100也已經得到了成功的應用。LCD顯示屏的發展主要有如下幾個趨勢:1)實現分離式圖像引擎IC到初期較低程度整合,再到高集成度整合的轉變。2)LCD圖像引擎數字接口將取代模擬接口。3)低擺幅差分信號RSDS逐步導入控制板的輸出介面[8]。4)在控制IC中為家庭中的PC、DVD、TVCable、PS2、xBox等影音數據源提供更加廣闊的匹配接口,使大尺寸LCD顯示器功能更加多樣化。5)LCD面板開始步入10bits,因此支持10bits的LCD像引擎也將成為標準要求,同時寬屏LCD顯示器成為了消費者的新寵??偠灾?,LCD顯示器正朝著更多的輸出、更快的速度、更高的品質(考慮電磁兼容等方面的設計加入)、更低的功耗等方向快速發展[9]。2硬件設計2.1系統的總體設計本次設計是通過在STM32進行軟件編程來控制LCD液晶顯示屏的顯示設計。它的整體思想是系統電源部分可以使用5V電源端口供電,再通過3.3V穩壓芯片得到單片機與LCD顯示模塊所需電源。單片機采用STM32系列的STM32F103VET6,采用LCD液晶顯示模塊作為系統的顯示部分。通信接口電路主要是由芯片PL2303構成,它的功能主要是將電腦的USB接口轉換為串口,同時還將PC的邏輯電平轉換為與單片機系統相同的CMOS電平,方便程序的燒寫以及與上位機的通信。系統結構框圖如圖2.1所示。STM32F103復位電路STM32F103復位電路SD卡讀取模塊晶振電路晶振電路LCD顯示模塊LCD顯示模塊電源電路電源電路圖2-1系統結構圖2.1.1STM32的主控模塊STM32是整個LCD顯示設計的核心部分。這是一個具有較高性能而又經濟的單片機。本設計選用屬于STM32系列的STM32F103VET6作為控制電路的核心部件,該單片機屬于ST意法半導體公司生產的32位高性能、低成本、低功耗的增強型系列單片機,它的內核采用的是ARM公司最新研發的CortexTM-M3架構,該內核是專門設計于滿足用戶對高性能、低功耗和經濟實用的要求。ARM
Cortex-M3處理器的架構在系統結構上的增強,最高36MHz工作頻率,在存儲器的0等待周期訪問時可達1.25DMips/MHz(Dhrystone2.1),它使得STM32增強型系列單片機受益無窮,其采用的THUMB-2指令集使得其指令效率更高,而且性能更強。
STM32F103ZET6采用薄型四方扁平式封裝技術(LQFP)具有100管腳,片內具有8M的SPIFLASH,64KB的RAM(片上集成12Bit
A/D、D/A、PWM、CAN、USB、安全數字輸入輸出卡SDIO、可變靜態存儲控制器FSMC等資源)。1個串行外設接口(SPI)總線控制的M25P16(16MB容量的串行FLASH),用于存儲數據、代碼、字庫及圖相等。1個3.2寸240*320分辨率觸摸屏,利用MCU的FSMC的16位數據接口模式,觸摸屏采用ADS7843(4線電阻觸摸屏轉換接口芯片)芯片用硬SPI接口控制。STM32單片機采用2.0~3.6V的供電電壓,可以工作在-40℃~85℃的溫度范圍內,其最高的工作頻率是72MHz,其最小電路如圖2-2所示,其資源圖如圖2-3所示。圖2-232F103VET6的最小系統圖2-3硬件資源描述圖2.1.2電源模塊STM32單片機由AMS1117-3.3芯片電路供電,輸入+5V,提供3.3V的固定電壓輸出,為了降低電磁干擾,需要經C1-C3濾波后再為CPU供電,R38為DGND與AGND的連接電阻,電源電路如圖2-4所示。圖2-4電源電路2.1.3復位電路模塊復位電路對單片機系統非常重要。復位電路有幾點要求,其一,上電時有足夠的有效復位電平時間,以便CPU在晶振起振達到穩態后可靠復位;其二,系統斷電后,復位端能快速放電,以便使系統在連續快速開關時能可靠復位。本電路中,要復位只需要在接高電平持續2us就可以實現。在單片機系統中,系統上電啟動的時候復位一次,當按鍵按下的時候系統再次復位,如果釋放后再按下,系統還會復位。所以可以通過按鍵的斷開和閉合在運行的系統中控制其復位。圖2-5復位電路2.1.4晶振電路有源晶振是一個完整的諧振振蕩器,它是利用石英晶體的壓電效應來起振,所以有源晶振需要供電,當我們把有源晶振電路做好后,不需要外接其它器件,只要給它供電,它就可以主動產生振蕩頻率,并且可以提供高精度的頻率基準,信號質量也比無源信號要好。有源晶振通常有4個引腳,VCC,GND,晶振輸出引腳和一個使能引腳。電路只需要接到單片機的晶振的輸入引腳上,輸出引腳上不需要接。圖2-6晶振電路2.1.5SD卡讀取模塊SD卡的數據寫入、讀取的最小單位是塊,每塊的大小為512字節。見圖19-4,為多個數據塊的寫入過程。首先軟件通過SDIO接口的CMD信號線發送多塊寫入的命令,接收到正常的響應后,要寫入的數據線從4根DAT信號線傳輸出去,每塊結束后是CRC校驗碼。接著要檢測忙狀態,數據傳輸到SD卡后,SD卡啟動內部時序保存數據,這時SD卡會把DAT0信號線拉低,表示處于“忙”狀態,忙狀態結束后,主機才能發送下一個數據塊的數據。圖2-7STM32的SDIO接口2.2LCD控制器LCD,即液晶顯示器,因為其功耗低、體積小,承載的信息量大,因而被廣泛用于信息輸出、與用戶進行交互,目前仍是各種電子顯示設備的主流。因為STM32內部沒有集成專用的液晶屏和觸摸屏的控制接口,所以在顯示面板中應自帶含有這些驅動芯片的驅動電路(液晶屏和觸摸屏的驅動電路是獨立的),STM32芯片通過驅動芯片來控制液晶屏和觸摸屏。本系統使用的STM32有3.2寸液晶屏(240*320),它使用ILI9341芯片控制液晶屏,通過XPT2046芯片控制觸摸屏。2.2.1ILI9341控制器結構液晶屏的控制芯片內部結構非常復雜,見圖2-8。最主要的是位于中間GRAM,可以理解為顯存。GRAM中每個存儲單元都對應著液晶面板的一個像素點。它右側的各種模塊共同作用把GRAM存儲單元的數據轉化成液晶面板的控制信號,使像素點呈現特定的顏色,而像素點組合起來則成為一幅完整的圖像。框圖的左上角為ILI9341的主要控制信號線和配置引腳,根據其不同狀態設置可使芯片工作在不同的模式,如每個像素點的位數是6、16還是18位;使用SPI接口還是8080接口與MCU進行通訊;使用8080接口的哪種模式。MUC通過SPI或8080接口與ILI9341進行通訊,從而訪問它的控制寄存器、地址計數器及GRAM。在GRAM的左側還有一個LED控制器。LCD為非發光性的顯示裝置,它需要借助背光源才能達到顯示功能,LED控制器就是用來控制它的背光源。圖2-8ILI9341控制器內部框圖2.2.2像素點的數據格式圖像數據的像素點由紅(R)、綠(G)、藍(B)三原色組成,三原色根據其深淺程度被分為0~255個級別,它們按不同比例的混合可以得出各種色彩。如R:255,G255,B255混合后為白色。根據描述像素點數據的長度,主要分為8、16、24及32位。如以8位來描述的像素點可表示28=256色,16位描述的為216=65536色,稱為真彩色,也稱為64K色。實際上受人眼對顏色的識別能力的限制,16位色與12位色已經難以分辨了。ILI9341最高能夠控制18位的LCD,但為了數據傳輸簡便,這里采用的是它的16位控制模式,以16位描述的像素點。按照標準格式,16位的像素點的三原色描述的位數為R:G:B=5:6:5,描述綠色的位數較多是因為人眼對綠色更為敏感。16位的像素點格式見表2.116位像素點格式。表2.116位像素點格式圖中的是默認18條數據線時,像素點三原色的分配狀況,D1~D5為藍色,D6~D11為綠色,D13~D17為紅色。這樣分配有D0和D12位是無效的。若使用16根數據線傳送像素點的數據,則D0~D4為藍色,D5~D10為綠色,D11~D15為紅色,使得剛好使用完整的16位。RGB比例為5:6:5是一個十分通用的顏色標準,在GRAM相應的地址中填入該顏色的編碼,即可控制LCD輸出該顏色的像素點。如黑色的編碼為0x0000,白色的編碼為0xffff,紅色為0xf800。2.2.3ILI9341的通訊時序目前,大多數的液晶控制器都使用8080或6800接口與MCU進行通訊,它們的時序十分相似,本單片機以ILI9341使用的8080通訊時序進行分析,實際上ILI9341也可以使用SPI接口來控制。ILI9341的8080接口有5條基本的控制信號線:(1)用于片選的CSX信號線;(2)用于寫使能的WRX信號線;(3)用于讀使能的RDX信號線;(4)用于區分數據和命令的D/CX信號線;(5)用于復位的RESX信號線。其中帶X的表示低電平有效。除了控制信號,還有數據信號線,它的數目不定,可根據ILI9341框圖中的IM[3:0]來設定,這部分一般由制作液晶屏的廠家完成。為便于傳輸像素點數據,野火使用的液晶屏設定為16條數據線D[15:0]。使用8080接口的寫命令時序圖見圖2-9。圖2-9使用18條數據線的8080接口寫命令時序由圖可知,寫命令時序由CSX信號線拉低開始,D/CX信號線也置低電平表示寫入的是命令地址(可理解為命令編碼,如軟件復位命令:0x01),以WRX信號線為低,RDX信號為高表示數據傳輸方向為寫入,同時,在數據線[17:0]輸出命令地址,在第二個傳輸階段傳送的為命令的參數,所以D/CX要置高電平,表示寫入的是命令數據。當我們需要向GRAM寫入數據的時候,把CSX信號線拉低后,把D/CX信號線置為高電平,這時由D[17:0]傳輸的數據則會被ILI9341保存至它的GRAM中。
3軟件設計3.1字模提取方法3.1.1字模液晶屏是一個由像素點組成的點陣,若要顯示文字,則需要很多像素點的共同構成。見圖3-1,圖中是兩個由16*16的點陣顯示的兩個漢字。圖3-1字模如果規定:每個漢字都由這樣16*16的點陣來顯示,把筆跡經過的像素點以“1”表示,沒有筆跡的點以“0”表示,每個像素點的狀態以一個二進制位來記錄,用16*16/8=32個字節就可以把這個字記錄下來。這32個字節數據就稱為該文字的字模,還有其它常用字模是24*24、32*32的。在這樣的字模中,以兩個字節表示一行像素點,16行構成一個字模。如果使用LCD的畫點函數,按位來掃描這些字模數據,把為1的位以黑色來顯示(也可以使用其它顏色),即可把整個點陣還原出來,顯示在液晶屏上。3.1.2制作字模本文采用“字模Ⅲ-增強版v3.91”字模軟件來制作中文字庫。步驟如下:1、打開字模軟件2、點擊“批量生成字庫”按鈕選項3、點擊選項“文本文件”,在打開的界面里選擇“GB2132.txt”。如圖3-5、圖3-6所示。此時在“輸入批量字符框”里會列出二級漢字的所有漢字,其中共收錄了6768個漢字字符。4、點擊“字庫智能生成”,彈出“字庫批量參數確認”對話框。我們在“源字體”選項里面做如下設置,字模寬度和高度都選擇16,因為要放在SD卡中,所以選擇BIN文件格式。5、點擊“開始轉換進程”,就會在軟件安裝目錄下會生成Font.dat文件。將生成的漢字字庫拷貝到SD卡根目錄下并重命名為“HZLIB.bin”。把該文件保存到SD卡中,STM32芯片通過文件系統讀取文件即可獲得字庫的數據。3.2顯示中英文及BMP圖片系統的流程圖如圖3-3所示,先將LCD的引腳和寄存器初始化;再向ILI19431寫入命令和數據;配置FSMC;再設置ILI9431的GRAM的掃描方向:左上角>右下角為顯示中英文的采用的模式,右下角>左上角為顯示攝像頭圖像,右上角>左下角為顯示BMP圖片;對ILI9431顯示器進行設置,讀取ILI9431的像素數據;在ILI9431顯示器上畫出一個矩形;在ILI9431顯示器上顯示英文、中文字符和BMP圖片。圖3-3系統流程圖3.2.1配置工程環境本實驗需要制作字庫,其文件名為:HZLIB.bin,三個BMP圖片文件,文件名為:pic1.bmp、pic2.bmp、pic3.bmp,把這四個文件保存到SD卡中,再把該SD卡插入開發板的SD卡接口。本實驗中要把舊文件:systick.c、usart1.c、lcd.c、ff.c、sdio_sdcard.c、lcd_botton.c文件添加進新工程,新建Sd_bmp.c、sd_fs_app.c文件,分別用于編寫BMP文件相關的函數和字模獲取函數。3.2.2main文件顯示中英文字符和BMP圖片用了兩個函數,所以在這里放置了兩個main函數。顯示漢字的main函數它調用了很多函數,主要是將SD卡的讀取接口和LCD初始化,再調用掃描和讀取的函數,并設置了要顯示的中英文。同樣的,顯示BMP圖片的main函數也調用了一些函數用于顯示BMP圖。//顯示漢字的main函數intmain(void){ Sd_fs_init();//初始化SDIO LCD_Init();//LCD初始化 ILI9341_GramScan(1);//設定(坐標軸)掃描方向 ILI9341_Clear(0,0,240,320,macBLACK);ILI9341_DispString_EN(5,5,"Iamqq",macBLACK,macRED); ILI9341_DispString_EN(5,25,"myxuehaois2",macBLACK,macRED) ILI9341_DispString_CH(50,57,"XX大學",macBLACK,macRED);ILI9341_DispString_EN_CH(30,90,"Welcometouse野火ISOStm32開發板bigo",macBLACK,macRED); while(1); }//顯示圖片的main函數intmain(void){ Sd_fs_init();//初始化SDIO LCD_Init();//LCD初始化 Lcd_show_bmp(10,10,"/pic1.bmp"); //顯示BMP圖片 Lcd_show_bmp(10,100,"/pic2.bmp"); while(1); }3.2.3顯示中英文的主要代碼ILI9341_DispString_EN_CH()函數的作用主要為在ILI9341顯示器上顯示中英文字符串,在得到特定掃描方向下字符串的起始X、Y坐標后進行對像素數據的讀取,然后設置字符串的背景色、前景色,將字符顯示出來。/***@brief在ILI9341顯示器上顯示中英文字符串*@paramusX:在特定掃描方向下字符串的起始X坐標*@paramusY:在特定掃描方向下字符串的起始Y坐標*@parampStr:要顯示的字符串的首地址*@paramusColor_Background:選擇字符串的背景色*@paramusColor_Background:選擇字符串的前景色*@retval無*/voidILI9341_DispString_EN_CH(uint16_tusX,uint16_tusY,constuint8_t*pStr,uint16_tusColor_Background,uint16_tusColor_Foreground){ uint16_tusCh; while(*pStr!='\0') { if(*pStr<=126) //英文字符 { if((usX-macILI9341_DispWindow_X_Star+macWIDTH_EN_CHAR)>macILI9341_DispWindow_COLUMN) { usX=macILI9341_DispWindow_X_Star; usY+=macHEIGHT_EN_CHAR; } if((usY-macILI9341_DispWindow_Y_Star+macHEIGHT_EN_CHAR)>macILI9341_DispWindow_PAGE) { usX=macILI9341_DispWindow_X_Star; usY=macILI9341_DispWindow_Y_Star; } ILI9341_DispChar_EN(usX,usY,*pStr,usColor_Background,usColor_Foreground); usX+=macWIDTH_EN_CHAR; pStr++; } else //漢字字符 { if((usX-macILI9341_DispWindow_X_Star+macWIDTH_CH_CHAR)>macILI9341_DispWindow_COLUMN) { usX=macILI9341_DispWindow_X_Star; usY+=macHEIGHT_CH_CHAR; } if((usY-macILI9341_DispWindow_Y_Star+macHEIGHT_CH_CHAR)>macILI9341_DispWindow_PAGE) { usX=macILI9341_DispWindow_X_Star; usY=macILI9341_DispWindow_Y_Star; } usCh=*(uint16_t*)pStr; usCh=(usCh<<8)+(usCh>>8); ILI9341_DispChar_CH(usX,usY,usCh,usColor_Background,usColor_Foreground); usX+=macWIDTH_CH_CHAR; pStr+=2;//一個漢字兩個字節}}}3.2.4顯示BMP圖片的主要代碼該函數的主要工作流程是:讀取頭部信息確定寬度和高度并確定每一行后面具體需要讀出的字節數(保證是4字節的倍數);讀取一行像素點并顯示;讀取下一行并顯示,直至讀完所有行。/***@brief設置ILI9341的截取BMP圖片*@paramx:在掃描模式1下截取區域的起點X坐標*@paramy:在掃描模式1下截取區域的起點Y坐標*@parampic_name:BMP存放的全路徑*@retval無*/voidLcd_show_bmp(uint16_tx,uint16_ty,uint8_t*pic_name){ inti,j,k; intwidth,height,l_width; BYTEred,green,blue; BITMAPFILEHEADERbitHead; BITMAPINFOHEADERbitInfoHead; WORDfileType; unsignedintread_num; unsignedchartmp_name[20]; sprintf((char*)tmp_name,"0:%s",pic_name); f_mount(0,&bmpfs[0]); BMP_DEBUG_PRINTF("filemountok\r\n"); bmpres=f_open(&bmpfsrc,(char*)tmp_name,FA_OPEN_EXISTING|FA_READ); /**/ if(bmpres==FR_OK) { BMP_DEBUG_PRINTF("Openfilesuccess\r\n"); /*讀取文件頭信息兩個字節*/ f_read(&bmpfsrc,&fileType,sizeof(WORD),&read_num); /*判斷是不是BMP文件“BM”*/ if(fileType!=0x4d42) { BMP_DEBUG_PRINTF("fileisnot.bmpfile!\r\n"); return; } else { BMP_DEBUG_PRINTF("Okthisis.bmpfile\r\n"); } /*讀取BMP文件頭信息*/ f_read(&bmpfsrc,&bitHead,sizeof(tagBITMAPFILEHEADER),&read_num); showBmpHead(&bitHead); /*讀取位圖信息頭信息*/ f_read(&bmpfsrc,&bitInfoHead,sizeof(BITMAPINFOHEADER),&read_num); showBmpInforHead(&bitInfoHead); } else { BMP_DEBUG_PRINTF("fileopenfail!\r\n"); return; }/**/ width=bitInfoHead.biWidth; height=bitInfoHead.biHeight; /*計算位圖的實際寬度并確保它為32的倍數*/ l_width=WIDTHBYTES(width*bitInfoHead.biBitCount); if(l_width>960) { BMP_DEBUG_PRINTF("\nSORRY,PICISTOOBIG(<=320)\n"); return; } /*設置LCDGram掃描方向為:右下角->左上角*/ ILI9341_GramScan(1); /*開一個圖片大小的窗口*/ ILI9341_OpenWindow(x,y,width,height); ILI9341_Write_Cmd(macCMD_SetPixel); /*判斷是否是24bit真彩色圖*/ if(bitInfoHead.biBitCount>=24) { for(i=0;i<height;i++) {f_lseek(&bmpfsrc,bitHead.bfOffBits+(height-i-1)*l_width); /*讀取一行bmp的數據到數組pColorData里*/ #if0 for(j=0;j<l_width;j++) {f_read(&bmpfsrc,pColorData+j,1,&read_num);} #elif0 f_read(&bmpfsrc,pColorData,l_width/2,&read_num); f_read(&bmpfsrc,pColorData+l_width/2,l_width/2,&read_num); #else f_read(&bmpfsrc,pColorData,l_width,&read_num); #endif for(j=0;j<width;j++) //一行有效信息 { k=j*3; //一行中第k個像素的起點 red=pColorData[k+2]; green=pColorData[k+1]; blue= pColorData[k]; ILI9341_Write_Data(RGB24TORGB16(red,green,blue));//寫入LCD-GRAM } } } else {BMP_DEBUG_PRINTF("SORRY,THISPICISNOTA24BITSREALCOLOR"); return; } f_close(&bmpfsrc); }
4系統調試在SD卡中放入HZLIB.bin的字模文件和兩個BMP圖片pic1.bmp、pic2.bmp,再把該SD卡插入開發板的SD卡接口,然后將野火STM32開發板供電(DC5V),插上JLINK,插上串口線(兩頭都是母的交叉線),接上液晶屏,將編譯好的程序下載到開發板。調試過程中主要出現的問題有:1、如果SD卡中的字模文件出現錯誤或是沒有讀取到SD卡的文件,則會出現中文亂碼或是圖片不顯示的問題。2、如果程序出現錯誤會導致LCD屏無法打開或是產生黑屏的現象,程序與開發板不兼容也會產生同樣的現象。最后在不斷的調試和改進下,LCD能夠根據給出的指令正常顯示中、英文字符以及BMP圖片,實驗現象如圖4-1和圖4-2所示。 圖4-1LCD顯示中英文字符 圖4-2LCD顯示BMP圖片
5結論本文通過研究LCD顯示屏的顯示特點與原理、與STM32單片機的件連接和軟件編程,以及字模提取方法和中間退到的問題的解決技術等,得到了以下結論:1.LCD可分為段式LCD、字符式LCD和點陣式LCD。其中段位式LCD和字符式LCD只能用于字符和數字的簡易顯示,而不能夠滿足圖形曲線和漢字顯示的要求;而點陣式LCD不僅可以顯示字符、數字,還可以顯示各種圖形、曲線和漢字,并且可以實現屏幕上下左右滾動,動畫功能,分區開窗口,反轉,閃爍等功能。2.ILI9341液晶顯示模組上提供了液晶顯示器的接口及其所需的復位電路等,并把對液晶模組的操作接口引出,方便用戶使用;此外還提供有背光、電源指示燈。3.“字模Ⅲ-增強版v3.91”字模軟件是針對STM32F103的字模數據提取工具.用戶可以利用此工具提取漢字字模BMP位圖字模,還可以很方便地提取ASCII碼字模。用戶還可以利用此工具對所要取的漢字、位圖等進行輯;生成的字模數據用以Word(字型〕數據為基本單元,并以數組形式保存;字模數據導出時,可以導出一個.C文件和一個.h的頭文件,用戶可以直接把這個文件加載到用戶的工程中,供漢字顯示位圖顯示使用。綜上所述,本設計的硬件部分及軟件部分都基本符合所要設計的要求?;贑8051F單片機直流電動機反饋控制系統的設計與研究基于單片機的嵌入式Web服務器的研究MOTOROLA單片機MC68HC(8)05PV8/A內嵌EEPROM的工藝和制程方法及對良率的影響研究基于模糊控制的電阻釬焊單片機溫度控制系統的研制基于MCS-51系列單片機的通用控制模塊的研究基于單片機實現的供暖系統最佳啟停自校正(STR)調節器單片機控制的二級倒立擺系統的研究基于增強型51系列單片機的TCP/IP協議棧的實現基于單片機的蓄電池自動監測系統基于32位嵌入式單片機系統的圖像采集與處理技術的研究基于單片機的作物營養診斷專家系統的研究基于單片機的交流伺服電機運動控制系統研究與開發基于單片機的泵管內壁硬度測試儀的研制基于單片機的自動找平控制系統研究基于C8051F040單片機的嵌入式系統開發基于單片機的液壓動力系統狀態監測儀開發模糊Smith智能控制方法的研究及其單片機實現一種基于單片機的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機沖床數控系統的研究基于CYGNAL單片機的在線間歇式濁度儀的研制基于單片機的噴油泵試驗臺控制器的研制基于單片機的軟起動器的研究和設計基于單片機控制的高速快走絲電火花線切割機床短循環走絲方式研究基于單片機的機電產品控制系統開發基于PIC單片機的智能手機充電器基于單片機的實時內核設計及其應用研究基于單片機的遠程抄表系統的設計與研究基于單片機的煙氣二氧化硫濃度檢測儀的研制基于微型光譜儀的單片機系統單片機系統軟件構件開發的技術研究基于單片機的液體點滴速度自動檢測儀的研制基于單片機系統的多功能溫度測量儀的研制基于PIC單片機的電能采集終端的設計和應用基于單片機的光纖光柵解調儀的研制氣壓式線性摩擦焊機單片機控制系統的研制基于單片機的數字磁通門傳感器基于單片機的旋轉變壓器-數字轉換器的研究基于單片機的光纖Bragg光柵解調系統的研究單片機控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機的多生理信號檢測儀基于單片機的電機運動控制系統設計Pico專用單片機核的可測性設計研究基于MCS-51單片機的熱量計基于雙單片機的智能遙測微型氣象站MCS-51單片機構建機器人的實踐研究基于單片機的輪軌力檢測基于單片機的GPS定位儀的研究與實現基于單片機的電液伺服控制系統用于單片機系統的MMC卡文件系統研制基于單片機的時控和計數系統性能優化的研究基于單片機和CPLD的粗光柵位移測量系統研究單片機控制的后備式方波UPS提升高職學生單片機應用能力的探究基于單片機控制的自動低頻減載裝置研究基于單片機控制的水下焊接電源的研究基于單片機的多通道數據采集系統基于uPSD3234單片機的氚表面污染測量儀的研制基于單片機的紅外測油儀的研究96系列單片機仿真器研究與設計基于單片機的單晶金剛石刀具刃磨設備的數控改造基于單片機的溫度智能控制系統的設計與實現基于MSP430單片機的電梯門機控制器的研制基于單片機的氣體測漏儀的研究基于三菱M16C/6N系列單片機的CAN/USB協議轉換器基于單片機和DSP的變壓器油色譜在線監測技術研究基于單片機的膛壁溫度報警系統設計基于AVR單片機的低壓無功補償控制器的設計基于單片機船舶電力推進電機監測系統基于單片機網絡的振動信號的采集系統基于單片機的大容量數據存儲技術的應用研究基于單片機的疊圖機研究與教學方法實踐基于單片機嵌入式Web服務器技術的研究及實現基于AT89S52單片機的通用數據采集系統基于單片機的多道脈沖幅度分析儀研究機器人旋轉電弧傳感角焊縫跟蹤單片機控制系統基于單片機的控制系統在PLC虛擬教學實驗中的應用研究基于單片機系統的網絡通信研究與應用基于PIC16F877單片機的莫爾斯碼自動譯碼系統設計與研究基于單片機的模糊控制器在工業電阻爐上的應用研究基于雙單片機沖床數控系統的研究與開發基于Cygnal單片機的μC/OS-Ⅱ的研究基于單片機的一體化智能差示掃描量熱儀系統研究基于TCP/IP協議的單片機與Internet互聯的研究與實現變頻調速液壓電梯單片機控制器的研究基于單片機γ-免疫計數器自動換樣功能的研究與實現基于單片機的倒立擺控制系統設計與實現單片機嵌入式以太網
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版二年級下冊第4課 漂亮的包裝紙教案配套
- 九年級歷史上冊 第七單元 工業革命、馬克思主義的誕生與反殖民斗爭 第19課 馬克思主義的誕生教學設計 川教版
- 2024中建港航局海洋工程研究院招聘筆試參考題庫附帶答案詳解
- 工程建設項目流程培訓
- 車載充電機國內外研究現狀培訓
- 人教部編版 (五四制)一年級上冊語文園地二教學設計及反思
- 五年級上冊心理健康教案-4《了解自己的情緒》 北師大版
- 單位新聞攝影培訓大綱
- 婦產科新護士培訓計劃
- 計算機大一上期末復習測試附答案
- GB/T 5453-2025紡織品織物透氣性的測定
- 2025年度毛絨玩具采購合同
- 2024年四川成都農業科技中心招聘筆試真題
- 2024年重慶A卷中考滿分作文《美不止一個答案》
- 做好基層紀檢監察工作措施
- 2025年安徽銅陵市醫保局招聘編外聘用人員2人歷年自考難、易點模擬試卷(共500題附帶答案詳解)
- 日語專業的畢業論文
- 2025年鄭州科技學院單招職業技能測試題庫含答案
- 膏方基本知識
- 卓有成效的管理知到課后答案智慧樹章節測試答案2025年春青島黃海學院
- 非遺藍染中國非遺文化藍染工藝介紹課件
評論
0/150
提交評論