论文摘要:随着测量仪器的不断发展,利用液晶显示模块来对各种参数和波形进行显示逐渐流行,如何显示被测量波形成为研究的课题。文中介绍一种用液晶显示器显示被测量波形的方案,该方案采用MCS-96系列80C196KC 16位单片机控制,将被测量在液晶显示器上采用纵横坐标插值描点算法实现静态显示,并能以四象限坐标实现任意波形的快速显示及测试结果的显示,有主菜单及相应的下拉子菜单显示功能,通过键盘可设置各种参数;采用触膜按键,通过面板操作,与使用电脑一样习惯,直观简洁。采用深圳安的利光电科技有限公司生产的AM320240-57C58 STN 图形点阵液晶显示模组。
论文关键词:单片机,液晶显示模组,插值描点算法,波形显示
利用工控电脑采用虚拟仪器方式来显示测试波形及测试结果,具有成本高、可维护性差等缺点。根据市场需求,介绍一种采用触膜按键及320×240LCD显示屏显示波形的软硬件实现方法。
1硬件结构设计
系统硬件结构电路图如图1所示。本系统采用MCS-96系统列中的80C196KC16位单片机,扩展了一片27256程序存储器,用于存放程序代码,扩展了一片62256数据存储器,主要用于存储该系统采集的原始数据及经过处理后待显示的波形数据和测试结果,液晶显示模组是采用SED1335显示控制器的AM320240-57C58STN液晶显示模组。80C196KC工作在8位数据总线模式,因为液晶显示模块与单片机的接口是8位命令/数据总线,利用80C196KC单片机将待显示的波形数据或测量结果通过数据总线送至液晶显示模块的显示缓冲区中显示出来。波形数据在显示前己采集好,并根据采样数据和液晶横纵坐标量程的大小确定出归一化值,并将采样数据都除以归一化值得到能在液晶显示屏上显示出来数据,即预处理。另还扩展了一些读写等控制线。
图1系统硬件结构电路图
1.1AM320240-57C58STN液晶显示模组介绍
1.1.1模组接口描述
采用20P的矩表插头与80C196KC单片机相连,如表1-1所述
表1—1模组接口描述表1—2SED1335液晶显示控制器指令集描述
引脚序号
|
名称
|
说明
|
1
|
VSS
|
电源地
|
2
|
VDD
|
电源输入(+5V)
|
3
|
VADJ
|
液晶显示对比度调节
|
4
|
WR
|
写选通信号(低电平有效)
|
5
|
RD
|
读选通信号(低电平有效)
|
6
|
CS
|
LCD片选信号(低电平有效)
|
7
|
A0
|
命令/数据输入选择线
(高:命令,低:数据)
|
8
|
RST
|
液晶显示器复位信号
(高电平有效)
|
9—16
|
D0—D7
|
8位数据总路线
|
18
|
VEE
|
内置负压
|
17、19、20
|
NC
|
--
|
功能
|
指令
|
操作码
|
说明
|
参数量
|
系统
控制
|
SYSTEM SET
|
40H
|
初始化,显示窗口设置
|
8
|
SLEEP IN
|
53H
|
空闲操作
|
--
|
显示
操作
|
DISP ON/OFF
|
59/58H
|
显示开/关,设置显示方式
|
1
|
SCROLL
|
44H
|
设置显示区域、卷动
|
10
|
CSRFORM
|
5DH
|
设置光标形状
|
2
|
CGRAM ADR
|
5CH
|
设置CGRAM起始地址
|
2
|
CSRDIR
|
4C-4FH
|
设置光标移动方向
|
--
|
HDOT SCR
|
5AH
|
设置点单元卷动位置
|
1
|
OVLAY
|
5BH
|
设置合成显示方式
|
1
|
绘图
操作
|
CSRW
|
46H
|
设置光标地址
|
2
|
CSRR
|
47H
|
读出光标地址
|
2
|
存储
操作
|
MWRITE
|
42H
|
数据写入显示缓冲区
|
若干
|
MREAD
|
43H
|
从显示缓冲区读出数据
|
若干
|
1.1.2SED1335指令集描述
AM320240-57C58STN液晶显示器采用SED1335液晶显示控制器,其指令集如表1—2所示,采用先传送指
令后传送参数的方式。
1.2电路原理介绍
1.2.1存储地址空间分配
程序存储器地址空间为0000H---7FFFH,共32K字节,采用一片27256EPROM。数据存储器地址空间为8000H---FFFFH,共32K字节,采用一片62256SRAM。80C196KC单片机采用冯诺依曼体系结构,程序存储器与数据存储器共用地址64KB地址空间,地址总线中最高位(A15)为低电平选择程序存储器空间(即选择存储芯片27256),当地址总线中最高位(A15)为高电平时经反相后选择数据存储器空间(即存储芯片62256)。
1.2.2键盘接口电路
采用3*6矩阵键盘,共18个按键输入。6根行线(KO1—KO6)设置为输出,扩展一片74LS164实现串并转换输出,利用单片机的P2.7作串行输出线和P2.6作串行时钟线。3根列线设置为输入,利用单片机P0.5—P0.7作为键盘扫描列输入线。
1.2.3液晶显示模块接口电路
采用单片机的P1.0作为液晶显示模块的选择在效信号线,当该引脚输出为低电平时有效,正常工作该引脚应为低电平。采用单片机的P1.2作为液晶显示模块的复位信号线,该引出现高电平时液晶显示模块在内部控制器的作用下完成复位操作,正常工作该引脚应输出低电平。采用单片机的P1.1作为液晶显示模块命令输入或数据输入输出的选择线,当该引脚为低电平时为命令输入,为高电平时为数据输入输出。采用单片机的P1.3作为液晶显示模块的写控制有效信号。采用单片机的P1.4作为液晶显示模块的读控制有效信号。使用地址/数据总线的低8位数据总线与液晶显示模块的数据总线相连。通过一10K电位器调节液晶显示模块3脚电压,可对液晶显示模块进行对比度调节。
2插值描点算法设计
经过预处理后的被测量数据(待显示波形数据)不可能完全连续,反映在液晶显示模块上是一些离散的点,为了保证波形的连续,这些离散的点之间的点也要绘出,只有各点之间没有间隔点时才能完整的显示被测量的波形,为了实现此功能,下面介绍一种横纵坐标插值描点算法。
横纵坐标插值描点算法流程图如图2表示。在进行横纵坐标插值时,选择待显示被测量波形数据中的任意相邻

