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

📄 lcd_portconfig.h

📁 MzT24-2模块驱动例程(Keil LPC22XX)320*240TFT液晶屏驱动程序
💻 H
字号:
//note:如果您使用C语言编写LCD的底层接口程序的话,这里的定义才会有用
// this file for MCU I/O port or the orther`s hardware config 
// for LCD Display 
#ifndef __LCD_PORTCONFIG_H__
#define	__LCD_PORTCONFIG_H__
#include "LPC22XX.h"
//#include "intrins.h"			//包含此头文件可直接操作内核的寄存器以及一些定义好的宏

#define LCD_Ctrl_GPIO()		PINSEL1 &= ~(0x0fff0000)
#define LCD_Ctrl_Out()		IODIR0 |= (LCD_CS+LCD_RE+LCD_A0+LCD_RW+LCD_RD)
#define LCD_Ctrl_Set(n)		IOSET0 = n
#define LCD_Ctrl_Clr(n)		IOCLR0 = n

#define LCD_CS				(0x01<<29)
#define LCD_CS_SET()		IOSET0 = LCD_CS
#define LCD_CS_CLR()		IOCLR0 = LCD_CS

#define LCD_RE				(0x01<<24)
#define LCD_RE_SET()		IOSET0 = LCD_RE
#define LCD_RE_CLR()		IOCLR0 = LCD_RE

#define LCD_A0				(0x01<<25)
#define LCD_A0_SET()		IOSET0 = LCD_A0
#define LCD_A0_CLR()		IOCLR0 = LCD_A0

#define LCD_RW				(0x01<<27)
#define LCD_RW_SET()		IOSET0 = LCD_RW
#define LCD_RW_CLR()		IOCLR0 = LCD_RW

#define LCD_RD				(0x01<<28)
#define LCD_RD_SET()		IOSET0 = LCD_RD
#define LCD_RD_CLR()		IOCLR0 = LCD_RD

#define LCD_Data_GPIO()		PINSEL1 &= ~(0x0000ffff)		
#define LCD_Data_Out()		IODIR0 |= (0xff<<16)
#define LCD_Data_In()		IODIR0 &= ~(0xff<<16)
#define LCD_Data_BUS_Clr()	IOCLR0 = (0xff<<16)
#define LCD_Data_BUS_Set(n)	IOSET0 = (n<<16)
#define LCD_Data_Read()		((IOPIN0&(0xff<<16))>>16)

#define LCD_Data_BUS_Byte	2
//定义8位的数据线占用端口的哪些位置,0: Port0~Port7
//									 1: Port8~Port15
//									 2: Port16~Port23
//									 3: Port24~Port31	 

/*
#define	LCD_DAT_W		(*((volatile unsigned char *)0x82600000))
#define LCD_DAT_R		(*((volatile unsigned char *)0x82600000))
#define LCD_COM_W		(*((volatile unsigned char *)0x82400000))
#define LCD_COM_R		(*((volatile unsigned char *)0x82400000))

#define LCD_RE				(0x01<<24)
#define LCD_RE_SET()		IOSET1 = LCD_RE
#define LCD_RE_CLR()		IOCLR1 = LCD_RE

#define LCD_Ctrl_GPIO()		IODIR1 |= LCD_RE; IOSET1 = LCD_RE;
//========================================================================
// 函数: void LCD_DataWrite(unsigned int Data)
// 描述: 写一个字(16bit)的显示数据至LCD中的显示缓冲RAM当中
// 参数: Data 写入的数据 
// 返回: 无
// 备注: 无
// 版本:
//      2007/03/15      First version
//========================================================================
#define LCD_DataWrite(nW)	LCD_DAT_W = (unsigned char)(nW>>8);\
							LCD_DAT_W = (unsigned char)nW	 */
//========================================================================
// 函数: void LCD_RegWrite(unsigned char Addr,unsigned int Command)
// 描述: 写一个字节的数据至LCD中的控制寄存器当中
// 参数: Addr			要写入的寄存器的地址,低八位有效(byte)
//		Command			写入的数据 
// 返回: 无
// 备注: 
// 版本:
//      2007/03/15      First version
//========================================================================
#define LCD_RegWrite(n)		LCD_Ctrl_Clr(LCD_A0|LCD_CS);LCD_RW_CLR();LCD_RW_SET();LCD_Data_BUS_Clr();LCD_Data_BUS_Set(n);\
							LCD_RW_CLR();LCD_RW_SET();LCD_CS_SET()

#define LCD_DataWrite(n) 	LCD_Ctrl_Set(LCD_A0+LCD_RD);LCD_CS_CLR();LCD_Data_BUS_Clr();LCD_Data_BUS_Set((unsigned char)(n>>8));\
							LCD_RW_CLR();LCD_RW_SET();LCD_Data_BUS_Clr();LCD_Data_BUS_Set((unsigned char)n);LCD_RW_CLR();\
							LCD_RW_SET();LCD_CS_SET()				 

#endif

⌨️ 快捷键说明

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