📄 lcd44b0.c
字号:
/*---------------------------------------------------------文件 : LcdDrv1335.c日期 : 2005-6-24---------------------------------------------------------*/#include "LCDConf.h" #include "const.h"#include "44b.h"#include "44blib.h"#include "def.h"extern const unsigned char gImage_zz[17120];U32 frameBuffer16[SCR_YSIZE][SCR_XSIZE/8];void show(U16 dat1,U16 dat2){ U16 *p; U32 k,l; p=(U16 *)frameBuffer16; for(l=0;l<80;l++) { for(k=0;k<60;k++) *p++=dat1; for(k=0;k<60;k++) *p++=dat2; } Delay(25000);}void show_pic(U8 * pp){ U8 *p; U32 k,l; p=(U8 *)frameBuffer16; for(l=0;l<160;l++) { for(k=0;k<120;k++) *p++=*pp++; } Delay(25000);}void Set_Vop(unsigned char value){ unsigned char ii; // VDIN PC4 // VCLK PC5 // VSTR PC6 Delay(100); rPDATC|=0x0020; //VCLK=1; Delay(200); rPDATC|=0x0040; //VSTRB=1; Delay(200); rPDATC&=~0x0040; //VSTRB=0; rPDATC&=~0x0020; //VCLK=0; //reset for (ii=0;ii<8; ii++) { if((value&0x80)==0x80) rPDATC|=0x0010; //VDIN=CY; else rPDATC&=~0x0010; //VDIN=CY; Delay(100); rPDATC|=0x0020; //VCLK=1; Delay(100); rPDATC&=~0x0020; //VCLK=0; Delay(100); value=value<<1; } rPDATC|=0x0040; //VSTRB=1; Delay(100); rPDATC&=~0x0040; //VSTRB=0; Delay(100); //read} //初始化LCD显示参数以及界面void LCD_Init(void) { rPDATC = 0xffff; rPCONC = 0x00005500; rPUPC = 0x0000; rPDATD= 0xff; rPCOND= 0xaaaa; rPUPD = 0x0; rDITHMODE=0x12210; rDP1_2 =0xa5a5; rDP4_7 =0xba5da65; rDP3_5 =0xa5a5f; rDP2_3 =0xd6b; rDP5_7 =0xeb7b5ed; rDP3_4 =0x7dbe; rDP4_5 =0x7ebdf; rDP6_7 =0x7fdfbfe; rLCDCON1=(0)|(0<<1)|(1<<5)|(MVAL_USED<<7)|(0x3<<8)|(0x3<<10)|(10<<12); // disable,4B_SNGL_SCAN,WDLY=16clk,WLH=16clk,CLKV=4 rLCDCON2=(LINEVAL_G16)|(HOZVAL_G16<<10)|(10<<21); //LINEBLANK=10 (without any calculation) rLCDSADDR1= (0x2<<27) | ( ((unsigned int)frameBuffer16>>22)<<21 ) | M5D((unsigned int)frameBuffer16>>1); // 16-gray, LCDBANK, LCDBASEU rLCDSADDR2= (M5D((unsigned int)frameBuffer16)>>1)+((SCR_XSIZE>>2)*LCD_YSIZE)|(1<<29); rLCDSADDR3= (LCD_XSIZE/4) | ( ((SCR_XSIZE-LCD_XSIZE)/4)<<9 ); rLCDCON1=(1)|(0<<1)|(1<<5)|(MVAL_USED<<7)|(0x3<<8)|(0x3<<10)|(10<<12); Set_Vop(0x6A); }void lcd_test(void){ show(0xf0f0,0x0f0f); show(0x0000,0x0000); show_pic((U8 *)gImage_zz);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -