日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]S3C2440自帶有LCD控制器,該控制器主要有以下接口僅僅說TFT顯示器,TFT顯示器的時序如下TFT顯示器的驅(qū)動是以行列的形式逐點(diǎn)掃描過來的,驅(qū)動時鐘有三種,一種是行時鐘,一種是列時鐘,還有一個點(diǎn)時鐘, VSYNC低電平期間需要

S3C2440自帶有LCD控制器,該控制器主要有以下接口


僅僅說TFT顯示器,TFT顯示器的時序如下



TFT顯示器的驅(qū)動是以行列的形式逐點(diǎn)掃描過來的,驅(qū)動時鐘有三種,一種是行時鐘,一種是列時鐘,還有一個點(diǎn)時鐘, VSYNC低電平期間需要掃描完一列數(shù)據(jù), HSYNC低電平期間要寫完一個點(diǎn)的數(shù)據(jù),vclk負(fù)責(zé)一個點(diǎn)的每一位數(shù)據(jù)寫入,實(shí)際上就是說,如果有a列,b行,一個點(diǎn)需c個VCLK時鐘,那么掃描完成需要的中vclk為a*b*c(近似,中間還有一些延時時間)

可以將這個過程看作是1602的刷新過程, VSYNC為低選擇一列, HSYNC為低選擇一行,然后寫入顯示數(shù)據(jù)還需要一個數(shù)據(jù)時鐘,寫完之后指針自動增長,中間的等待時間是設(shè)備響應(yīng)時間,在TFT上叫做同步時間,用于時鐘的同步,防止時鐘混亂

那么現(xiàn)在就有這些參數(shù)需要設(shè)置

VBPD: VSYNC與VCLK的開始同步時間

VSPW: VHYNC脈沖的高電平寬度

LINEVAL LCD面板的垂直尺寸:

VFPD: VSYNC與VCLK的結(jié)束同步時間

HBPD: HSYNC與VCLK的開始同步時間

HFPD: HSYNC與VCLK的結(jié)束同步時間

HOZVAL: 決定了LCD面板的水平尺寸

HSPW: HSYNC脈沖的高電平寬度

配置這些參數(shù)一般都依靠顯示器的數(shù)據(jù)手冊進(jìn)行配置,我使用群創(chuàng)4.3寸屏幕,數(shù)據(jù)手冊上顯示


也就是說,確定一個DCLK時間,剩下的都可以確定了.(配置之前注意IO口功能配置GPIOC和D)

根據(jù)這張表,驅(qū)動S3C2440的步驟分為以下幾步

1.設(shè)置DCLK頻率,像素比以及信號輸出


2.確定VSYC的開始同步結(jié)束同步以及高電平寬度還有尺寸


3.3.設(shè)置HSYC的開始同步結(jié)束同步以及高電平寬度還有尺寸


4.設(shè)置HSPW時間


5.對于輸出的圖像格式進(jìn)行一些選擇


6.設(shè)置LCD顯示緩沖區(qū)相關(guān)的數(shù)據(jù)

然后,CPU系統(tǒng)就會去自動刷新屏幕(使用緩沖區(qū)數(shù)據(jù)),而我們的讀出寫入都針對于緩沖區(qū),再由顯示器接口寫入顯示器

具體設(shè)置請查看程序:

Lcd.c

