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

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

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


僅僅說(shuō)TFT顯示器,TFT顯示器的時(shí)序如下



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

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

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

VBPD: VSYNC與VCLK的開(kāi)始同步時(shí)間

VSPW: VHYNC脈沖的高電平寬度

LINEVAL LCD面板的垂直尺寸:

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

HBPD: HSYNC與VCLK的開(kāi)始同步時(shí)間

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

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

HSPW: HSYNC脈沖的高電平寬度

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


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

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

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


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


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


4.設(shè)置HSPW時(shí)間


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


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

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

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

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ù)手冊(cè))這里指定目的地址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位模式,每個(gè)像素4字節(jié)則為L(zhǎng)CD_WIDTH×32/16//(LCD_WIDTH在此為L(zhǎng)CD_XSIZE_TFT)rLCDSADDR3=(((SCR_XSIZE_TFT-LCD_XSIZE_TFT)/1)<<11)|(LCD_XSIZE_TFT/1);rLCDINTMSK|=(3);//MASKLCDSubInterruptrTCONSEL&=(~7);//DisableLPC3600rTPAL=0;//禁止臨時(shí)調(diào)色板寄存器}/***************************************************************LCD視頻和控制信號(hào)輸出或者停止,1開(kāi)啟視頻輸出**************************************************************/voidLCDEnvidOnOff(intonoff){if(onoff==1)rLCDCON1|=1;//ENVID=ONelserLCDCON1=rLCDCON1&0x3fffe;//ENVIDOff}/***************************************************************TFTLCD電源控制引腳使能*pwren=1時(shí),允許PWREN信號(hào)*pwren=0時(shí),禁止PWREN信號(hào)*invpwre=1,PWREN信號(hào)極性反轉(zhuǎn)*invpwre=0,PWREN信號(hào)極性正常**************************************************************/voidLCDPowerEnable(intinvpwren,intpwren){//GPG4issettedasLCD_PWRENrGPGUP|=(1<<4);//GPG4上拉電阻無(wú)效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單個(gè)象素的顯示數(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++)//畫(huà)線輸出{LCDPutPixel(uRow,uCol,color);//畫(huà)點(diǎn)xerr+=delta_x;yerr+=delta_y;if(xerr>distance){xerr-=distance;uRow+=incx;}if(yerr>distance){yerr-=distance;uCol+=incy;}}}//畫(huà)矩形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);}//在指定位置畫(huà)一個(gè)指定大小的圓//(x,y):中心點(diǎn)//r:半徑voidLCDDrawCircle(u16x0,u16y0,u8r,u16color){inta,b;intdi;a=0;b=r;di=3-(r<<1);//判斷下個(gè)點(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算法畫(huà)圓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)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(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攝像頭

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

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

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

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

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

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

我們知道2440開(kāi)發(fā)流程為:移植uboot--》移植內(nèi)核---》掛接根文件系統(tǒng)。我們移植完內(nèi)核需要掛接根文件系統(tǒng),那么首先我們必須擁有根文件系統(tǒng)。如何來(lái)制作我們的根文件系統(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,有兩個(gè)PLL:MPLL和UPLL,其中MPLL產(chǎn)生FCLK、HCLK、PCLK;UPLL產(chǎn)生UCLK。FCLK為ARM核提供時(shí)鐘,HCLK為AHB總線時(shí)鐘,PCLK為APB總線時(shí)鐘,UCL...

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

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

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

在分析ARM-Linux s3c2440中UART的時(shí)有必要先了解 s3c2440A中串口的硬件知識(shí)。硬件篇:S3c2440A串口提供三個(gè)獨(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 時(shí)鐘
關(guān)閉