图2横纵坐标插值描点算法流程图
两点,即起点(Xs,Ys)和终点(Xe,Ye),且选择纵坐标较小的点作为起点坐标,另一点作终点坐标。其斜率K=(Ye-Ys)/(Xe-Xs)。应用△Y=Ye-Ys和△X=Xe-Xs之间的关系,在保证△Y≥0的条件下将斜率K的取值分为四个范围,在每个范围内用err参数作为未知点和实线点之间的误差,以此确定相应的作点规则。
1、当△Y≥0,△X≥0,且△Y≤△X时,即斜率K=0~1。在当前坐标点(Xs,Ys)处,若err,则下一未知点坐标为(Xs+1,Ys),且err=err+△Y;若err≥0,则在(Xs+1,Ys+1)上描点,且err=err+△Y-△X。然后将新的描点坐标作为当前(Xs,Ys)点,而所得到的err值为该点坐标的偏差值,重复上述的工作直至Xs=Xe为止。
2、△Y>0,△X≥0,且△Y>△X时,即斜率K>1。在当前坐标点(Xs,Ys)处,若err,则在(Xs+1,Ys+1)上描点,且err=err+△Y-△X;若err≥0,则在(Xs,Ys+1)上描点,且err=err-△X。 1/3 1 2 3 下一页 尾页 |