指令1:清显示,将显示缓冲区DDRAM的内容全部写入空格,指令码01H,光标复位
到地址00H位置。
指令2:光标复位,光标返回到地址00H,即显示器的左上角,显示缓冲区DDRAM
的内容不变。
指令3:设定当写入一个字节后,关标的移动方向以及后面的内容是否移动。
当I/D=1时,光标从左向右移动;I/D=0时,光标从右向左移动。 当S=1时,内容移动;S=0时,内容不移动。
指令4:显示开关控制
当D=1时显示,D=0时不显示。
当C=1时光标显示,C=0时光标不显示。 当B=1时字符闪烁,B=0时字符不闪烁。 指令5:光标或显示移位
当S/C=1时整个显示字幕移位,S/C=0时只光标移位。 当R/L=1时光标右移,R/L=0时光标左移。
指令6:功能设置命令
设置数据位数,当DL=1时数据位为8位,DL=0时数据位为4位。 设置显示行数,当N=1时双行显示,N=0时单行显示。
设置字型大小,当F=1时5*10点阵,F=0时为5*7点阵。
指令7:设置用户自定义CGRAM的地址,对用户自定义CGRAM访问时,要先设
定CGRAM的地址,地址范畴为0~63。
指令8:前显示缓冲区DDRAM的地址,对DDRAM访问时,要先设定DDRAM的
地址,地址范畴为0~127。
指令9:读忙信号和光标地址
当BF=1时表示忙,这时不能接受命令和数据;BF=0时表示不忙。 低7位为读出的AC的地址,值为0~127。
指令10:向DDRAM或CGRAM当前位置中写入数据。对DDRAM或CGRAM写
入数据之前须设定DDRAM或CGRAM的地址。
指令11:从DDRAM或CGRAM当前位置中读出数据。当DDRAM或CGRAM读
出数据时,先须设定DDRAM或CGRAM的地址。
液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。
(4) LCD1602显示器的初始化
LCD使用之前须对它进行初始化,初始化可通过复位完成,也可在复位后完成,初始化过程如下:
延时15ms
写指令38H(不检测忙信号) 延时5ms
写指令38H(不检测忙标志) 延时5ms
写指令38H(不检测忙标志)
以后每次写指令、读/写数据操作均需要检测忙标志信号 写指令38H:显示模式设置
21
写指令08H:显示关闭 写指令01H:显示清屏
写指令06H:显示光标移动设置 写指令0CH:显示开及光标设置
LCD1602显示程序流程图如图4-5所示,该流程图包括显示一个字符到指定位置函数,显示字符串到指定位置函数,写指令函数,写数据函数,判忙函数(内部等待函数),初始化函数等等。
开始 各寄存器和工作状态的初始化 判断显示器是否忙 Y N 确定光标的书写位 判断显示器是否忙 Y N 写入要显示的字符 结束
图4-5 LCD1602显示流程
4.3 软件测试
4.3.1 测试结果及分析
在将程序编译烧进单片机后,接通电源,LCD屏幕正常运行,时间跳动正常,说明时钟芯片与LCD屏幕的初始化成功,显示效果达到要求。时间走时正常,所有结果达到理想中的要求效果。
(1) 测试结果
经过反复修改最终在硬件中显示出正确的测试结果。 (2) 结果分析
带日历的电子钟是多功能的数字型,可以看当前日期,时间。带日历的电子钟功能很多,所以对于它的程序也较为复杂,所以在编写程序和调试时出现了相对较多的问题。最
22
后经过多次的模块子程序的修改,一步一步的完成,最终解决了软件。 4.3.2 测试结论
经过多次的反复测试与分析,可以对电路的原理及功能更加熟悉,同时提高了设计能力与及对电路的分析能力。同时在软件的编程方面得到更到的提高,对编程能力得到加强,同时对所学的知识得到很大的提高与巩固。
23
第五章 系统调试
调试工作分硬件调试和软件调试两部分,调试方法如下:
首先,硬件调试主要是先搭建硬件平台,然后利用外用表等工具对电路检查,最后应用程序进行功能调试。调试是一个调试过程是一个软硬件相结合调试的过程,硬件电路是基础,软件是检测硬件电路和实现其功能的关键。调试过程中需要细心和耐心,也需要熟悉程序的编程思路和熟练掌握电路原理。
因为我们的单片机开发板是新的,为了掌握开发板的各个模块的应用,也为了检测该开发板是否能用,所以起初我们根据开发板的使用说明,选择了一些小程序进行仿真,经过一系列的仿真,确定了该开发板可以使用。然后就可以用我们选择的仿真软件进行仿真了。
5.1 软件调试
5.1.1 仿真软件介绍
图5-1 Proteus仿真界面
24
相关推荐: