论液晶显示应用控制系统设计与实现
2018-10-21章明喆李小波
章明喆 李小波
摘 要 目前,液晶显示器已经在工业生产的控制系统当中得到了较为广泛的应用。而比较常用的液晶显示器可以分成字符液晶显示器以及图像液晶显示器这两个类别。本文主要就液晶显示的应用控制系统在硬件以及软件设计方面进行了简要的探讨。
关键词 液晶显示器;控制系统;图像液晶显示器
1 液晶显示应用控制系统硬件设计
1.1 硬件结构设计
为了显示当前温度值和绘制实时温度曲线,系统硬件主要采用单片机、字符液晶显示器、图形液晶显示器和A/D转换器等组成一个单片机控制系统。当调整滑动变阻器(模拟温度的变化)时,字符液晶显示器能够显示温度的当前值及变化过程,而图形液晶显示器能够自动以打点方式绘出温度曲线并显示汉字等。
1.2 Proteus电路原理图设计
8255A的PA、PB和PC口分别接LCDl602和LCDl2864的数据总线及控制端。单片机的P0、P2口接8255A的数据总线,因Po口驱动负载能力较弱,故必须接上拉排阻;P0口作为8255A的低八位地址数据线,P2口作为8255A的高八位地址。P1口接ADl674的高8位数据线DB4-DBll,ADl674的低4位数据线DBO~DB3接单片机的P1.4~P1.7。P3口用来控制A/D转换器和液晶显示器。其中,P3.0接ADl674的转换结束标志位STS,当STS输出为高电平时表明转换正在进行,当STS输出为低电平时表明转换结束;P3.1~P3.2分别接ADl674的位寻址/短周期转换选择输入端A0和ADl674的操作使能端CE;P3.3接ADl674的读/转换状态输入端R/C;P3.4~P3.5接LCDl2864左、右半屏的片选信号/CSl、/CS2,选中左半屏时,/CSl为低电平,/cs2为高电平;选中右半屏时,/cs2为低电平,/CSl为高电平;P3.6~P3.7分别接8255A的写入信号WR和读信号线RD。滑动变阻器用来模拟变化的温度量,通过电壓跟随缓冲器接至模/数转换器ADl674。8255A的PA口接字符液晶显示器(Proteus中为LM01 6L)的8位并行总线,PB口接图形液晶显示器(Proteus中为LGMl2641BSlR)的8位并行总线。PC0~PC2接图形液晶显示器的控制端,PC5~PC7接字符液晶显示器的控制端。LCDl2864的GND接地,VCC接+5 V电源,VO通过10KΩ变阻器接+5 V电源,调节滑动变阻器可以调节液晶屏亮度。RST为复位端,低电平有效。LCDl602的VD。接+5 V电源,VSS接地,VEE通过10KΩ变阻器接+5V电源,调节滑动变阻器可以调节液晶屏亮度[1]。
2 液晶显示应用控制系统软件设计与实现
2.1 主程序流程
在系统上电之后,先要对液晶显示器加以初始化,其中包含显示的方式、首地址以及字体的格式等。继而启动十二位的A/D转换器,利用单片机针对转换的结果加以处理,对字符式的液晶显示器(LCD1602)以及图像式的液晶显示器(LCD12864)加以控制,继而分别对目前的温度加以显示,并且构成温度的曲线图。
2.2 子程序
A/D转换程序,该程序包含数据的采集以及转换这两个部分。AD1674的STS主要是A/D转换器工作状态的一个指示信号,如果对A/D
转换加以启动,STS就会变成高电平,而在转换结束之后,STS就会变成低电平。单片机不光能够利用中断的形式,还能够利用查询的形式对AD1674所处的工作状态加以确认。因为AD1674是一种高速A/D的转换器,它从启动转换指导对转换结果加以获取的这段时间不会超过十微秒,所以利用查询方式不会对程序执行的效率产生影响。而数据转换是将所采集到的那些二进制数据一一转换成为十进制的数据,需要保留到一位小数,继而分别供给给字符以及图形式的液晶显示器加以调用和显示。
2.3 液晶显示程序液晶显示程序主要包含LCD1602以及LCD12864显示程序
其中LCD1062型的夜景显示控制器当中的CGROM已然存储了一百九十多个不同点阵字符的图形(大多数都是8*8的点阵)。每个字符都具备固定显示代码,在显示的时候,单片机主要将相互对应的显示代码传送给液晶显示的控制器当中的显存就可以了。同样的道理,在对实时温度加以显示的时候,将A/D转换的结果从单片机内存当中取出,然后直接利用数据的接口传送到LCD显存当中也就可以了。LCD12864显示程序主要包含实时温度的曲线显示、图形显示以及汉字显示。LCD12864所对应的温度曲线显示呈现出了动态的显示过程,要对温度的变化加以实时的呈现。其中包含两个关键点:①单片机当中A/D转换的数据要按照相应的顺序存放,也就是依据转换时间向存储器当中进行连续的存储。②在单片机朝着LCD12864按照次序传输数据的时候,主要是根据所显示数据大小确定LCD纵坐标的实际位置,而且横坐标会自动加一。这样一来,实时的电压数据就能够点亮LCD当中的坐标点,一群连续的点也就能够显示出实施温度的变化,继而形成曲线。LCD12864当中所显示的汉字是三个字——曲线图,每个汉字都是16*16的点阵汉字。一般可以将16*16的点阵汉字划分成为四个部分,只要是确定了显示的页、起始列以及行的地址,就能够在程序的字模数据块当中连续获得十六个字节显示数据,也就是显示出一个字的上半部分。而要是在这个时候继续从数据块当中取出十六个字节,不过部队显示地址加以变更,这个字下半部分也就会显示在上半部右侧,也就是说列地址会自动加一。在对所显示的数据加以显示的时候,必须要对页地址以及起始列地质加以重新设置。这样,完整的汉字也就呈现了出来。
让两种较为常用的液晶显示的控制器相互配合,利用A/D转换器以及单片机I/O口的扩展单元,针对系统的硬件以及软件进行了系统性的分析、设计以及仿真,对液晶显示器的图片、文字以及实施数据显示等各个方面的功能进行了综合性的应用。利用Proteus仿真以及电路加以实现,证明系统设计所具备的正确性以及可实现性。
参考文献
[1] 张友德.单片微型机原理、应用与实验[M].上海:复旦大学出版社,1992:201.