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

第八講 單片機(jī)驅(qū)動(dòng)彩色液晶屏 控制RA8889軟件:顯示圖片

這篇具有很好參考價(jià)值的文章主要介紹了第八講 單片機(jī)驅(qū)動(dòng)彩色液晶屏 控制RA8889軟件:顯示圖片。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

單片機(jī)驅(qū)動(dòng)TFT彩色液晶屏系列講座

目錄

第一講 單片機(jī)最小系統(tǒng)STM32F103C6T6通過RA8889驅(qū)動(dòng)彩色液晶屏播放視頻
第二講 單片機(jī)最小系統(tǒng)STM32F103C6T6控制RA8889驅(qū)動(dòng)彩色液晶屏硬件框架
第三講 單片機(jī)驅(qū)動(dòng)彩色液晶屏 控制RA8889軟件:如何初始化
第四講 單片機(jī)驅(qū)動(dòng)彩色液晶屏 控制RA8889軟件:繪圖
第五講 單片機(jī)驅(qū)動(dòng)彩色液晶屏 控制RA8889軟件:顯示文字:Part1.內(nèi)部字庫
第六講 單片機(jī)驅(qū)動(dòng)彩色液晶屏 控制RA8889軟件:顯示文字:Part2.外接字庫
第七講 單片機(jī)驅(qū)動(dòng)彩色液晶屏 控制RA8889軟件:顯示文字:Part3.自建字庫
第八講 單片機(jī)驅(qū)動(dòng)彩色液晶屏 控制RA8889軟件:顯示圖片
第九講 單片機(jī)驅(qū)動(dòng)彩色液晶屏 控制RA8889軟件:顯存操作
第十講 單片機(jī)驅(qū)動(dòng)彩色液晶屏 控制RA8889軟件:圖像運(yùn)算
第十一講 單片機(jī)驅(qū)動(dòng)彩色液晶屏 控制RA8889軟件:播放avi視頻
第十二講 單片機(jī)驅(qū)動(dòng)彩色液晶屏 如何打包bin檔
第十三講單片機(jī)驅(qū)動(dòng)彩色液晶屏 bin檔的燒錄方法

下面我們開始介紹如何顯示圖片了!一般情況圖資建議存放在RA8889 / RA8876擴(kuò)展的FLASH芯片,容量可依據(jù)實(shí)際需求來做選擇。

顯示圖片有如下幾種方式:
ra8889,單片機(jī)驅(qū)動(dòng)TFT彩色液晶屏系列講座,單片機(jī),嵌入式硬件

RA8889支持QPI(Quad Peripheral Interface)通信方式,這可大大加快DMA速度,圖片顯示速度很快!同時(shí)結(jié)合JPG硬件解碼,圖片顯示速度又再提高一個(gè)數(shù)量級(jí),相當(dāng)強(qiáng)大的功能!

采用DMA方式顯示BMP圖片

實(shí)現(xiàn)方法是MCU將要調(diào)用圖片的寬高和地址發(fā)送給RA8889,爾后交給RA8889從FLASH內(nèi)部連續(xù)獲取圖片數(shù)據(jù),過程不需要MCU干預(yù)了,因此顯示速度很快,若采用QPI通信則更快了!

顯示BMP圖片的API代碼:

void DMA_24bit(unsigned char Clk ,unsigned short X1,unsigned short Y1,unsigned short X_W,unsigned short Y_H ,unsigned short P_W ,unsigned long Addr);
void DMA_32bit(unsigned char Clk ,unsigned short X1,unsigned short Y1,unsigned short X_W,unsigned short Y_H ,unsigned short P_W,unsigned long Addr);
顯示JPG圖片

JPG圖片的顯示也很簡單,自動(dòng)選擇QPI通信方式,由于JPG數(shù)據(jù)經(jīng)過壓縮,容量是BMP圖片的10%左右,再加上采用QPI獲取數(shù)據(jù),顯示圖片速度相比BMP圖片會(huì)有一個(gè)指數(shù)級(jí)的提高。

也因此RA8889還支持AVI影片的播放,這部份內(nèi)容在后文再作介紹。

顯示JPG圖片的API代碼:

void JPG_NOR (unsigned long addr,unsigned long JPGsize,unsigned long IDEC_canvas_width,unsigned short x,unsigned short y);
采用MCU直接寫入BMP圖片

