单片机c51的1602显示

原标题:51单片机 1602液晶显示控制代碼

>_<:下面是对其各个引脚进行说明:

(用LCD1602做个温度显示装置)

第4引脚: 低电平选择指令寄存器(即在哪个位置显示(共32个位置))

高电平选择数据寄存器(即显示什么字符);

80H+地址码=指令码

省略的地方留给整屏左/移动

BD0--BD7 (8位数据)双向数据总线通常是P0。然后向P0的8个引脚写命令和数据

上升沿/下跳沿最大25ns,所以单片机延时应大于25ns,可写1ms

时序图(配置 寫命令/写数据 函数)

通常输入指令前要判断液晶模块是否处于忙状态(可不用判断,因为单片机执行速度与1602写入速度有差别, 1602写入速度>单爿机执行速度所以写入之前 上一次数据已经处理完)

DDRAM:显示数据RAM,用来寄存待显示的字符代码共80字节

DDRAM地址和屏幕对应关系

写入显示地址是最高位D7恒为高电平,所以要+80H

·模式设置指令(光标移动方向/滚动显示)

DB1:I/D DB1=0 写入数据后光标左移;DB1=0 写入数据后光标右移

DB0:S 可用于滚动显礻

·显示开关控制指令(显示、光标、光标闪动)

·功能设定指令(总线位数、显示行数、57 / 5*10)

1、初始化之前需要编写‘写命令操作’

对於WriteCom(),由前面知道写操作需要RW为低电平即‘0’,并且通过使RS为低电平即‘0’来选择命令寄存器才能写入命令到DATAPINS。另外每次命令输叺DATAPINS就位后,令使能信号产生一个下降沿将DATAPINS的命令写进LCD1602

2.‘写数据操作’也类似,不同之处是RS为高电平即‘1’选择数据寄存器将数据写叺DATAPINS,其他都一样


2、ADC0808芯片的CLOCK端加的脉冲频率最好为500K(听其他大神这样说的)

//设定显示屏或光标移动方向指令

功能描述:显示字符或字符串

入口参数:字符或字符串

功能描述:LCD写指令

功能描述:LCD写数据

En = 0; //若晶振速度太高可以在这后加小的延时

功能描述:LCD读数据

功能描述:LCD读忙状态

返回值:若忙则等待,不忙则返回Port

功能描述:LCD初始化

功能描述:定位到(x,y)位置

我要回帖

 

随机推荐