南昌航空大学 学士学位论文
3.3.3 LCD1602显示模块 3.3.3.1 LCD1602基本介绍
LCD1602内置了128个字符ASCII字库。这种显示器可以显示两行。每行
可以显示16个字符。显示器一共有16个管脚[12],其通信方式为并行通信。显示器如下图所示。
图3.7.1LCD1602实物图
图3.8 LCD16022管脚图
11
南昌航空大学 学士学位论文
3.3.2.2 LCD1602基本操作时序:
LCD1602存在四个状态,分别为读状态,读数据,写指令。写数据。在其中都是通过设置RS,R/W,E的电平状态来完成对状态字和数据的读写操作。基本的操作时序如下表格3.1所示。操作时序图如图3.9所示。 读状态 读数据 写指令 写数据 表3.1
输入:RS=0:R/W=1;E=1 输入:RS=1;R/W=0;E=1 输入:RS=0;R/W=0;E=高脉冲 D0~D7=指令码 输入:RS=1;R/W=0;E=高脉冲 D0~D7=数据 输出:D0~D7=状态字 输出:无 输出:D0~D7=数据 输出;无
图3.9LCD1602读操作的时序图
12
南昌航空大学 学士学位论文
图3.10 LCD602的写操作
3.3.3.3 RAM地址映射以及数据指针的设置
在单片机的内部带有80B的RAM缓冲区,图3.3.3就可以反映出对应关系。
图3.11液晶地址图
当我们向其中的00~0F,40~4F中的任何一处地址写入显示数据的时候都可以显示出,当我们写入数据到10~27或者50~67地址中的时候我们都必须通过移屏指令将他们移植到可显示的区域才可以实现显示。 3.3.3.4 LCD1602操作
在对液晶LCD1602进行写命令操作和写数据操作之前我们需要首先进行液晶的初始化的操作。那该如何来进行初始化呢?第一步我们应该设置液晶的显示方式,包括格式显示光标的显示。第二部来一个大约5ms~10ms的延时,为了显示器的稳定。第三步进行显示缓存的清理,让显示清0.还有数据指针清0.。第四步进行设置显示的模式。以上四步操作便完成了液晶的初始化的操作。然后就可以进行液晶的读写操作了。分别利用写命令操作的函数和写数据操作的函数来完成在进行写数据的时候一定要有一个短暂的延时大约5ms因为这样可以保证写
13
南昌航空大学 学士学位论文
数据的稳定性。时间太短不稳定,太长了显示速度太慢。在写到第二行的时候需要重新进行定位数据指针,利用0x80+地址来进行定位第二行的数据指针。
14
南昌航空大学 学士学位论文
4 软件设计
4.1 红外编码特点
红外编码信号构成是:引导码+客户码1+客户码2+操作码+操作反码 引导码:如下图4.1所示其中的9ms高电平与4ms低电平组成引导码,当单片机检测到这个引导码的信号就会准备 接收后面的数据。
图4.1引导码
客户码:客户码就是每个红外设备的特征,使得不同的设备不会产生干扰。 操作码:操作码就是与操作执行相匹配的指令。可以让执行电路有不同的操作的指令编码。
操作反码:操作码的反码,当接收到操作码时将操作码取反,然后与操作码进行比较,然后确定是否相等。可以提高传输信号觉得准确度。 客户码,客户反码,操作码和操作反码都是有8位的二进制编码
我们知道二进制编码都是用0,1来表示的,在红外编码中利用0.565ms的高电平信号+0.565ms的低电平信号组合来表示二进制中的0,利用0.565ms的高电平信号+1.685ms的低电平信号来表示二进制中的1(如图4.2所示)。
图4.2 红外编码中的0,1状态
利用红外编码的0和1就可以进行编码了。一个完整的红外编码格式(如图4.3所示)。
15