BMP圖片還可以從MCU直接寫入,直接寫入的數(shù)據(jù)是存在MCU的FLASH中,這種方法速度比較慢,小的圖片、圖標(biāo)可行,太大要考慮速度是否可接受了,再者圖片大也可能存不進(jìn)FLASH。

MCU寫入圖片調(diào)用的API函數(shù)如下:

void BTE_MCU_Write_MCU_8bit(unsigned long S1_Addr,unsigned short S1_W,unsigned short XS1,unsigned short YS1,unsigned long Des_Addr,unsigned short Des_W, unsigned short XDes,unsigned short YDes,unsigned int ROP_Code,unsigned short X_W,unsigned short Y_H,const unsigned char *data);
void BTE_MCU_Write_MCU_16bit(unsigned long S1_Addr,unsigned short S1_W,unsigned short XS1,unsigned short YS1,unsigned long Des_Addr,unsigned short Des_W, unsigned short XDes,unsigned short YDes,unsigned int ROP_Code,unsigned short X_W,unsigned short Y_H,const unsigned short *data);
顯示PNG圖片

PNG圖片的顯示類似BMP,不一樣的是顯存要先指定一個(gè)Buffer空間,用于處理透明色,處理完之后再復(fù)制到指定位置。

顯示PNG圖片的API代碼:

void SPI_NOR_DMA_png (unsigned long dma_page_addr,unsigned long pic_buffer_Layer,unsigned long Show_pic_Layer,unsigned int picture_Width,unsigned int picture_Height);
顯示圖形光標(biāo)

圖形光標(biāo)的顯示會(huì)有點(diǎn)不同,RA8889內(nèi)建4個(gè)32x32點(diǎn)陣可自定義的圖形光標(biāo),建好的圖形光標(biāo)可類似桌面系統(tǒng)的光標(biāo)(比如鼠標(biāo)形狀)自由指定坐標(biāo),光標(biāo)是顯示在另外一個(gè)圖層。

圖形光標(biāo)實(shí)例演示:

圖形光標(biāo)效果演示

圖形光標(biāo)演示代碼:

//文字光標(biāo)演示
	Enable_Text_Cursor_Blinking();
	Blinking_Time_Frames(10);
	Text_Cursor_H_V(15,1);
	Enable_Text_Cursor();
	delay_seconds(1);
	Show_String("d");	delay_ms(300);
	Show_String("i");	delay_ms(300);
	Show_String("r");	delay_ms(300);
	Show_String(" ");	delay_ms(1000);
	for(i=0;i<14;i++)
	{
		delay_ms(300);
		Text_Cursor_H_V(15-i,1+i);	 
	}
	delay_seconds(3);
	Disable_Text_Cursor();
	
	BTE_Solid_Fill(0,canvas_image_width,0,32+24+4+28+20+28+28+20+28+108+28+24,0x4410,LCD_width,83);
	Foreground_color_65k(White); 
	Goto_Text_XY(0,32+24+4+28+20+28+28+20+28+108+28+24);
	Show_String("Demo graphic cursor:");

	CGROM_Select_Internal_CGROM();	//選擇內(nèi)部字庫
	Font_Select_12x24_24x24();
	Set_Graphic_Cursor_Color_1(0xff);
	Set_Graphic_Cursor_Color_2(0x00);

	Graphic_cursor_initial();		//內(nèi)部圖形光標(biāo)
	Graphic_Cursor_XY(0,32+24+4+28+20+28+28+20+28+108+28+28+28);
	Select_Graphic_Cursor_1();  
	delay_ms(1000);
	Select_Graphic_Cursor_2();
	delay_ms(1000);
	Select_Graphic_Cursor_3();
	delay_ms(1000);
	Select_Graphic_Cursor_4();
	delay_ms(1000);
	Select_Graphic_Cursor_1(); 
	
	for(j=0;j<6;j++)
	{
		for(i=0;i<800;i++)
		{
			Graphic_Cursor_XY(i,32+24+4+28+20+28+28+20+28+108+28+28+28-j*50);	
			delay_ms(3);   
	   }
	}
	Graphic_Cursor_XY(0,32+24+4+28+20+28+28+20+28+108+28+28+28);	
	delay_seconds(3);
	Disable_Graphic_Cursor();
BMP圖片格式

