S3C2440驱动4.3寸TFT屏程序

简单的配色原理

/**************************************************************
The initial and control for 16Bpp TFT LCD
**************************************************************/

#include "def.h"
#include "option.h"
#include "2440addr.h"
#include "2440lib.h"
#include "2440slib.h" 


#define MVAL_USED 	(0)			//0=each frame   1=rate by MVAL
#define INVVDEN		(1)			//0=normal       1=inverted
#define BSWP		(0)			//Byte swap control
#define HWSWP		(1)			//Half word swap control
#define PNRMODE		(3)			// 设置为TFT屏
#define BPPMODE		(12)		// 设置为16bpp模式

//TFT_SIZE
#define LCD_XSIZE_TFT 	(480)	
#define LCD_YSIZE_TFT 	(272)

#define SCR_XSIZE_TFT 	(480)		
#define SCR_YSIZE_TFT 	(272)

#define HOZVAL_TFT	(LCD_XSIZE_TFT-1)
#define LINEVAL_TFT	(LCD_YSIZE_TFT-1)

//Timing parameter for 4.3' LCD
#define VBPD 		(2)				//垂直同步信号的后肩
#define VFPD 		(4)				//垂直同步信号的前肩
#define VSPW 		(8)				//垂直同步信号的脉宽

#define HBPD 		(10)			//水平同步信号的后肩
#define HFPD 		(19)			//水平同步信号的前肩
#define HSPW 		(30)			//水平同步信号的脉宽

#define CLKVAL_TFT 	(4) 			//时钟分频因子,VCLK = HCLK/((CLKVAL_TFT+1)*2) 


#define M5D(n)	((n) & 0x1fffff)	//用于设置显示缓存区时,取低21位地址


volatile unsigned short LCD_BUFFER[SCR_YSIZE_TFT][SCR_XSIZE_TFT];	//定义显示缓存区

/**************************************************************
TFT LCD功能模块初始化
**************************************************************/
void Lcd_Init(void)
{
	rGPCUP  = 0x00000000;
	rGPCCON = 0xaaaa02a9; 
	 
	rGPDUP  = 0x00000000;
	rGPDCON=0xaaaaaaaa; //Initialize VD[15:8]

	rLCDCON1=(CLKVAL_TFT<<8)|(MVAL_USED<<7)|(3<<5)|(12<<1)|0;// TFT LCD panel,16bpp TFT,ENVID=off	
	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下降沿取数据等 (看数据手册)
	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字节则为L
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值