采用单片机AT89S51的I/O接口模拟LCD1602的操作,连接方法如图6-14所示。接口电路将占用很多AT89S51宝贵的I/O接口资源,将AT89S51的读写信号经门电路变换后,可直接将LCD1602连到AT89S51的三总线上。
字符型液晶显示模块在显示字符时,被显示的每个字符都有一个对应的十六进制代码,液晶显示模块从处理器得到此代码,并把它存储到显示数据RAM中,字符发生器根据此代码产生相应的点阵图形,如图6-15所示。
图6-14 AT89S51和LCD1602的模拟连接方法
程序清单如下:
ORG 0000H
E EQU P3.4;确定硬件连接方式
RS EQU P3.5;确定硬件连接方式
RW EQU P3.6;确定硬件连接方式
MOV P1,#00000001B;清屏并光标复位
ACALL ENABLE;调用写入命令子程序
MOV P1,#00111000B;设置显示模式,8位2行5×7点阵
ACALL ENABLE;调用写入命令子程序
MOV P1,#00001111B;显示器开、光标开、光标允许闪烁
ACALL ENABLE;调用写入命令子程序
MOV P1,#00000110B;文字不动,光标自动右移
ACALL ENABLE;调用写入命令子程序
MOV P1,#0C0H;写入显示起始地址(第二行第一个位置)
ACALL ENABLE;调用写入命令子程序
MOV P1,#01000001B;字母A的代码
SETB RS;RS=1
CLR RW;RW=0,准备写入数据(www.xing528.com)
CLR E;E=0,执行显示命令
ACALL DELAY;判断液晶模块是否忙?
SETB E;E=1,显示完成,程序停止
AJMP $
ENABLE:CLR RS;写入控制命令的子程序
CLR RW
CLR E
ACALL DELAY
SETB E
RET
DELAY:MOV P1,#0FFH;判断液晶显示器是否忙的子程序
CLR RS
SETB RW
CLR E
NOP
SETB E
JB P1.7,DELAY;如果P1.7为高电平表示忙,就循环等待
RET
END
图6-15 LCD1602液晶显示器应用
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。