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

📄 lcd_drive_2210.c

📁 lpc2478+ucosII+ucgui源码
💻 C
字号:
#include "LCDConf.h"
//#include <lpc22xx.h>
#include "iolpc2470.h"
/*
PG160128A的连接方式
PG160128A管脚		LPC2104管脚
FG					 GND
VSS					 NC
VDD					 NC
CON					 NC
WR					 P0.29
RD					 P0.30
CE					 GND
C/D					 P0.31
RST					 VCC
D0					 P0.0
D1					 P0.1
D2					 P0.2
D3					 P0.3
D4					 P0.4
D5					 P0.5
D6					 P0.6
D7				 	 P0.7
FS1					 NC
*/

#define wr 1<<29
#define rd 1<<30
#define cd 1<<31
/*T6963的功能设置*/
#define LCD_CUR_POS 0x21    //光标位置设置(只有设置到有效显示地址并打开显示才看到),双参数(D1水平位置,D2垂直位置)
#define LCD_CGR_POS 0x22    //CGRAM偏置地址设置(用来增加自己的符号),双参数(D1低5位有效,D2=00)
#define LCD_ADR_POS 0x24    //地址指针位置(设置读写操作打针)
//显示区域设置指令
#define LCD_TXT_STP 0x40    //文本区首址(从此地址开始向屏幕左上角显示字符)
#define LCD_TXT_WID 0x41    //文本区宽度(设置显示宽度,N/6式N/8,其中N为X轴的点数)
#define LCD_GRH_STP 0x42    //图型区首址(从此地址开始向屏幕左上角显示点,((有等进一步确认))为文本方式显示时,显示为文本显示特性
#define LCD_GRH_WID 0x43    //图形区宽度(设置显示宽度,N/6式N/8,其中N为X轴的点数)
//显示方式设置指令,当CG(D3)为0启用CGROM
#define LCD_MOD_OR  0x80    //显示方式:逻辑或
#define LCD_MOD_XOR 0x81    //显示方式:逻辑异或
#define LCD_MOD_AND 0x83    //显示方式:逻辑与
#define LCD_MOD_TCH 0x8C    //显示方式:文本
//显示开关设置指令,(D0,D1,D2,D3)=1/0  <==========>  (光标闪烁,光标显示,文本显示,图形显示)启用/禁用
#define LCD_DIS_SW  0x90    //显示开关设置
//光标开头设置指令
#define LCD_CUR_SHP 0xA0    //光标型形状选择:0xA0-0xA7代表光标占的行数
//自动读写设置指令
#define LCD_AUT_WR  0xB0    //自动写设置
#define LCD_AUT_RD  0xB1    //自动读设置
#define LCD_AUT_OVR 0xB2    //自动读写结束
//数据一次读写设置指令
#define LCD_INC_WR  0xC0    //数据一次写,地址加1
#define LCD_INC_RD  0xC1    //数据一次读,地址加1
#define LCD_DEC_WR  0xC2    //数据一次写,地址减1
#define LCD_DEC_RD  0xC3    //数据一次读,地址减1
#define LCD_ZER_WR  0xc4    //数据一次写,地址不变
#define LCE_ZER_RD  0xc5    //数据一次读,地址不变
//屏读设置指令
#define LCD_SCN_RD  0xE0    //屏读,屏读只能在图形显示区内;该指令是把屏上的内容取出来作为数据使用.
//屏拷贝
#define LCD_SCN_CP  0xE8    //屏拷贝,该指令将屏上当前地址指针(图形)处开妈的一行合成显示内容拷贝到相对应的图形显示区的一级单元
//位操作指令
#define LCD_BIT_OP  0xF0    //该指令可将显示缓冲区单无的某位清零或置位.D0-D1---定义D0-D7位;D3--1为置位,D3--0为复位



char LCD_READ_A1(void)
{
	/*char temp;
	IODIR = 0xE0000000;//0x00000700
	IOSET = cd;
	IOCLR = rd;
	temp = IOPIN;
	IOSET = rd;
	return(temp);*/
	char temp;
	temp = (*((volatile unsigned short *) 0x83000002));
	return temp;
}


void LCD_WRITE_A1(int Byte)
{
  	/*IODIR = 0xE00000FF;//0x000007ff
	IOSET = cd;
	IOCLR = 0x000000FF;
        IOCLR = wr;
	IOSET = Byte;
	IOSET = wr;*/
        (*((volatile unsigned short *) 0x83000002)) = Byte;
}


void LCD_WRITE_A0(int Byte)
{
	/*IODIR = 0xE00000FF;//0x000007ff
	IOCLR = cd;
	IOCLR = 0x000000FF;
	IOCLR = wr;
	IOSET = Byte;
	IOSET = wr;*/
	(*((volatile unsigned short *) 0x83000000)) = Byte;
}

⌨️ 快捷键说明

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