//单片机通过模拟IO对并口彩色液晶模块的写操作子函数
//M057P256 8位并口彩色液晶模组(半反半透、阳光可视型)
//8051上通过验证
#define WR_XLADDR 0x00 //0000 写入x坐标低地址addr[7:0]
#define WR_XHADDR 0x01 //0001 写入X坐标高地址addr[9:8]
#define WR_YLADDR 0x02 //0010 写入y坐标地址addr[7:0]
#define WR_2XLADDR 0x0c //1100 写入清屏结束x坐标低地址addr[7:0]
#define WR_2XHADDR 0x0d //1101 写入清屏结束X坐标高地址addr[9:8]
#define WR_2YLADDR 0x0e //1110 写入清屏结束y坐标地址addr[7:0]
#define WR_FRONT 0x04 //0100 写入8bit的RGB数据,作为8bit前景色
#define WR_BACK 0x06 //0110 写入8bit的RGB数据,作为8bit背景色
#define WR_DATA 0x08 //1000 写入8bit数据到数据寄存器 / 读出8bit数据
#define WR_CLR 0x09 //1001 清屏指令
#define WR_CTRL 0x0a //1010 写入8bit数据到控制寄存器
#define LDIS 0x0b //1011 定义LCD寄存器开关显示命令指令
#define LDPWM 0x05 //0101 定义LCD寄存器pwm调节亮度
//MCU硬件连接映射
sbit CS = P2^7; //片选信号,低电平有效
sbit M_WR = P3^6; //写选通,低电平有效
sbit M_RD = P3^7; //读选通,低电平有效
#define WRn_DATA P0 //硬件连接的数据总线
//====================================================================================
//函数名称:wr_adata(uchar adata,uchar add)
//函数功能:向地址写入8bit数据
//入口参数: uchar adata 要写入的数据
// uchar add 要写入的地址
//返回:无
//====================================================================================
void wr_adata(uchar adata,uchar add)
{
//送地址
P2 = (P2&0xf0)|add; //P2的低4位为地址线
//送数据
WRn_DATA = adata;
//片选拉低
CS = 0 ;
//写选通拉低
M_WR = 0 ;
// delay(10); //此处可以根据实际情况加适当的延时
//写选通拉高
M_WR = 1 ;
//片选拉高
CS = 1 ;
}
//本模块带读功能,欢迎交流:QQ:410965574, WWW.LCDSOC.COM