補(bǔ)充一些說明,BMP圖片即原圖無壓縮,每一個(gè)點(diǎn)是由RGB三個(gè)像素構(gòu)成,如果是24位,則RGB為8:8:8,即3個(gè)字節(jié)表示一個(gè)點(diǎn)。我們畫圖軟件描一張圖,僅紅綠藍(lán)三個(gè)點(diǎn):
ra8889,單片機(jī)驅(qū)動(dòng)TFT彩色液晶屏系列講座,單片機(jī),嵌入式硬件

用轉(zhuǎn)檔軟件(ImageTool等軟件)取出來點(diǎn)陣數(shù)據(jù)就可以燒進(jìn)FLASH使用,我們可以打開查看數(shù)據(jù)的二進(jìn)制內(nèi)容如下圖,前三個(gè)字節(jié)為取出來是0xFF0000,即表示紅色;接下來是0x00FF00表示綠色;最后一個(gè)是0x0000FF表示藍(lán)色。注意數(shù)據(jù)是LSB->MSB存放,因此倒過來拼在一起。
ra8889,單片機(jī)驅(qū)動(dòng)TFT彩色液晶屏系列講座,單片機(jī),嵌入式硬件
如果是16位,則RGB為5:6:5,即2個(gè)字節(jié)表示一個(gè)點(diǎn)。我們?cè)俅蜷_查看數(shù)據(jù)的二進(jìn)制內(nèi)容如下圖,前兩個(gè)字節(jié)為取出來是0xF800,即表示紅色;接下來是0x07E0表示綠色;最后一個(gè)是0x001F表示藍(lán)色。ra8889,單片機(jī)驅(qū)動(dòng)TFT彩色液晶屏系列講座,單片機(jī),嵌入式硬件

如果是8位,則RGB為3:3:2,即1個(gè)字節(jié)表示一個(gè)點(diǎn)。我們?cè)俅蜷_查看數(shù)據(jù)的二進(jìn)制內(nèi)容如下圖,第一個(gè)字節(jié)為取出來是0xE0,即表示紅色;接下來是0x1C表示綠色;最后一個(gè)是0x03表示藍(lán)色。
ra8889,單片機(jī)驅(qū)動(dòng)TFT彩色液晶屏系列講座,單片機(jī),嵌入式硬件

BMP圖片存入FLASH的格式即如此,RA8889 / RA8876進(jìn)行DMA調(diào)用就是一點(diǎn)一點(diǎn)讀取,然后再寫入顯存。

液晶屏初始化是8位色、16位色或者24位色,那么也只能顯示相應(yīng)位深的圖片,實(shí)際使用時(shí)打包圖片數(shù)據(jù)要注意選擇好,使圖片數(shù)據(jù)格式與初始化的格式一致。

關(guān)于顯存,下一章節(jié)再進(jìn)行介紹。

第八講 THE END

了解更多信息:http://www.lcdvision.com.cn文章來源地址http://www.zghlxwxcb.cn/news/detail-814918.html

