📄 lcd_portconfig.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 + -