資源簡介
本位對mp3/mp4或是手機的lcd的代碼發表.希望對那些沒有寫過驅動的有一點幫助

代碼片段和文件信息
#include?“Sg851_register.h“
#include?“SPFD54124A_Init.h“
#include?“SPFD54124A_reg.h“
#define?LCD_WIDTH?128
#define?LCD_HIGHTH?160
?void?kgmSetPar(UINT8?val)
{
SPFD54124A_SetData();
wrData8(val);
__asm{nop}
__asm{nop}
__asm{nop}
}
static?void?wrData16(UINT16?dat)
{
wrData8?(dat??>>?8);
wrData8(dat?&?0xFF);
__asm{nop}
__asm{nop}
__asm{nop}
}
?void?kgmSetReg(UINT8?val)
{
? SPFD54124A_SetCmd();
wrData8(val);?
}?
?
void?Lcd_DelayMs(int?delay)
{
int?i;
while(delay?--)
{
i?=?0x1000;
while(i?--);
}
}
void?LCDModule_Init(void)
{
P_PMC_CTRL?|=?(PMC_LCM|PMC_SRAM|PMC_GPIO);
P_LCM_CYCLE?=?((2< P_PORTA_CFG?|=?(PAD_LCMCE?|?PAD_LCMRE?|?PAD_A0?|?PAD_LCMWR?|?PAD_LCMRST?|?PAD_DATAL|0xff);
P_LCM_CFG?=?LCM_EN|LCM_EXT_RESET;?/*|LCM_WIDTH16|LCM_BUS16;?*/
Lcd_DelayMs(100);
P_LCM_CFG?=?LCM_EN;
//{
//
//// P_PMC_CTRL?|=?(PMC_LCM|PMC_SRAM|PMC_GPIO);
// P_PMC_CTRL?|=?PMC_LCM;
// P_LCM_CYCLE?=?((2< //// P_PORTA_CFG?|=?(PAD_LCMCE?|?PAD_LCMRE?|?PAD_A0?|?PAD_LCMWR?|?PAD_LCMRST?|?PAD_DATAL|0xff);
// P_PORTA_CFG?|=?(PAD_LCMCE?|?PAD_LCMRE?|?PAD_A0?|?PAD_LCMWR?|?PAD_LCMRST?|?PAD_DATAL);
// P_LCM_CFG?=?LCM_EN|LCM_EXT_RESET;?/*|LCM_WIDTH16|LCM_BUS16;?*/
// Lcd_DelayMs(100);
// P_LCM_CFG?=?LCM_EN|?LCM_BUS16;//|LCM_WIDTH16;
#if?0
P_PMC_CTRL?|=?PMC_LCM;
P_LCM_CYCLE?=?(?(3<
P_PORTA_CFG?|=?(PAD_LCMCE?|?PAD_LCMRE?|?PAD_A0?|?PAD_LCMWR?|?PAD_LCMRST?|?PAD_DATAL);
P_LCM_CFG?=?LCM_EN|LCM_EXT_RESET;
Lcd_DelayMs(100);
P_LCM_CFG?=?LCM_EN?|?LCM_BUS16;
#endif
}
void?SPFD54124A_init(void)
{
P_LCM_CFG?|=?LCM_EXT_RESET;
Lcd_DelayMs(1000);
P_LCM_CFG?&=?~LCM_EXT_RESET;
Lcd_DelayMs(1000);
kgmSetReg(0x11); /*SLEEP?OUT*/
kgmSetReg(0x20); /*DISPLAY?INVERSION?OFF*/
kgmSetReg(0x38); /*Idle?Mode?Off*/
kgmSetReg(0x13); /*Normal?Display?Mode?On*/
kgmSetReg(0x3A); /*Interface?Pixel?Format*/
kgmSetPar(0x05);
kgmSetReg(0x36); /*Memory?Data?Access?Control*/
kgmSetPar(0x14); /*positive*/
/*SetPar(0xD4);*/?/*in?reverse*/
kgmSetReg(0xC0); /*Power?Control1*/
kgmSetPar(0x03);
kgmSetReg(0xC5); /*VCOM?Control1*/
kgmSetPar(0xC8);
kgmSetReg(0xC6); /*VCOM?Control2*/
kgmSetPar(0x1F);
kgmSetReg(0xFE); /*VCOM?Control2*/
kgmSetPar(0x00);
kgmSetPar(0x00);
kgmSetReg(0xE0); /*Gamma?Set*/
kgmSetPar(0x00);
kgmSetPar(0x10);
kgmSetPar(0x52);
kgmSetPar(0x53);
kgmSetPar(0x55);
kgmSetPar(0x55);
kgmSetPar(0x37);
kgmSetReg(0x29); /*Display?On?*/
Lcd_DelayMs(0x5);
}
#define LCD_WIDTH0 43
#define LCD_WIDTH1 43
#define LCD_WIDTH2 42
#define LCD_POSX0 0
#define LCD_POSX1 (LCD_WIDTH0)
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????3478??2007-09-20?11:28??LCD的初始化.c
-----------?---------??----------?-----??----
?????????????????3478????????????????????1
- 上一篇:XKT-510規格書中文
- 下一篇:基于Labview的狀態機模型研究
評論
共有 條評論