#include"tftlcd.h"volatilestaticunsignedshortLCD_BUFFER[SCR_YSIZE_TFT][SCR_XSIZE_TFT];//定義顯示緩存區(qū)/**************************************************************TFTLCD功能模塊初始化**************************************************************/voidLCDInit(void){//配置引腳rGPCUP=0x00000000;rGPCCON=0xaaaa02a9;rGPDUP=0x00000000;rGPDCON=0xaaaaaaaa;//InitializeVD[15:8]//TFTLCDpanel,16bppTFT,ENVID=offrLCDCON1=(CLKVAL_TFT<<8)"(MVAL_USED<<7)|(3<<5)|(12<<1)|0;rLCDCON2=(VBPD<<24)|(LINEVAL_TFT<<14)|(VFPD<<6)|(VSPW);rLCDCON3=(HBPD<<19)|(HOZVAL_TFT<<8)|(HFPD);rLCDCON4=HSPW;rLCDCON5=(1<<11)|(0<<10)|(1<<9)|(1<<8)|(0<<7)|(0<<6)|(1<<3)|(BSWP<<1)|(HWSWP);//16位輸出格式565,VCLK下降沿取數(shù)據(jù)等(看數(shù)據(jù)手冊)這里指定目的地址rLCDSADDR1=(((u32)LCD_BUFFER>>22)<<21)|M5D((u32)LCD_BUFFER>>1);//單掃描rLCDSADDR2=M5D(((u32)LCD_BUFFER+(SCR_XSIZE_TFT*LCD_YSIZE_TFT*2))>>1);//LCD_WIDTH×16/16;由于是選擇的16位模式,//如果是24位模式,每個像素4字節(jié)則為LCD_WIDTH×32/16//(LCD_WIDTH在此為LCD_XSIZE_TFT)rLCDSADDR3=(((SCR_XSIZE_TFT-LCD_XSIZE_TFT)/1)<<11)|(LCD_XSIZE_TFT/1);rLCDINTMSK|=(3);//MASKLCDSubInterruptrTCONSEL&=(~7);//DisableLPC3600rTPAL=0;//禁止臨時調(diào)色板寄存器}/***************************************************************LCD視頻和控制信號輸出或者停止,1開啟視頻輸出**************************************************************/voidLCDEnvidOnOff(intonoff){if(onoff==1)rLCDCON1|=1;//ENVID=ONelserLCDCON1=rLCDCON1&0x3fffe;//ENVIDOff}/***************************************************************TFTLCD電源控制引腳使能*pwren=1時,允許PWREN信號*pwren=0時,禁止PWREN信號*invpwre=1,PWREN信號極性反轉(zhuǎn)*invpwre=0,PWREN信號極性正常**************************************************************/voidLCDPowerEnable(intinvpwren,intpwren){//GPG4issettedasLCD_PWRENrGPGUP|=(1<<4);//GPG4上拉電阻無效rGPGCON|=(3<<8);//GPG4=LCD_PWRENrGPGDAT|=1<<4;//GPG4置1//invpwren=pwren;//EnableLCDPOWERENABLEFunctionif(pwren)rLCDCON5|=1<<3;elserLCDCON5&=~(1<<3);if(invpwren)rLCDCON5|=1<<5;elserLCDCON5&=~(1<<5);}/**************************************************************TFTLCD單個象素的顯示數(shù)據(jù)輸出**************************************************************/voidLCDPutPixel(u32x,u32y,u32color){if((x0)incx=1;//設(shè)置單步方向elseif(delta_x==0)incx=0;//垂直線else{incx=-1;delta_x=-delta_x;}if(delta_y>0)incy=1;elseif(delta_y==0)incy=0;//水平線else{incy=-1;delta_y=-delta_y;}if(delta_x>delta_y)distance=delta_x;//選取基本增量坐標(biāo)軸elsedistance=delta_y;for(t=0;t<=distance+1;t++)//畫線輸出{LCDPutPixel(uRow,uCol,color);//畫點(diǎn)xerr+=delta_x;yerr+=delta_y;if(xerr>distance){xerr-=distance;uRow+=incx;}if(yerr>distance){yerr-=distance;uCol+=incy;}}}//畫矩形voidLCDDrawRectangle(u16x1,u16y1,u16x2,u16y2,u16color){LCDDrawLine(x1,y1,x2,y1,color);LCDDrawLine(x1,y1,x1,y2,color);LCDDrawLine(x1,y2,x2,y2,color);LCDDrawLine(x2,y1,x2,y2,color);}//在指定位置畫一個指定大小的圓//(x,y):中心點(diǎn)//r:半徑voidLCDDrawCircle(u16x0,u16y0,u8r,u16color){inta,b;intdi;a=0;b=r;di=3-(r<<1);//判斷下個點(diǎn)位置的標(biāo)志while(a<=b){LCDPutPixel(x0-b,y0-a,color);//3LCDPutPixel(x0+b,y0-a,color);//0LCDPutPixel(x0-a,y0+b,color);//1LCDPutPixel(x0-b,y0-a,color);//7LCDPutPixel(x0-a,y0-b,color);//2LCDPutPixel(x0+b,y0+a,color);//4LCDPutPixel(x0+a,y0-b,color);//5LCDPutPixel(x0+a,y0+b,color);//6LCDPutPixel(x0-b,y0+a,color);a++;//使用Bresenham算法畫圓if(di<0)di+=4*a+6;else{di+=10+4*(a-b);b--;}LCDPutPixel(x0+a,y0+b,color);}}

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

  本文根據(jù)網(wǎng)絡(luò)視頻采集的需要,將網(wǎng)絡(luò)傳輸與視頻采集相結(jié)合,設(shè)計(jì)了以S3C2440為核心的USB攝像頭視頻采集和嵌入式Linux系統(tǒng)下的視頻服務(wù)器,從而實(shí)現(xiàn)了遠(yuǎn)程網(wǎng)絡(luò)視頻信息采集。   