到了這里,關(guān)于第八講 單片機(jī)驅(qū)動(dòng)彩色液晶屏 控制RA8889軟件:顯示圖片的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 第七講 單片機(jī)驅(qū)動(dòng)彩色液晶屏 控制RA8889軟件:顯示文字:Part3.自建字庫

    第七講 單片機(jī)驅(qū)動(dòng)彩色液晶屏 控制RA8889軟件:顯示文字:Part3.自建字庫

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

    2024年01月21日
    瀏覽(27)
  • 51單片機(jī)LCD1602液晶屏顯示方法

    51單片機(jī)LCD1602液晶屏顯示方法

    以顯示hello,world!? ? 2022.10.17? 為例。 首先把LCD1602的模塊化程序添加到項(xiàng)目目錄中,模塊化方法在51單片機(jī)之程序模塊化_學(xué)習(xí)筆記吧的博客-CSDN博客這里可以學(xué)習(xí)。 實(shí)驗(yàn)程序: LCD1602.c文件代碼: LCD1602.h文件代碼: 把這兩個(gè)代碼,分別添加到LCD1602.c 和 LCD1602.h 文件,然后添加

    2023年04月08日
    瀏覽(23)
  • 51單片機(jī)學(xué)習(xí)筆記-12LCD1602液晶屏

    51單片機(jī)學(xué)習(xí)筆記-12LCD1602液晶屏

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

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

    【51單片機(jī)系列】proteus中的LCD12864液晶屏

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

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

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

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

    2024年02月05日
    瀏覽(19)
  • 51單片機(jī)LCD1602液晶屏顯示字符,字符串,(有)無符號(hào)整數(shù),十六進(jìn)制數(shù),二進(jìn)制數(shù)等

    51單片機(jī)LCD1602液晶屏顯示字符,字符串,(有)無符號(hào)整數(shù),十六進(jìn)制數(shù),二進(jìn)制數(shù)等

    LCD1602液晶顯示器是廣泛使用的一種字符型液晶顯示模塊。液晶顯示模塊具有體積小、功耗低、顯示內(nèi)容豐富、超薄輕巧等優(yōu)點(diǎn),在嵌入式應(yīng)用系統(tǒng)中得到越來越廣泛的應(yīng)用,這講中向大家介紹的LCD1602?液晶顯示模塊(其內(nèi)部控制器為HD44780?芯片),它可以顯示兩行,每行16?個(gè)字

    2024年02月04日
    瀏覽(33)
  • 低端單片機(jī)彩色屏幕的內(nèi)存占用疑惑

    問題: 假設(shè)320*240的rgb565屏幕,320*240*2=153600,內(nèi)存已經(jīng)150K了,而很多低端單片機(jī)接口速度雖然勉強(qiáng)能用,但內(nèi)存只有20K/8K,整屏的顯存是絕對(duì)放不下的,只刷一部分都占很多內(nèi)存,低端單片機(jī)刷彩屏都是寫哪刷哪靜態(tài)刷新的嗎?這種場(chǎng)合比較合適的解決方法是什么?外掛ra

    2024年01月19日
    瀏覽(23)
  • 【期末不掛科-單片機(jī)考前速過系列P8】(第八章:21題速過AT89S51單片機(jī)的內(nèi)部硬件結(jié)構(gòu))經(jīng)典例題盤點(diǎn)(帶圖解析)

    【期末不掛科-單片機(jī)考前速過系列P8】(第八章:21題速過AT89S51單片機(jī)的內(nèi)部硬件結(jié)構(gòu))經(jīng)典例題盤點(diǎn)(帶圖解析)

    前言 大家好吖,歡迎來到 YY 滴C++系列 ,熱烈歡迎! 本章主要內(nèi)容面向接觸過C++的老鐵 主要內(nèi)容含: 歡迎訂閱 YY 滴C++專欄!更多干貨持續(xù)更新!以下是傳送門! YY的《C++》專欄 YY的《C++11》專欄 YY的《Linux》專欄 YY的《數(shù)據(jù)結(jié)構(gòu)》專欄 YY的《C語言基礎(chǔ)》專欄 YY的《初學(xué)者易

    2024年01月19日
    瀏覽(114)
  • 單片機(jī)開發(fā)教程5——51單片機(jī)驅(qū)動(dòng)TFT彩屏

    單片機(jī)開發(fā)教程5——51單片機(jī)驅(qū)動(dòng)TFT彩屏

    TFT.zip 開發(fā)資料中的例程有些瑕疵,上面是整理后的例程,修改了一些參數(shù),也添加了不少函數(shù),函數(shù)都有對(duì)應(yīng)的注釋,只要花心思去看一應(yīng)該是能看懂怎么用的。此外,這個(gè)例程也可以作為你們工程的模板,往上面添加一些函數(shù)、完善一下內(nèi)容,差不多就能做出一個(gè)作品了

    2023年04月23日
    瀏覽(31)
  • 【單片機(jī)】51單片機(jī),TLC2543,驅(qū)動(dòng)程序,讀取adc

    【單片機(jī)】51單片機(jī),TLC2543,驅(qū)動(dòng)程序,讀取adc

    TLC2543 是一款 12 位精密模數(shù)轉(zhuǎn)換器 (ADC)。 1~9、11、12——AIN0~AIN10為模擬輸入端; 15——CS 為片選端; 17——DIN 為串行數(shù)據(jù)輸入端;(控制字輸入端,用于選擇轉(zhuǎn)換及輸出數(shù)據(jù)格式) 16——DOUT為A/D轉(zhuǎn)換結(jié)果的三態(tài)串行輸出端;(A/D轉(zhuǎn)換結(jié)果的輸出端。) 19——EOC為轉(zhuǎn)換結(jié)束端

    2024年02月14日
    瀏覽(25)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包