⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd.h

📁 完整的原创单片机控制彩色液晶源代码(keil工程) 320x240液晶模块底层驱动 控制芯片5408 CPU LPC2131(or Higher) 开发环境 keil C for ARM (MDK
💻 H
字号:
//模块指令层 L2
#ifndef __LCD_H
#define __LCD_H

#define RED  	0xf800
#define GREEN	0x07e0
#define BLUE	0x001f
#define WHITE	0xffff
#define BLACK	0x0000
#define YELLOW	0xFFE0

//复位信号的延时常数
//根据不同的主频更改
#define ResetTime 1000

//LCD_RS脚
//不接 最好上拉到Vcc
#define LCD_RS		(1 << 0)
#define LCD_RS_1	IO0SET=LCD_RS
#define LCD_RS_0	IO0CLR=LCD_RS

//LCD_CS#脚
//片选
#define LCD_CS		(1 << 28)
#define LCD_CS_1	IO0SET=LCD_CS
#define LCD_CS_0	IO0CLR=LCD_CS

//LCD_RESET#脚
//复位信号
//可上电复位 也可用IO口控制 平时保证高电平
#define LCD_RES		(1 << 29)
#define LCD_RES_1	IO0SET=LCD_RES
#define LCD_RES_0	IO0CLR=LCD_RES

/**************************************************************************************
* 名    称: SendCom
* 功    能: 发送命令
* 参    数:
	unsigned char dat: 命令寄存器编号
* 返 回 值: 无
**************************************************************************************/
void SendCom(unsigned char dat);



/**************************************************************************************
* 名    称: SendDat
* 功    能: 发送数据
* 参    数:
	unsigned int dat: 数据(低16位有效 高位忽略)
* 返 回 值: 无
**************************************************************************************/
void SendDat(unsigned int dat);



/**************************************************************************************
* 名    称: SendCD
* 功    能: 发送命令和数据(适合一个指令一个数据,即向一个寄存器单独写一个数)
* 参    数:
	unsigned int dat: (按高位到低位字节:) 8bit 忽略|8bit 命令(寄存器号)|16bit数据
* 返 回 值: 无
**************************************************************************************/
void SendCD(unsigned int dat) ;



/**************************************************************************************
* 名    称: ReadCom
* 功    能: 读数据
* 参    数: 无
* 返 回 值: 数据(低16位有效数据 高位为0)
**************************************************************************************/
unsigned int ReadCom(void);



/**************************************************************************************
* 名    称: SetRamAddr
* 功    能: 设置RAM坐标(之后方可连续写入图像)
* 参    数: 
	unsigned int x:	横坐标
	unsigned int y: 纵坐标
* 返 回 值: 无
**************************************************************************************/
void SetRamAddr(unsigned int x,unsigned int y);



/**************************************************************************************
* 名    称: LcdIOInit
* 功    能: RS CS RES脚置1 方向设置为输出
* 参    数: 无
* 返 回 值: 无
**************************************************************************************/
void LcdIOInit(void);



/**************************************************************************************
* 名    称: LcdReset
* 功    能: RES输出一个复位信号(一段时间的低电平)
* 参    数: 无
* 返 回 值: 无
**************************************************************************************/
void LcdReset(void);

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -