下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
AN1103AN1103FLASH圖片顯示AN1103AN1103FLASH圖片顯示(開(kāi)發(fā)板為實(shí)驗(yàn)對(duì)象。本文檔分為如下幾部分:1,2,3,圖片顯示原理。Image2lcd簡(jiǎn)介。軟件實(shí)現(xiàn)。2個(gè)要素:1,坐標(biāo)。2,LCD上顯示出來(lái),我們只需要在正你的畫點(diǎn)函數(shù)。320*240的圖像,以16位色計(jì)算,那么光顏色的數(shù)據(jù)量就有:320*240*2=153600字節(jié)。這其中還不包括設(shè)置坐標(biāo)的過(guò)程,如果加上坐標(biāo)設(shè)置,數(shù)據(jù)量就是顏色數(shù)據(jù)量的5倍(每次坐標(biāo)設(shè)置需要發(fā)送5次命令/數(shù)據(jù))以上。所以盡量?jī)?yōu)化畫點(diǎn)過(guò)程,才能使你的圖片顯示得流暢。ALIENTEK所LCD寫顏色數(shù)據(jù),而不需要再做地址設(shè)置了。這樣可以使5倍以上。開(kāi)窗也有幾個(gè)條件:1,窗大小。2,GRAM自增方向(就是掃描方向。1所示:110/09/2011AN1103240*31AN1103240*31000~0XE(x坐標(biāo)00~0X13(y坐標(biāo)。圖一中我們開(kāi)辟了一個(gè)灰XSTA~XEND,YSTA~YEND。這樣LCD寫數(shù)據(jù),它就只會(huì)在這個(gè)窗口范圍內(nèi)地址按照設(shè)定的方向自yxy(XSTA,YSTA)。窗方式來(lái)畫圖,從而提高效率。10/09/2011AN1103簡(jiǎn)介。Image2Lcd式以用來(lái)匹配單片機(jī)系統(tǒng)所需要的顯示數(shù)據(jù)格式。AN1103簡(jiǎn)介。Image2Lcd式以用來(lái)匹配單片機(jī)系統(tǒng)所需要的顯示數(shù)據(jù)格式。Image2Lcd支持的輸入圖像格式包括:,)、圖像數(shù)據(jù)排列方式、亮度、對(duì)比度、等等。對(duì)于包含了圖像頭數(shù)據(jù)保存的圖像數(shù)據(jù)文件,Image2Lcd能重新打開(kāi)作為輸入圖像。16位真彩色為例進(jìn)行說(shuō)明。在該軟件的幫助文件查到對(duì)“4096色/16位真彩色/18位真彩色/24位真彩色/32位真彩色”圖片,其生成的圖像數(shù)據(jù)頭的結(jié)構(gòu)為:typedefstruct_HEADCOLOR{unsignedcharscan;unsignedchargray;unsignedshortw;unsignedshorth;unsignedcharis565;unsignedcharrgb;}HEADCOLOR;各個(gè)成員的功能描述如下:scan:掃描模式0:自左至右掃描,1:自右至左掃描。0:自頂至底掃描,1:自底至頂掃描。Bit5:0:字節(jié)內(nèi)象素?cái)?shù)據(jù)從1:字節(jié)內(nèi)象素?cái)?shù)據(jù)從低位到排列。PC相同,1:WORDPC相反。Bit3~2:保留。Bit1~0:00]水平掃描,[01]垂直掃描,[10]數(shù)據(jù)水平,字節(jié)垂直,[11]數(shù)據(jù)垂直,字節(jié)水平。gray:灰度值32:32位彩色。w:圖像的寬度。h:圖像的高度。表示使用[16bits(WORD)]WORD表示[12bits(連續(xù)字節(jié)流)]12Bits代表一個(gè)象素。0RGB5Bits1RGB顏色。"6BitsinHighByte"。is565無(wú)效。Blue。wh,scan的最高兩位,則代表了圖片數(shù)據(jù)生成時(shí)的掃描方向,也就10/09/2011AN1103種掃描方式的圖片數(shù)據(jù)了。16AN1103種掃描方式的圖片數(shù)據(jù)了。16位真彩(RGB:565)格式的圖像數(shù)據(jù)。2image2lcdV2.93所示:33162163(位(MSBFit56(4處)得到圖像數(shù)組如下:constunsignedchargImage_image1[67208]={0X00,0X10,0XC8,0X00,0XA8,0X00,0X01,0X1B,……0X73,0XB7,0XF6,0XCF,0XF9,0XD7,0X98,0XCF,0X71,0XAE,0XD6,0XDF,0XFA,0XE7,0XF8,0XCF,10/09/2011AN11030XF6,0XC7,0X10,0X9F,0X53,0XB7,0XD5,0XC7,0XF6,0XCF,0X74,0XBF,0XD1,0XA6,0XF7,0XD7,};AN11030XF6,0XC7,0X10,0X9F,0X53,0XB7,0XD5,0XC7,0XF6,0XCF,0X74,0XBF,0XD1,0XA6,0XF7,0XD7,};HEADCOLOR的大小。緊隨其后的就是按設(shè)定的方向順序存放的圖像數(shù)據(jù)(顏色數(shù)據(jù)。這樣我們只需要在軟件上對(duì)這個(gè)數(shù)的數(shù)據(jù)進(jìn)行,就可以還原圖像了。10/09/2011AN1103AN1103(gImae_imae1需要一個(gè)開(kāi)窗函數(shù),以及一個(gè)掃描方向設(shè)置函數(shù),這里提供這兩個(gè)函數(shù)的代碼如下:的自動(dòng)掃描方向voidLCD_Scan_Dir(u8dir){u16regval=0;u8dirreg=0;使用橫屏switch(dir)//方向轉(zhuǎn)換{0:dir=6;break;1:dir=7;break;2:dir=4;break;3:dir=5;break;4:dir=1;break;5:dir=0;break;6:dir=3;break;7:dir=2;break;}#endifif(DeviceCode==0x8989)//8989IC{dirreg=0X11;IC{dirreg=0X03;}switch(dir){從左到右,從上到下regval|=(1<<5)|(1<<4)|(0<<3);break;caseL2R_D2U://從左到右,從下到上regval|=(0<<5)|(1<<4)|(0<<3);break;從右到左,從上到下regval|=(1<<5)|(0<<4)|(0<<3);break;10/09/2011AN1103caseR2L_D2U://從右到左,從下到上regval|=(0<<5)|(0<<4)|(0<<3);AN1103caseR2L_D2U://從右到左,從下到上regval|=(0<<5)|(0<<4)|(0<<3);break;從上到下,從左到右regval|=(1<<5)|(1<<4)|(1<<3);break;從上到下,從右到左regval|=(1<<5)|(0<<4)|(1<<3);break;caseD2U_L2R://從下到上,從左到右regval|=(0<<5)|(1<<4)|(1<<3);break;從下到上,從右到左regval|=(0<<5)|(0<<4)|(1<<3);break;}}//設(shè)置窗口//sx,sy,ex,ey窗口坐標(biāo)//窗口大小:(ex‐sx+1)*(ey‐ex+1)voidLCD_Set_Window(u16sx,u16sy,u16ex,u16ey){#ifUSE_HORIZONTAL //使用橫屏//窗口值hsaval=sy;heaval=ey;veaval=319‐sx;//豎屏#else//窗口值hsaval=sx;vsaval=sy;#endifif(DeviceCode==0X8989)//8989IC{水平方向窗口寄存器hsaval|=(heaval<<8); //得到寄存器值.(1289的由一個(gè)寄存器控制)10/09/2011AN1103heaval=hsaval;vsareg=0X45;veareg=0X46;//垂直方向窗口寄存器}else IC{水平方向窗口寄存器vsareg=0X52;veareg=0X53;//垂直方向窗口寄存器AN1103heaval=hsaval;vsareg=0X45;veareg=0X46;//垂直方向窗口寄存器}else IC{水平方向窗口寄存器vsareg=0X52;veareg=0X53;//垂直方向窗口寄存器}//設(shè)置寄存器值LCD_WriteReg(hsareg,hsaval);LCD_WriteReg(vsareg,vsaval);LCD_WriteReg(veareg,veaval);}這兩個(gè)函數(shù)已經(jīng)添加到ILI93xx.c的源碼中,具體請(qǐng)看本應(yīng)用文檔的對(duì)應(yīng)擴(kuò)展實(shí)驗(yàn)版本為USMARTV2.6。10usmart組建以及新IMAG2LCD4:4式也可以實(shí)現(xiàn)h‐de2lcd.c的內(nèi)容如下://816位顏色//mode:0,低位在前,在后.1, 在前,低位在后.//10/09/2011AN1103//str:數(shù)據(jù)AN1103//str:數(shù)據(jù)u16image_getcolor(u8mode,u8*str){if(mode){color|=*str;}else{color=*str++;}returncolor;}//在液晶上畫圖//xsta,ysta,xend,yend:畫圖區(qū)域的說(shuō)明.//*p:圖像數(shù)據(jù)voidimage_show(u16xsta,u16ysta,u16xend,u16yend,u8scan,u8*p){u32i;u32len=0;if((scan&0x03)==0)//水平掃描{switch(scan>>6)//設(shè)置掃描方式{case0:從左到右,從上到下LCD_SetCursor(xsta,ysta);//設(shè)置光標(biāo)位置break;case1:從左到右,從下到上LCD_SetCursor(xsta,yend);//設(shè)置光標(biāo)位置break;case2:從右到左,從上到下LCD_SetCursor(xend,ysta);//設(shè)置光標(biāo)位置break;case3:從右到左,從下到上LCD_SetCursor(xend,yend);//設(shè)置光標(biāo)位置break;10/09/2011AN1103}}else //垂直掃描{switch(scan>>6)//設(shè)置掃描方式{case0:AN1103}}else //垂直掃描{switch(scan>>6)//設(shè)置掃描方式{case0:從上到下,從左到右LCD_SetCursor(xsta,ysta);//設(shè)置光標(biāo)位置break;case1:從下到上從,左到右LCD_SetCursor(xsta,yend);//設(shè)置光標(biāo)位置break;case2:從上到下,從右到左LCD_SetCursor(xend,ysta);//設(shè)置光標(biāo)位置break;case3:從下到上,從右到左LCD_SetCursor(xend,yend);//設(shè)置光標(biāo)位置break;}}GRAMlen=(xend‐xsta+1)*(yend‐ysta+1);//寫入的數(shù)據(jù)長(zhǎng)度f(wàn)or(i=0;i<len;i++){p+=2;}#ifUSE_HORIZONTAL //使用橫屏LCD_Set_Window(0,0,319,239);#elseLCD_Set_Window(0,0,239,319);#endif}//在指定的位置顯示一個(gè)圖片image2lcd16位真彩色圖片.//限制:1,尺寸不能超過(guò)屏幕的區(qū)域.2,生成數(shù)據(jù)時(shí)不能勾選:3,必須包含圖片信息頭數(shù)據(jù)在前(MSBFirst)//////x,y:指定位置//imgx:圖片數(shù)據(jù)(必須包含圖片信息頭,"4096色/16位真彩色/18位真彩色/24位真彩色/32位10/09/2011AN1103真彩色”的圖像數(shù)據(jù)頭)image2lcd的"不正確!!voidAN1103真彩色”的圖像數(shù)據(jù)頭)image2lcd的"不正確!!voidimage_display(u16x,u16y,u8*imgx){HEADCOLOR*imginfo;imginfo的數(shù)據(jù)將imginfo=(HEADCOLOR*)imgx;}通過(guò)這三個(gè)函數(shù)即實(shí)現(xiàn)了對(duì)image2lcd軟件生成的任意掃描方向、任意尺寸(不大于240*320)的圖像數(shù)據(jù)的。flash里面的圖像數(shù)據(jù)進(jìn)行顯示imgxflash圖像數(shù)據(jù)的首地址。main函數(shù)里面的實(shí)現(xiàn)代碼如下:13FLASH圖片顯示實(shí)驗(yàn)//正點(diǎn)原子@ALIENTEK//技術(shù):intmain(void){u8i=0;u16x=0,y=0;u16x0,y0;imginfo=(HEADCOLOR*)gImage_image1; //得到文件信息Stm32_Clock_Init(9);//系統(tǒng)時(shí)鐘設(shè)置delay_init(72); //延時(shí)初始化//串口1初始化LED_Init();LCD_Init();LCD_ShowString(30,50,"MiniSTM32^_^");PICTURETEST");LCD_ShowString(30,90,"ATOM@ALIENTEK");1.5秒srand(imginfo‐>h*imginfo‐>w);while(1){if(i==0){10/09/2011AN1103LCD_Clear(0X0000);//黑屏{POINT_COLOR=RED;LCD_ShowString(10,70,"ThePictureistooAN1103LCD_Clear(0X0000);//黑屏{POINT_COLOR=RED;LCD_ShowString(10,70,"ThePictureistoolarge");continue;}x0=x;y0=y;w
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026廣東惠州市博羅縣中小企業(yè)發(fā)展事務(wù)中心招聘編外人員1人備考題庫(kù)含答案詳解
- 食品不合格食品處置制度
- 2026江西吉安市新供商貿(mào)物流有限公司招募就業(yè)見(jiàn)習(xí)人員2人備考題庫(kù)及答案詳解參考
- 罕見(jiàn)腫瘤的個(gè)體化治療藥物相互作用管理策略與決策-3
- 2026江西安源路橋集團(tuán)有限公司外聘人員招聘2人備考題庫(kù)有答案詳解
- 2026廣西百色市事業(yè)單位招聘1563人備考題庫(kù)有答案詳解
- 罕見(jiàn)腫瘤的個(gè)體化治療生活質(zhì)量干預(yù)措施與心理需求
- 少兒培訓(xùn)財(cái)務(wù)制度
- 砂石礦財(cái)務(wù)制度
- 建筑工程業(yè)財(cái)務(wù)制度
- 開(kāi)放性氣胸的臨床護(hù)理
- 山洪災(zāi)害監(jiān)理工作報(bào)告
- 鞏膜炎的治療
- 學(xué)?!暗谝蛔h題”學(xué)習(xí)制度
- DBJ52T-既有建筑幕墻安全性檢測(cè)鑒定技術(shù)規(guī)程
- 運(yùn)輸管理實(shí)務(wù)(第二版)李佑珍課件第6章 集裝箱多式聯(lián)運(yùn)學(xué)習(xí)資料
- 影片備案報(bào)告范文
- 心臟驟停應(yīng)急預(yù)案及流程
- 中山市市場(chǎng)主體住所(經(jīng)營(yíng)場(chǎng)所)信息申報(bào)表
- 播種施肥機(jī)械
- 初中校本課程-【課堂實(shí)錄】美麗的24節(jié)氣教學(xué)設(shè)計(jì)學(xué)情分析教材分析課后反思
評(píng)論
0/150
提交評(píng)論