




已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
沈陽理工大學(xué)課程設(shè)計報告 I 摘摘 要要 本文介紹了基于 STM32 的圖片顯示系統(tǒng)設(shè)計?,F(xiàn)如今 LCD 顯示屏的技術(shù)和產(chǎn)業(yè)都 取得了長足的發(fā)展,作為重要的現(xiàn)代信息發(fā)布媒體之一,LCD 顯示屏在證券交易、金融、 交通、體育、廣告等領(lǐng)域被廣泛的應(yīng)用?;?STM32 的 LCD 顯示可以更好的滿足各種 需求,也更便于操作和實現(xiàn)。通電后,復(fù)位到初始化狀態(tài)可顯示本次課程設(shè)計題目及 成員等基本信息,可人為操作對顯示信息的漢字進(jìn)行自定義大小顏色及字體等等;把 要顯示的圖片考入內(nèi)存卡里,更新內(nèi)存卡,即圖片可進(jìn)行變換;自定義定時跳轉(zhuǎn)下一 幅圖片,也可以通過按鍵快速跳到下一幅圖片,或返回上一張圖片。利用 TFT-LCD 液 晶顯示屏顯示的圖片清晰、分辨率高,顯示圖片的效果極好。 關(guān)鍵詞: STM32; LCD 顯示屏; 圖片顯示 沈陽理工大學(xué)課程設(shè)計報告 II 目 錄 1 引言.1 2 總體設(shè)計.2 2.1 圖片顯示的基本原理.2 2.2 圖片顯示設(shè)計分析.2 2.3 系統(tǒng)的結(jié)構(gòu)框圖.3 3 詳細(xì)設(shè)計.4 3.1 硬件設(shè)計.4 3.1.1 ALIENTEK MiniSTM32 開發(fā)板簡介.4 3.1.2 功能簡介.4 3.2 軟件設(shè)計.7 3.2.1 主函數(shù)部分.8 3.2.2 硬件部分程序.9 3.2.3 識別圖片.11 3.2.4 FAT 系統(tǒng).14 3.2.5 程序流程圖.15 4 實驗結(jié)果及分析.16 4.1 硬件實驗結(jié)果.16 4.2 結(jié)果分析.16 5 結(jié)論.17 參考文獻(xiàn).18 沈陽理工大學(xué)課程設(shè)計報告 1 1 引言 進(jìn)入新世紀(jì) LCD 顯示屏的技術(shù)和產(chǎn)業(yè)都取得了長足的發(fā)展,作為重要的現(xiàn)代信息 發(fā)布媒體之一,LCD 顯示屏在證券交易、金融、交通、體育、廣告等領(lǐng)域被廣泛的應(yīng)用。 伴隨社會信息化進(jìn)程的推進(jìn),LCD 顯示屏技術(shù)也在不斷的推陳出新,應(yīng)用領(lǐng)域愈加廣闊。 基于 STM32 的 LCD 顯示可以更好的滿足各種需求,也更便于操作和實現(xiàn)?,F(xiàn)基于 STM32 在液晶顯示屏幕上顯示文本及圖形。 目前,顯示技術(shù)和顯示工業(yè)的發(fā)展迅速。顯示技術(shù)是傳遞視覺的信息技術(shù)。液晶 顯示器件 LCD 是當(dāng)今最有發(fā)展前途的一種平板顯示器件,它具有很多獨到的優(yōu)異特性。 它具有顯示信息多、易于多彩化、體積小、重量輕、功耗低、壽命長、價格低、無輻 射、無污染、接口控制方便等優(yōu)點。 BMP 是一種與硬件設(shè)備無關(guān)的圖像文件格式,使用非常廣。它采用位映射存儲格式, 除了圖像深度可選以外,不采用其他任何壓縮,因此,BMP 文件所占用的空間很大。 而且 JPEG 是一種很靈活的格式,具有調(diào)節(jié)圖像質(zhì)量的功能,允許用不同的壓縮比例對 文件進(jìn)行壓縮,支持多種壓縮級別。 沈陽理工大學(xué)課程設(shè)計報告 2 2 總體設(shè)計 2.1 圖片顯示的基本原理 BMP 是一種與硬件設(shè)備無關(guān)的圖像文件格式,使用非常廣。它采用位映射存儲格 式,除了圖像深度可選以外,不采用其他任何壓縮,因此,BMP 文件所占用的空間很 大。BMP 文件的圖像深度可選 lbit、4bit、8bit、16bit、24bit 及 32bit。BMP 文件存儲 數(shù)據(jù)時,圖像的掃描方式是按從左到右、從下到上的順序。 JPEG 是最常用的圖像文件格式,由一個軟件開發(fā)聯(lián)合會組織制定,是一種有損壓 縮格式,能夠?qū)D像壓縮在很小的儲存空間,圖像中重復(fù)或不重要的資料會被丟失, 因此容易造成圖像數(shù)據(jù)的損傷。尤其是使用過高的壓縮比例,將使最終解壓縮后恢復(fù) 的圖像質(zhì)量明顯降低,如果追求高品質(zhì)圖像,不宜采用過高壓縮比例。但是 JPEG 壓 縮技術(shù)十分先進(jìn),它用有損壓縮方式去除冗余的圖像數(shù)據(jù),在獲得極高的壓縮率的同 時能展現(xiàn)十分豐富生動的圖像,換句話說,就是可以用最少的磁盤空間得到較好的圖 像品質(zhì)。 而且 JPEG 是一種很靈活的格式,具有調(diào)節(jié)圖像質(zhì)量的功能,允許用不同的 壓縮比例對文件進(jìn)行壓縮,支持多種壓縮級別,壓縮比率通常在 10:1 到 40:1 之間, 壓縮比越大,品質(zhì)就越低;相反地,壓縮比越小,品質(zhì)就越好。當(dāng)然也可以在圖像質(zhì) 量和文件尺寸之間找到平衡點。JPEG 格式壓縮的主要是高頻信息,對色彩的信息保留 較好,適合應(yīng)用于互聯(lián)網(wǎng),可減少圖像的傳輸時間,可以支持 24bit 真彩色,也普遍應(yīng) 用于需要連續(xù)色調(diào)的圖像。 2.2 圖片顯示設(shè)計分析 在程序方面,采用分塊設(shè)計的方法,這樣既減小了編程難度、使程序易于理解, 又能便于添加各項功能。該程序?qū)崿F(xiàn)瀏覽PICTURE 文件夾下的所有圖片及其名字, 配合SD卡能夠?qū)崿F(xiàn)順序顯示出每一副圖片,并每隔3s左右切換一幅圖片。 具體要實現(xiàn)的目標(biāo)有:更新內(nèi)存卡,即圖片可進(jìn)行變換;定時自動跳轉(zhuǎn)下一幅圖 片;可以通過按鍵快速跳到下一幅圖片;可以通過按鍵返回到上一幅圖片;初始狀態(tài) 顯示本次課設(shè)的基本信息;可對顯示信息的漢字進(jìn)行自定義。 沈陽理工大學(xué)課程設(shè)計報告 3 2.3 系統(tǒng)的結(jié)構(gòu)框圖 STM32 2.1 系統(tǒng)結(jié)構(gòu)框圖 存儲圖像 SD 卡 鍵盤按鍵 LED 提示燈 TFT LCD 沈陽理工大學(xué)課程設(shè)計報告 4 3 詳細(xì)設(shè)計 3.1 硬件設(shè)計 3.1.1 ALIENTEK MiniSTM32 開發(fā)板簡介 ALIENTEK MiniSTM32 開發(fā)板是一款迷你型的開發(fā)板,小巧而不小氣,簡約而不簡 單。它的外觀尺寸只有 8cm*10cm 大小,板子的設(shè)計充分考慮了成本與功能這兩個矛盾 面,再結(jié)合實際使用的經(jīng)驗及 STM32 的特點,可有可無的選擇性價比最高的留下,最 終確定了這樣的設(shè)計。其資源豐富,設(shè)計靈活。 特點包括: 1)小巧。整個板子尺寸為 8cm*10cm*2cm。 2)靈活。板上除晶振外的所有的 IO 口全部引出,特別還有 GPIOA 和 GPIOB 的 IO 口是按順序引出的,可以極大的方便大家擴(kuò)展及使用,另外板載獨特的一鍵下載 功能,避免了頻繁設(shè)置 B0、B1 帶來的麻煩,直接在電腦上一鍵下載。 3)資源豐富。板載十多種外設(shè)及接口,可以充分挖掘 STM32 的潛質(zhì)。 4)質(zhì)量過硬。沉金 PCB+全新優(yōu)質(zhì)元器件+定制全銅鍍金排針/排座+ 電源 TVS 保護(hù), 堅若磐石。 3.1.2 功能簡介 開機(jī)的時候先檢測 SD 卡是否存在,然后初始化 FAT 文件系統(tǒng),在這之后開始查 找根目錄下的 PICTURE 文件夾,如果找到則顯示該文件夾下面的圖片,循環(huán)顯示,通 過按 KEY0 和 KEY1 可以快速瀏覽下一張和上一張。如果未找到圖片文件夾/圖片,則 提示錯誤。同樣我們也是用 LED0 來指示程序正在運行。 所要用到的硬件資源如下: 1)STM32。 2)外部 LED0。 3)TFTLCD 液晶模塊。 4)KEY0,KEY1。 5)SD 卡。 沈陽理工大學(xué)課程設(shè)計報告 5 1、 STM32 的簡單介紹 圖 3.1 STM32 原理圖 選擇 STM32F103RBT6 作為 MCU,原因是其性價比高,128K FLASH、20K SRAM、2 個 SPI、3 個串口、1 個 USB、1 個 CAN、2 個 12 位的 ADC、RTC、51 個可用 IO 腳,所以我們選擇了它作為我們的主芯片。 2、 外部 LED0 圖 3.2 外部 LED0 原理圖 沈陽理工大學(xué)課程設(shè)計報告 6 其中 PWR 是系統(tǒng)電源指示燈,為藍(lán)色。LED0 和 LED1 分別接在 PA8 和 PD2 上, PA8 還可以通過 TIM1 的通道 1 的 PWM 輸出來控制 DS0 的亮度。 3、 TFTLCD 液晶模塊 圖 3.3 TFTLCD 液晶顯示原理圖 TFT_LCD 是一個通用的液晶模塊接口。OLED 是一個給 OLED 顯示模塊供電的接口, 它和 TFT_LCD 拼接在一起。當(dāng)使用 2.4/2.8的 LCD 時,我們接到 TFT_LCD 上就可 以了,而當(dāng)我們使用 ALIENTEK 的 OLED 模塊時,則接 OLED 排陣做電源,同時會連接 到 TFT_LCD 上的部分管腳,從而實現(xiàn) OLED 與 MCU 的連接。 4、 按鍵 圖 3.4 按鍵輸入原理圖 KEY0 和 KEY1 用作普通按鍵輸入,分別連接在 PA13 和 PA15 上,他們都連接在了 JTAG 相關(guān)的引腳上(KEY0 還連接在 SWDIO 上) ,KEY0 和 KEY1 還和 PS/2 的 DAT 和 CLK 線共用,他們都通過 JTAG 的上拉電阻來提供上拉。 沈陽理工大學(xué)課程設(shè)計報告 7 WK_UP 按鍵連接到 PA0(STM32 的 WKUP 引腳),它除了可以用作普通輸入按鍵外, 還可以用作 STM32 的喚醒輸入。這個按鍵是高電平觸發(fā)的。 5、 SD 卡 圖 3.5 SD 卡部分原理圖 插入 SD 卡可以外擴(kuò)大容量存儲設(shè)備,可以用來記錄數(shù)據(jù)。 SD 卡我們使用的是 SPI 模式通信,SD 卡的 SPI 接口連接到 STM32 的 SPI1 上, SD_CS 接在 PA3 上。 3.2 軟件設(shè)計 圖片顯示系統(tǒng)需要有 STM32 開發(fā)板配合 SD 卡使用,因此其程序需要分為以下幾 個文件夾,硬件組成文件 HARDWARE 系統(tǒng)文,可以用來顯示漢字的 TEXT 文件,用 來識別圖片的 JPEG 文件用來讀取 SD 卡上的圖片文件的 FAT 文件以及存放主程序文 件 USER 文件件,和 STM32 的系統(tǒng)文件 SYSFILE。 沈陽理工大學(xué)課程設(shè)計報告 8 3.2.1 主函數(shù)部分 int main(void) u8 i; u8 key; FileInfoStruct *FileInfo; u16 pic_cnt=0; u16 index=0; u16 time=0; Stm32_Clock_Init(9); delay_init(72); uart_init(72,9600); LCD_Init(); KEY_Init(); LED_Init(); SPI_Flash_Init(); if(Font_Init() POINT_COLOR=RED; LCD_ShowString(60,50,Mini STM32); LCD_ShowString(60,70,Font ERROR); while(1); while(SysInfoGet(1) FAT_Init(); SD_Initialize(); LED0=!LED0; LCD_Fill(60,130,240,170,WHITE); delay_ms(500); Cur_Dir_Cluster=PICCLUSTER; while(1) pic_cnt=0; Get_File_Info(Cur_Dir_Cluster, FileInfo,T_JPEG|T_JPG|T_BMP, if(pic_cnt=0) LCD_Clear(WHITE); while(1) if(time%2=0) else LCD_Clear(WHITE); time+; delay_ms(300); 沈陽理工大學(xué)課程設(shè)計報告 9 FileInfo=. index=1; while(1) Get_File_Info(Cur_Dir_Cluster, FileInfo,T_JPEG|T_JPG|T_BMP, LCD_Clear(WHITE); AI_LoadPicFile(FileInfo,0,0,240,320); POINT_COLOR=RED; Show_Str(0,0,FileInfo-F_Name,16,1); while(1) key=KEY_Scan(); if(key=1) break; else if(key=2) if(index1)index-=2; else index=pic_cnt-1; break; delay_ms(1); time+; if(time%100=0) LED0=!LED0; if(time3000) time=0; break; index+; if(indexpic_cnt) index=1; 3.2.2 硬件部分程序 void KEY_Init(void) / 鍵盤相應(yīng)程序 RCC-APB2ENR|=1CRL|=0X; GPIOA-CRH GPIOA-CRH|=0X; GPIOA-ODR|=1ODR|=1APB2ENR|=1APB2ENR|=1CRH|=0X; GPIOA-ODR|=1CRL|=0X; GPIOD-ODR|=1APB2ENR|=1APB2ENR|=1CRL|=0XBBB00000; 沈陽理工大學(xué)課程設(shè)計報告 11 GPIOA-ODR|=0X7CR1|=0CR1|=1CR1|=1CR1|=1CR1|=0CR1|=1CR1|=1CR1|=7CR1|=0CR1|=1CR1|=0CR1|=1CR1|=2CR1|=3CR1|=7CR1|=1DR=TxData; retry=0; while(SPI1-SR return SPI1-DR; 3.2.3 識別圖片 FileInfoStruct *CurFile; /當(dāng)前解碼/操作的文件 void AI_Drow_Init(void) float temp,temp1; 沈陽理工大學(xué)課程設(shè)計報告 12 temp = (float)PICINFO.S_Width/PICINFO.ImgWidth; temp1 = (float)PICINFO.S_Height/PICINFO.ImgHeight; if(temp1)temp1=1; /使圖片處于所給區(qū)域的中間 PICINFO.S_XOFF+=(PICINFO.S_Width-temp1*PICINFO.ImgWidth)/2; PICINFO.S_YOFF+=(PICINFO.S_Height-temp1*PICINFO.ImgHeight)/2; temp1*=10000; /擴(kuò)大 10000 倍 PICINFO.Div_Fac=temp1; PICINFO.staticx=500; PICINFO.staticy=500; /放到一個不可能的值上面 /初始化量化表,全部清零 void InitTable(void) short i,j; sizei=sizej=0; PICINFO.ImgWidth=PICINFO.ImgHeight=0; rrun=vvalue=0; BitPos=0; CurByte=0; IntervalFlag=FALSE; restart=0; for(i=0;i3;i+) /量化表 for(j=0;j64;j+) qt_tableij=0; comp_num=0; HufTabIndex=0; /將解出的字按 RGB 形式存儲 void StoreBuffer(void) short i=0,j=0; unsigned char R,G,B; int y,u,v,rr,gg,bb; u16 color; u16 realx=sizej; u16 realy=0; for(i=0;iSampRate_Y_V*8;i+) if(sizei+i)PICINFO.ImgHeight) realy=PICINFO.Div_Fac*(sizei+i)/10000; if (!IsElementOk(realx,realy,0) continue; for (j=0;jSampRate_Y_H*8;j+) 沈陽理工大學(xué)課程設(shè)計報告 13 if(sizej+j)PICINFO.ImgWidth) realx=PICINFO.Div_Fac*(sizej+j)/10000; if (!IsElementOk(realx,realy,1) continue; y=Yi*8*SampRate_Y_H+j; u=U(i/V_YtoU)*8*SampRate_Y_H+j/H_YtoU; v=V(i/V_YtoV)*8*SampRate_Y_H+j/H_YtoV; rr=(y8; gg=(y8; bb=(y8; R=(unsigned char)rr; G=(unsigned char)gg; B=(unsigned char)bb; if (rr else if (rr255) G=255; else if (gg255) B=255; else if (bb3; color=color2); color=color3); POINT_COLOR=color; LCD_DrawPoint(realx+PICINFO.S_XOFF,realy+PICINFO.S_YOFF); else break; else break; void IQtIZzMCUComponent(short flag) short H,VV; short i,j; short *pQtZzMCUBuffer; short *pMCUBuffer; switch(flag) case 0: H=SampRate_Y_H; VV=SampRate_Y_V; pMCUBuffer=MCUBuffer; pQtZzMCUBuffer=QtZzMCUBuffer; break; case 1: H=SampRate_U_H; 沈陽理工大學(xué)課程設(shè)計報告 14 VV=SampRate_U_V; pMCUBuffer=MCUBuffer+Y_in_MCU*64; pQtZzMCUBuffer=QtZzMCUBuffer+Y_in_MCU*64; break; case 2: H=SampRate_V_H; VV=SampRate_V_V; pMCUBuffer = MCUBuffer + (Y_in_MCU+U_in_MCU)*64; pQtZzMCUBuffer = QtZzMCUBuffer + (Y_in_MCU+U_in_MCU)*64; break; for (i=0;iVV;i+) for (j=0;jH;j+) IQtIZzBlock(pMCUBuffer+(i*H+j)*64, pQtZzMCUBuffer+(i*H+j)*64,flag); 3.2.4 FAT 系統(tǒng) DWORD FirstDirClust; DWORD FirstDataSector; WORD BytesPerSector; DWORD FATsectors; WORD SectorsPerClust; DWORD FirstFATSector; DWORD FirstDirSector; fat32 DWORD RootDirSectors; DWORD RootDirCount; BYTE FAT32_Enable; DWORD Cur_Dir_Cluster; FAT_TABLE FAT_TAB; FileInfoStruct F_Info3; u8 fat_buffer512; u8 LongNameBufferMAX_LONG_NAME_SIZE;BOOL LongNameFlag = 0; const unsigned char *filetype23= MP1,MP2,MP3,MP4,M4A,3GP,3G2,OGG,ACC,WMA,WAV, MID,FLA, LRC,TXT,C ,H , ,FON,SYS,BMP,JPG,JPE ; 沈陽理工大學(xué)課程設(shè)計報告 15 3.2.5 程序流程圖 Y N 系統(tǒng)初始化 插入 SD 卡 結(jié)束 否讀取數(shù)據(jù) 在 LCD 上顯 示圖片及信息 跳到上一幅或 下一幅圖片 3s 后自動跳 轉(zhuǎn)到下一幅 有鍵按下? 開始 圖 3.6 程序流程圖 沈陽理工大學(xué)課程設(shè)計報告 16 4 實驗結(jié)果及分析 4.1 硬件實驗結(jié)果 圖 4.1 初始化顯示屏 圖 4.2 顯示圖片 4.2 結(jié)果分析 接通電源后,正確的讀取 SD 卡信息后,LCD 液晶顯示屏上顯示實驗題目及制作成 員等基本信息。隨后自動跳轉(zhuǎn)到圖片顯示模式。不對實驗板進(jìn)行操作時,每 3 秒會跳 轉(zhuǎn)到下一張圖片,顯示圖片及相應(yīng)的圖片信息,由于圖片的大小及像素不同,刷新顯 示的速度也有所不同,圖片顯示完畢后會伴隨 LED 小燈閃爍。 當(dāng)按下 WK_UP 鍵,可顯 示上一張圖片;按下 key1 鍵,顯示下一張圖片。按下 key0 可對 SD 卡進(jìn)行更新。圖片 設(shè)定為循環(huán)演
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)驅(qū)動的教育變革智慧教育的探索與實踐
- 提升學(xué)生自我效能感教育心理學(xué)的實踐路徑
- 提升學(xué)習(xí)體驗教育游戲化激勵機(jī)制的多元應(yīng)用
- 技術(shù)與課程整合的教學(xué)策略研究
- 2025年中國4-氯間苯二酚數(shù)據(jù)監(jiān)測研究報告
- 探索教育技術(shù)在商業(yè)人才培養(yǎng)中的價值
- 抖音商戶編導(dǎo)腳本審核流程制度
- 全球鈾礦資源市場潛力與2025年核能產(chǎn)業(yè)安全與環(huán)保研究報告
- C12-DG-PEG-MW-2000-1-2-Didodecanoyl-rac-glycero-3-methoxypolyethylene-glycol-MW-2000-生命科學(xué)試劑-MCE
- 亳州學(xué)院《食品營養(yǎng)與健康》2023-2024學(xué)年第一學(xué)期期末試卷
- 裝修貸款申請書
- 造林安全文明施工方案
- 員工作風(fēng)培訓(xùn)
- 施工現(xiàn)場防揚塵、防噪音、防光污染措施
- 瓶裝液化氣送氣工培訓(xùn)
- TSG 07-2019電梯安裝修理維護(hù)質(zhì)量保證手冊程序文件制度文件表單一整套
- 轉(zhuǎn)讓小飯桌合同范例
- 建設(shè)工程造價案例分析-形成性考核2(占形考總分25%)-國開(SC)-參考資料
- DB32T 1661-2010 足球場草坪建植與養(yǎng)護(hù)技術(shù)規(guī)程
- 2024年質(zhì)量知識競賽考試題庫500題(含答案)
- 醫(yī)療綜合服務(wù)平臺解決方案
評論
0/150
提交評論