📄 lcd.h
字号:
#ifndef _LCD_H
#define _LCD_H
#include "reg.h"
#include "def.h"
#define LCD_XSIZE 240
#define LCD_YSIZE 320
#define LCD_DEPTH 4
#define B4_2_scan 0
#define B4_1_scan 1
#define B8_1_scan 2
#define SCANMODE B4_1_scan
#define MONO 0
#define GRAY_4 1
#define GRAY_16 2
#define COLOR 3
#define MODESEL GRAY_16
#if (SCANMODE<2)
#define HOZVAL (LCD_XSIZE/4-1)
#else
#define HOZVAL (LCD_XSIZE*3/8-1)
#endif
#if (SCANMODE==B4_2_scan)
#define LINEVAL (LCD_YSIZE/2-1)
#else
#define LINEVAL (LCD_YSIZE-1)
#endif
#define CLKVAL 6
#define WLH 3
#define WDLY 3
#define MMODE 0
#define DISMODE SCANMODE
#define MVAL 13
#define PAGEWIDTH (LCD_XSIZE*LCD_DEPTH/16)
/*************************函数名称:Display_Init(UINT*)*********************
函数功能:用户提供的显示初始化程序,用来初始化控制器和驱动器
入口:
UINT *lpBuffer,显示缓冲区,大小是显示区域的2倍,用来做滚屏或双缓冲
出口:
成功,返回1
失败,返回0
**************************************************************************/
static BOOL Display_Init(UINT *lpBuffer)
{
UINT nAddr=(UINT)lpBuffer;
rPCONA = 0x1ff;
rPDATB = 0x04f;
rPCONB = 0x10f;
rPDATC = 0xFFFF;
rPCONC = 0x0005ff00;
rPUPC = 0x3000;
rPDATD= 0x55;
rPCOND= 0xaaaa;
rPUPD = 0x00;
rPDATE = 0x157;
rPCONE = 0x1568;
rPUPE = 0xff;
rPDATF = 0x0;
rPCONF = 0x024000;
rPUPF = 0x1d3;
rPDATG = 0xff;
rPCONG = 0xff0c;
rPUPG = 0x00;
rSPUCR=0x7;
rPDATC = ( rPDATC & (~(1<<8)) );
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;
rREDLUT =0xfdb96420;
rGREENLUT=0xfdb96420;
rBLUELUT =0xfb40;
rLCDCON1=(CLKVAL<<12)|(WLH<<10)|(WDLY<<8)|(MMODE<<7)|(DISMODE<<5);
rLCDCON2=(10<<21)|(HOZVAL<<10)|(LINEVAL);
rLCDSADDR1=(MODESEL<<27)|((nAddr>>22)<<21)|((nAddr>>1)&0x1fffff);
rLCDSADDR2=(MVAL<<21)|(((nAddr>>1)+(PAGEWIDTH)*(LINEVAL+1))&0x1fffff);
rLCDSADDR3=PAGEWIDTH;
rLCDCON1=(CLKVAL<<12)|(WLH<<10)|(WDLY<<8)|(MMODE<<7)|(DISMODE<<5)|1;
return 1;
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -