论坛» 嵌入式开发» MCU

单片机通过模拟IO对并口彩色液晶模块的写操作子函数

菜鸟
2012-05-24 14:05 1楼

//单片机通过模拟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

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]