關(guān)鍵字: s3c2440 視頻采集 usb攝像頭

         之前在提起自動化或是智能化時,人們會不自覺的想到工業(yè)生產(chǎn),這是因?yàn)樽詣踊@個字眼進(jìn)入中國,確實(shí)是以工業(yè)

關(guān)鍵字: 嵌入式 Linux s3c2440 視頻采集

  引言   隨著科技的不斷發(fā)展,以數(shù)據(jù)業(yè)務(wù)為主的固定寬帶無線接入技術(shù)發(fā)展已經(jīng)很成熟,而移動寬帶無線通信技術(shù)還并沒有得到廣泛的應(yīng)用。由于移動寬帶無線接入系統(tǒng)需要解決帶寬、移動性和覆蓋范圍

關(guān)鍵字: IPv6 s3c2440 x86 架構(gòu)

  1 引言   人們生活水平的提高以及科技的進(jìn)步,特別是計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)和通信技術(shù)的發(fā)展,智能家居將慢慢成為未來家居生活的發(fā)展方向。1984年在美國誕生了世界上第一座智能家居建筑,

關(guān)鍵字: boa nrf24l01 s3c2440 智能家居

我們知道2440開發(fā)流程為:移植uboot--》移植內(nèi)核---》掛接根文件系統(tǒng)。我們移植完內(nèi)核需要掛接根文件系統(tǒng),那么首先我們必須擁有根文件系統(tǒng)。如何來制作我們的根文件系統(tǒng)呢?第一步:在linux下建

關(guān)鍵字: s3c2440 根文件系統(tǒng)

1.TQ2440u-boot-1.1.6修改文件所在的路徑是u-boot-1.1.6includeconfigsEmbedSky.h將#defineLCD_TFTxxx(LCD類型)W353.5寸TFT4802724.3...

關(guān)鍵字: s3c2440 lcd參數(shù)

2440的晶振頻率為12MHZ,有兩個PLL:MPLL和UPLL,其中MPLL產(chǎn)生FCLK、HCLK、PCLK;UPLL產(chǎn)生UCLK。FCLK為ARM核提供時鐘,HCLK為AHB總線時鐘,PCLK為APB總線時鐘,UCL...

關(guān)鍵字: s3c2440 時鐘初始化

開發(fā)板:TQ2440內(nèi)核:Linux 2.6.32PC OS:Ubuntu 11.041.配置內(nèi)核打開I2C功能:打開雜項(xiàng)設(shè)備,該選項(xiàng)打開后,EEPROM也就打開了。2. 修改代碼修改文件: linux/arch/arm...

關(guān)鍵字: at24c02 eeprom s3c2440 移植 linux驅(qū)動

在分析ARM-Linux s3c2440中UART的時有必要先了解 s3c2440A中串口的硬件知識。硬件篇:S3c2440A串口提供三個獨(dú)立的異步串行通信I/O端口(asynchronousserial I/O por...

關(guān)鍵字: ARM Linux s3c2440 uart

s3c2440 cpu的默認(rèn)工作主頻有兩種12MHz和16.9344MHz,也就是我們的晶振的頻率,但一般12MHz的晶振用的比較多,F(xiàn)in就是指我們接的晶振頻率。大家都知道s3c2440上電正常工作后頻率是遠(yuǎn)遠(yuǎn)大于12...

關(guān)鍵字: s3c2440 時鐘
關(guān)閉