国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

STM32之LCD液晶屏(ILI9341)顯示圖片

這篇具有很好參考價值的文章主要介紹了STM32之LCD液晶屏(ILI9341)顯示圖片。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

本文章基于STM32F103VET6,參考野火的驅動程序,用LCD液晶屏顯示靜態(tài)圖像。

有紕漏請指出,轉載請說明。

學習交流請發(fā)郵件 1280253714@qq.com

編程要點

  1. 顯示一個像素點

  1. 將rgb888圖片轉為rgb555

  1. 輸出rgb555的C語言數(shù)組

  1. 數(shù)組的每一個元素對應一個像素點的rgb三個通道的數(shù)據(jù),用stm32的FSMC模擬8080時序,與ili9341進行通信,ili9341再驅動液晶屏顯示圖片

代碼分析

    • 顯示一個像素點

void ILI9341_SetPointPixelNew ( uint16_t usX, uint16_t usY,uint16_t currentFillColor)    
{    
    if ( ( usX < LCD_X_LENGTH ) && ( usY < LCD_Y_LENGTH ) )
  {
        ILI9341_SetCursor ( usX, usY );
        
        ILI9341_FillColor ( 1, currentFillColor );
    }    
}

void LCD_showPointPixel(void)
{
    ILI9341_SetPointPixelNew(10,10,0xf800);
    Delay(0xFFFFFF);
}
ili9341 圖片顯示,matlab,圖像處理,stm32,Powered by 金山文檔

(為了方便看清,這里實際上顯示了四個點)

2. 將rgb888圖片轉為rgb555(MATLAB)

ili9341 圖片顯示,matlab,圖像處理,stm32,Powered by 金山文檔
x=60
y=80
img888=imread("E:\MATLAB\bin\my_MATLAB_Doc\img\color.png");

scaleR=31/255;  
scaleG=63/255;
scaleB=31/255;

img565=zeros(x,y);

for i=1:x
    for j=1:y
        r5=0;
        g6=0;
        b5=0;
        r5=round(double(img888(i,j,1))*scaleR);
        g6=round(double(img888(i,j,2))*scaleG);
        b5=round(double(img888(i,j,3))*scaleB);
        r5L11=bitshift(r5,11);  %r左移11位
        g6L5=bitshift(g6,5);    %g左移5位
        img565(i,j)=r5L11+g6L5+b5;
    end
end
img565=dec2hex(uint16(img565));

3.輸出rgb555的C語言數(shù)組(MATLAB)

%生成C語言數(shù)組
str="{0x"
a=dec2hex(img565(1))
for i=1:x*y
    for j=1:4
        str=strcat(str,img565(i,j));            
    end
    str=strcat(str,",0x");
end
str=strcat(str,'}');
writematrix(str,"E:\MATLAB\bin\my_MATLAB_Doc\img\createArray.txt")
ili9341 圖片顯示,matlab,圖像處理,stm32,Powered by 金山文檔

因為數(shù)組存放于SRAM,只有64K的空間,故只生成60*80大小的圖片文章來源地址http://www.zghlxwxcb.cn/news/detail-703457.html

ili9341 圖片顯示,matlab,圖像處理,stm32,Powered by 金山文檔
ili9341 圖片顯示,matlab,圖像處理,stm32,Powered by 金山文檔
ili9341 圖片顯示,matlab,圖像處理,stm32,Powered by 金山文檔
ili9341 圖片顯示,matlab,圖像處理,stm32,Powered by 金山文檔
ili9341 圖片顯示,matlab,圖像處理,stm32,Powered by 金山文檔

4. 數(shù)組的每一個元素對應一個像素點的rgb三個通道的數(shù)據(jù),用stm32的FSMC模擬8080時序,與ili9341進行通信,ili9341再驅動液晶屏顯示圖片.

uint16_t PictureData [ ] ={0x95DA,0x95DA,0x95DA,0x95DA...} //省略

void ILI9341_ShowPicture(uint16_t usX, uint16_t usY,uint16_t pic565[])
{
    uint32_t i=0;
    uint8_t x=0;
    uint8_t y=0;
    for(x=0;x<usX;x++)
    {
        for(y=0;y<usY;y++)
        {
            if ( ( x < LCD_X_LENGTH ) && ( y < LCD_Y_LENGTH ) )
            {
                ILI9341_SetCursor ( x, y );    
                ILI9341_FillColor ( 1, pic565[i] );
            }    
            i++;
        }
    }
}

int main ( void )
{

    ILI9341_Init ();         //LCD 初始化
    USART_Config();        

    //其中0、3、5、6 模式適合從左至右顯示文字,
    //不推薦使用其它模式顯示文字    其它模式顯示文字會有鏡像效果            
    //其中 6 模式為大部分液晶例程的默認顯示方向  
  ILI9341_GramScan ( 3 );
    while ( 1 )
    {
        LCD_showPicture();
    }
}


void LCD_showPicture(void)
{
    ILI9341_ShowPicture(80,60,PictureData);
    Delay(0xFFFFFF);
}
ili9341 圖片顯示,matlab,圖像處理,stm32,Powered by 金山文檔

