目录
一、引脚说明
具体接线请按照原理图接线
二、开发逻辑
显示参考图
要显示的字符可以用ASCII码来实现或者直接输出字符'xxx'实现
显示任何字符都需要把最高位置1才能显示,例如:在第一行第5位显示,那么地址为: 0x80+0x04
LCD1602模块指令
三、读写时序图
读操作时序图分析:
由前面引脚说明可知:RS为寄存器选择,高电平为数据寄存器,低电平为指令寄存器
假如我们选择数据寄存器,那么RS一开始为高电平,R/W可看作一直为高电平,E使能位刚开始为低电平,经过一段时间变为高电平维持一段时间后变为低电平,DB0 ----DB7是数据位 当E使能位变为高电平后tD时间后开始读取数据
读操作(检查忙操作)的代码实现
#include "reg52.h"
#include <intrins.h>
#define databuffer P0
sbit RS = P2^6;
sbit RW = P2^5;
sbit EN = P2^7;
void check_busy()
{
char temp = 0x80;
databuffer = 0x80;
while(temp & 0x80){
RS = 0;
RW = 1;
EN = 0;
_nop_();//延时一个机器周期
EN &#