📄 lcd.h
字号:
/***********************************************/
// 定义LCD控制器寄存器设置值等。
/***********************************************/
#ifndef __LCD_H__
#define __LCD_H__
/* 屏象素点大小 */
#define SCR_XSIZE (640)
#define SCR_YSIZE (480)
#define LCD_XSIZE (640)
#define LCD_YSIZE (480)
/* 取后21位 */
#define M5D(n) ((n) & 0x1fffff)
/* LCD CONTROLLER SPECIAL REGISTERS */
/* LCD Control 1 Register */
/* VCLK频率 */
#define CLKVAL (13)//
/* VLINE脉冲宽度(系统时钟为时间单位) */
#define WLH (3)
/* VLINE和VCLK之间的延时(系统时钟为时间单位) */
#define WDLY (3)
/* VM翻转频率 */
#define MMODE (0)
/* 双4位单扫描 */
#define DISMODE (0)
/* VCLK决定数据在哪种边沿下被读取 */
#define INVCLK (0)
/* VLINE脉冲极性 */
#define INVLINE (0)
/* VFRAME脉冲极性*/
#define INVFRAME (0)
/* VD数据极性*/
#define INVVD (0)
/* 使能视频输出和逻辑 */
#define ENABLE (1)
/* 禁止视频输出和逻辑 */
#define DISABLE (0)
/* LCD Control 2 Register */
/* 行空白时间长度 */
#define LINEBLANK (10)
/* 屏水平像素点个数 */
#define HOZVAL (SCR_XSIZE / 4 - 1)
/* 屏垂直像素点个数 */
#define LINEVAL (SCR_YSIZE / 2 - 1)
/* LCD Control 3 Register */
/* LCD自刷新模式使能 */
#define SELFREF (0)
/* FRAME BUFFER START ADDRESS 1 REGISTER */
/* 显示模式选择:0:黑白 2:16级*/
#define MODESEL (2)
/* 这些位指示视频缓冲区在系统存储器的段地址A[27:22] */
//#define LCDBANK(0)
/* LCDBASEU [20:0]这些位指示帧缓冲区或在双扫描LCD时的上帧缓冲区的开始地址 A[21:1] */
//#define LCDBASEU (0)
/* FRAME Buffer Start Address 2 Register*/
/* 字节交换控制位 */
#define BSWP (0)
/* MMODE为1时,VM翻转的频率 */
#define MVAL (0)
/* the start address of the lower address counter */
//#define LCDBASEL (LCDBASEU + (PAGEWIDTH + OFFSIZE ) * (LINEVAL +1))
/* LCD寄存器地址 */
#define rLCDCON1 (*(volatile unsigned *)0x1f00000)
#define rLCDCON2 (*(volatile unsigned *)0x1f00004)
#define rLCDCON3 (*(volatile unsigned *)0x1f00040)
#define rLCDSADDR1 (*(volatile unsigned *)0x1f00008)
#define rLCDSADDR2 (*(volatile unsigned *)0x1f0000c)
#define rLCDSADDR3 (*(volatile unsigned *)0x1f00010)
#define rREDLUT (*(volatile unsigned *)0x1f00014)
#define rGREENLUT (*(volatile unsigned *)0x1f00018)
#define rBLUELUT (*(volatile unsigned *)0x1f0001c)
#define rDP1_2 (*(volatile unsigned *)0x1f00020)
#define rDP4_7 (*(volatile unsigned *)0x1f00024)
#define rDP3_5 (*(volatile unsigned *)0x1f00028)
#define rDP2_3 (*(volatile unsigned *)0x1f0002c)
#define rDP5_7 (*(volatile unsigned *)0x1f00030)
#define rDP3_4 (*(volatile unsigned *)0x1f00034)
#define rDP4_5 (*(volatile unsigned *)0x1f00038)
#define rDP6_7 (*(volatile unsigned *)0x1f0003c)
#define rDITHMODE (*(volatile unsigned *)0x1f00044)
#define rPDATD (*(volatile unsigned *)0x01d20020)
/* IO寄存器地址 */
#define rPCOND (*(volatile unsigned *)0x1d2001c)
#define rPCONC (*(volatile unsigned *)0x1d20010)
/*
LCD的初始化。
*/
void Lcd_Init(void);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -