📄 lcd12032.c
字号:
#include "AT89X51.H"
int code MAXCOL=60; //单片LCD控制的列数
#define A0 P3_7 //控制信号线
#define RW P3_6 //读写信号线
#define E1 P3_4 //主片片选线
#define E2 P3_5 //从片片选线
void LCDWriteCom1(unsigned char com)
{
bit flag; //flag----LCD忙标志
A0 = 0;
RW=1;
do
{
P0=0xff;
E1=1;
flag=P0_7;
E1=0;
}while(flag);
RW=0;
P0=com;
E1=1;
E1=0;
}
/*向主LCD写数据 */
void LCDWriteDat1(unsigned char dat)
{
bit flag;
A0 = 0;
RW=1;
do
{
P0=0xff;
E1=1;
flag=P0_7;
E1=0;
}while(flag);
A0=1;
RW=0;
P0=dat;
E1=1;
E1=0;
}
unsigned char LCDReadDat1()
{
bit flag;
unsigned char dat;
A0 = 0;
RW=1;
do
{
P0=0xff;
E1=1;
flag=P0_7;
E1=0;
}while(flag);
E1 = 1;
A0=1;
RW=1;
dat=P0;
E1 = 0;
RW=0;
P0=0xff;
RW=1;
E1 = 1;
dat=P0;
E1=0;
return dat;
}
/*向从LCD写命令 */
void LCDWriteCom2(unsigned char com)
{
bit flag;
A0 = 0;
RW=1;
do{
P0=0xff;
E2=1;
flag=P0_7;
E2=0;
}while(flag);
RW=0;
P0=com;
E2=1;
E2=0;
}
/*向从LCD写数据 */
void LCDWriteDat2(unsigned char dat)
{
bit flag;
A0 = 0;
RW=1;
do{
P0=0xff;
E2=1;
flag=P0_7;
E2=0;
}while(flag);
A0=1;
RW=0;
P0=dat;
E2=1;
E2=0;
}
unsigned char LCDReadDat2()
{
bit flag;
unsigned char dat;
A0 = 0;
RW=1;
do{
P0=0xff;
E2=1;
flag=P0_7;
E2=0;
}while(flag);
E2 = 1;
A0=1;
RW=1;
dat=P0;
E2 = 0;
RW=0;
P0=0xff;
RW=1;
E2 = 1;
dat=P0;
E2=0;
return dat;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -