//E-1330点阵液晶屏驱动程序
/*
线路图
89C51 E-1330
--------
| 8
P1.0-1.7|=========== D0-7
|
P3.0|----------- A0
P3.1|----------- R/W
P3.2|----------- E
| -- /CS
| |
| ---
| 反相器
R*ET |----|>。--- /R*
--------
*/
#include
sbit p_a0=P3^0;
sbit p_rw=P3^1;
sbit p_e=P3^2;
//指令写入函数
void ctrl(unsigned char c) {
p_a0=1; //a0为1代表写入指令
p_rw=0;
p_e=1;P1=c;p_e=0;
}
//数据和指令参数写入函数
void write(unsigned char d) {
p_a0=0; //a0为0代表写入数据或指令参数
p_rw=0;
p_e=1;P1=d;p_e=0;
}
//数据和光标地址读出函数
unsigned char read(void) {
unsigned char rd;
p_a0=1; //a0为1代表读数据和光标地址,a0为0代表读状态标志,
p_rw=1; // 由于E-1330功能很强,一般不用读状态标志
P=0xff; //把P1置为高电平,只有置为高电平才能正确读入数据
p_e=1;rd=P1;p_e=0;
return(rd);
}
/*
其他函数可以根据资料自行组合,
如设置CGROM相对地址为0000H,用以下语句即可:
ctrl(0x5c); //写入5C指令
write(0);
write(0); //写入5C指令的参数0000
*/
|