到了這里,關于STM32之LCD液晶屏(ILI9341)顯示圖片的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 第八講 單片機驅動彩色液晶屏 控制RA8889軟件:顯示圖片

    第八講 單片機驅動彩色液晶屏 控制RA8889軟件:顯示圖片

    目錄 第一講 單片機最小系統(tǒng)STM32F103C6T6通過RA8889驅動彩色液晶屏播放視頻 第二講 單片機最小系統(tǒng)STM32F103C6T6控制RA8889驅動彩色液晶屏硬件框架 第三講 單片機驅動彩色液晶屏 控制RA8889軟件:如何初始化 第四講 單片機驅動彩色液晶屏 控制RA8889軟件:繪圖 第五講 單片機驅動彩色液

    2024年01月22日
    瀏覽(22)
  • 【Linux下6818開發(fā)板(ARM)】在液晶屏上顯示RGB顏色和BMP圖片

    【Linux下6818開發(fā)板(ARM)】在液晶屏上顯示RGB顏色和BMP圖片

    (??? ),hello我是 祐言 博客主頁:C語言基礎,Linux基礎,軟件配置領域博主?? 快上??,一起學習! 送給讀者的一句雞湯??: 集中起來的意志可以擊穿頑石! 作者水平很有限,如果發(fā)現(xiàn)錯誤,可在評論區(qū)指正,感謝?? ????????在嵌入式系統(tǒng)的開發(fā)中,我們經(jīng)常需要在液晶

    2024年02月08日
    瀏覽(24)
  • 51單片機學習筆記-12LCD1602液晶屏

    51單片機學習筆記-12LCD1602液晶屏

    [toc] 注:筆記主要參考B站江科大自化協(xié)教學視頻“51單片機入門教程-2020版 程序全程純手打 從零開始入門”。 注:工程及代碼文件放在了本人的Github倉庫。 LCD1602(Liquid Crystal Display)液晶顯示屏是一種字符型液晶顯示模塊,可以顯示ASCII碼的標準字符和其它的一些內置特殊字

    2024年02月11日
    瀏覽(32)
  • Proteus仿真-LCD1602液晶屏使用方法(驅動一)

    Proteus仿真-LCD1602液晶屏使用方法(驅動一)

    一、硬件鏈接 在元件庫中搜索LM016即可找到LCD1602液晶屏。 按下圖方式鏈接單片機和屏幕。 二、軟件驅動代碼 三、示例程序

    2024年02月12日
    瀏覽(16)
  • 【51單片機系列】proteus中的LCD12864液晶屏

    【51單片機系列】proteus中的LCD12864液晶屏

    文章來源:《單片機C語言編程與Proteus仿真技術》。 點陣字符型LCD顯示模塊只能顯示英文字符和簡單的漢字,要想顯示較為復雜的漢字或圖形,就必須采用點陣圖型LCD顯示模塊,比如12864點陣圖型LCD顯示模塊。 12864點陣圖型LCD顯示模塊內部控制器采用KS0108或HD61202。其引腳排列

    2024年01月19日
    瀏覽(22)
  • 51單片機——LCD1602液晶屏 C語言入門編程

    51單片機——LCD1602液晶屏 C語言入門編程

    目錄 LCD1602: 數(shù)據(jù)指令:? 字節(jié)寫入時序: 1. LCD1602:LCD1602液晶上顯示字符信息 ????????1602液晶也叫1602字符型液晶,它能顯示2行字符信息,每行又能顯示16個字符。它是一種專門用來顯示字母、數(shù)字、符號的點陣型液晶模塊。它是由若 干個5x7的點陣字符位組成,每個點

    2024年02月05日
    瀏覽(19)
  • 【雕爺學編程】Arduino動手做(85)---LCD1602液晶屏模塊7

    【雕爺學編程】Arduino動手做(85)---LCD1602液晶屏模塊7

    37款傳感器與執(zhí)行器的提法,在網(wǎng)絡上廣泛流傳,其實Arduino能夠兼容的傳感器模塊肯定是不止這37種的。鑒于本人手頭積累了一些傳感器和執(zhí)行器模塊,依照實踐出真知(一定要動手做)的理念,以學習和交流為目的,這里準備逐一動手嘗試系列實驗,不管成功(程序走通)

    2024年02月16日
    瀏覽(21)
  • 【STM32】SPI通訊控制ILI9341顯示屏

    【STM32】SPI通訊控制ILI9341顯示屏

    ILI9341是一款分辨率為 240x320 分辨率 的a- tft液晶顯示單片SOC驅動,由720通道源驅動、320通道門驅動、 172800字節(jié)GRAM (240RGBx320點位圖形顯示數(shù)據(jù))和電源電路組成。 ILI9341支持并行8-/9-/16-/18位數(shù)據(jù)總線MCU接口,6-/16-/18位數(shù)據(jù)總線RGB接口和3 /4線串行外圍接口 SPI通訊 。通過窗口地址函

    2024年01月21日
    瀏覽(24)
  • OLED 液晶屏顯示模塊(0.96寸)

    OLED 液晶屏顯示模塊(0.96寸)

    ? ? ? ?OLED,即有機發(fā)光二極管(Organic Light-Emitting Diode),又稱為有機電激光顯示(Organic Electroluminesence Display, OELD)。因為具備輕薄、省電等特性,因此從 2003 年開始,這種顯示設備在 MP3 播放器上得到了廣泛應用,而對于同屬數(shù)碼類產(chǎn)品的 DC與手機,此前只是在一些展會上

    2024年02月05日
    瀏覽(21)
  • 關于配置tft液晶屏時,屏幕不顯示遇到的問題

    關于配置tft液晶屏時,屏幕不顯示遇到的問題

    本人新手小白,在使用單片機配置tft屏幕時,發(fā)現(xiàn)屏幕一直顯示白屏(如下圖)。但是仔細檢查多遍后都無法找到問題所在,于是在CSDN上搜索了很久都沒有發(fā)現(xiàn)類似問題的解決方法。無奈只能重新回到代碼上尋找原因,終于功夫不負有心人讓我找到了問題并成功解決。以下向

    2024年02月16日
    瀏覽(11)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包