用LCD显示被测量波形的设计_第1页
用LCD显示被测量波形的设计_第2页
用LCD显示被测量波形的设计_第3页
用LCD显示被测量波形的设计_第4页
用LCD显示被测量波形的设计_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、用LCD显示被测量波形的设计论文摘要:随着测量仪器的不断开展,利用液晶显示模块来对各种参数和波形进行显示逐渐流行,如何显示被测量波形成为研究的课题。文中介绍一种用液晶显示器显示被测量波形的方案,该方案采用MCS-96系列80C196KC 16位单片机控制,将被测量在液晶显示器上采用纵横坐标插值描点算法实现静态显示,并能以四象限坐标实现任意波形的快速显示及测试结果的显示,有主菜单及相应的下拉子菜单显示功能,通过键盘可设置各种参数;采用触膜按键,通过面板操作,与使用电脑一样习惯,直观简洁。采用深圳安的利光电科技生产的AM320240-57C58 STN 图形点阵液晶显示模组。论文关键词:单片机,液

2、晶显示模组,插值描点算法,波形显示利用工控电脑采用虚拟仪器方式来显示测试波形及测试结果,具有本钱高、可维护性差等缺点。根据市场需求,介绍一种采用触膜按键及320 x240LCD显示屏显示波形的软硬件实现方法。1硬件结构设计系统硬件结构电路图如图1所示。本系统采用MCS-96系统列中的80C196KC16位单片机,扩展了一片27256程序存储器,用于存放程序代码,扩展了一片62256数据存储器,主要用于存储该系统采集的原始数据及经过处理后待显示的波形数据和测试结果,液晶显示模组是采用SED1335显示控制器的AM320240-57C58STN液晶显示模组。80C196KC工作在8位数据总线模式,

3、因为液晶显示模块与单片机的接口是8位命令/数据总线,利用80C196KC单片机将待显示的波形数据或测量结果通过数据总线送至液晶显示模块的显示缓冲区中显示出来。波形数据在显示前己采集好,并根据采样数据和液晶横纵坐标量程的大小确定出归一化值,并将采样数据都除以归一化值得到能在液晶显示屏上显示出来数据,即预处理。另还扩展了一些读写等控制线。图1系统硬件结构电路图11AM320240-57C58STN液晶显示模组介绍采用20P的矩表插头与80C196KC单片机相连,如表1-1所述表11模组接口描述表12SED1335液晶显示控制器指令集描述 引脚序号 名称 说明 1 VSS 电源地 2 VDD 电源输

4、入 3 VADJ 液晶显示比照度调节 4 WR 写选通信号 5 RD 读选通信号 6 CS LCD片选信号 7 A0 命令/数据输入选择线 8 RST 液晶显示器复位信号 916 D0D7 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 设

5、置CGRAM起始地址 2 CSRDIR 4C-4FH 设置光标移动方向 - HDOT SCR 5AH 设置点单元卷动位置 1 OVLAY 5BH 设置合成显示方式 1 绘图 操作 CSRW 46H 设置光标地址 2 CSRR 47H 读出光标地址 2 存储 操作 MWRITE 42H 数据写入显示缓冲区 假设干 MREAD 43H 从显示缓冲区读出数据 假设干 AM320240-57C58STN液晶显示器采用SED1335液晶显示控制器,其指令集如表12所示,采用先传送指令后传送参数的方式。1.2电路原理介绍程序存储器地址空间为0000H-7FFFH,共32K字节,采用一片27256EPROM

6、。数据存储器地址空间为8000H-FFFFH,共32K字节,采用一片62256SRAM。80C196KC单片机采用冯诺依曼体系结构,程序存储器与数据存储器共用地址64KB地址空间,地址总线中最高位(A15)为低电平选择程序存储器空间(即选择存储芯片27256),当地址总线中最高位(A15)为高电平时经反相后选择数据存储器空间(即存储芯片62256)。采用单片机的P1.0作为液晶显示模块的选择在效信号线,当该引脚输出为低电平时有效,正常工作该引脚应为低电平。采用单片机的P1.2作为液晶显示模块的复位信号线,该引出现高电平时液晶显示模块在内部控制器的作用下完成复位操作,正常工作该引脚应输出低电平。

7、采用单片机的P1.1作为液晶显示模块命令输入或数据输入输出的选择线,当该引脚为低电平时为命令输入,为高电平时为数据输入输出。采用单片机的P1.3作为液晶显示模块的写控制有效信号。采用单片机的P1.4作为液晶显示模块的读控制有效信号。使用地址/数据总线的低8位数据总线与液晶显示模块的数据总线相连。通过一10K电位器调节液晶显示模块3脚电压,可对液晶显示模块进行比照度调节。2插值描点算法设计经过预处理后的被测量数据待显示波形数据不可能完全连续,反映在液晶显示模块上是一些离散的点,为了保证波形的连续,这些离散的点之间的点也要绘出,只有各点之间没有间隔点时才能完整的显示被测量的波形,为了实现此功能,下

8、面介绍一种横纵坐标插值描点算法。横纵坐标插值描点算法流程图如图2表示。在进行横纵坐标插值时,选择待显示被测量波形数据中的任意相邻图2横纵坐标插值描点算法流程图两点,即起点Xs,Ys和终点Xe,Ye,且选择纵坐标较小的点作为起点坐标,另一点作终点坐标。其斜率K=Ye-Ys/Xe-Xs。应用Y=Ye-Ys和X=Xe-Xs之间的关系,在保证Y0的条件下将斜率K的取值分为四个范围,在每个范围内用err参数作为未知点和实线点之间的误差,以此确定相应的作点规那么。1、当Y0,X0,且YX时,即斜率K=01。在当前坐标点(Xs,Ys)处,假设err,那么下一未知点坐标为(Xs+1,Ys),且err=err+

9、Y;假设err0,那么在(Xs+1,Ys+1)上描点,且err=err+Y-X。然后将新的描点坐标作为当前Xs,Ys点,而所得到的err值为该点坐标的偏差值,重复上述的工作直至Xs=Xe为止。2、Y0,X0,且YX时,即斜率K1。在当前坐标点Xs,Ys处,假设err,那么在(Xs+1,Ys+1)上描点,且err=err+Y-X;假设err0,那么在(Xs,Ys+1)上描点,且err=err-X。然后将新的描点坐标作为当前Xs,Ys点,而所得到的err值为该点坐标的偏差值,重复上述的工作直至Ys=Ye为止。3、Y0,X,且YX时,即斜率K=0-1。在当前坐标点Xs,Ys处,假设err,那么在Xs

10、-1,Ys上描点,且err=err+Y;假设err0,那么在(Xs-1,Ys+1)上描点,且err=err+Y-X。然后将新的描点坐标作为当前Xs,Ys点,而所得到的err值为该点坐标的偏差值,重复上述的工作直至Xs=Xe为止。4、Y0,X0,且YX时,即斜率K。在当前坐标点Xs,Ys处,假设err,那么在Xs-1,Ys+1上描点,且err=err+Y-X;假设err0,那么在Xs,Ys+1上描点,且err=err-X。然后将新的描点坐标作为当前Xs,Ys点,而所得到的值为该点坐标的偏差值,重复上述的工作直至Ys=Ye为止。3软件设计本系统的主要目的是将采集到的被测量在液晶显示模块上以波形直观

11、的显示出来,并指引用户在使用过程中的操作等。在设计中的软件主要由主程序、LCD初始化程序、键值处理程序、波形显示程序组成。为了便于以后的维护及修改,采用模块化程序设计技术和采用易于移植的C96语言。3.1主程序主程序主要用来对LCD进行初始化设定、显示开机界面后,然后无限循环扫描矩阵键盘并进行相应键值的处理。主程序流程图如图3所示 波形显示区 测试结果及相应主菜单的子菜单和参数显示区 图3主程序流程图图4开机界面示意图在对LCD初始化之前,因80C196KC单片机的复位速度比LCD的复位时间要快得多,所以应在主程序的开始处延时1毫秒以使LCD能可靠的复位。调用LCD初始化程序对LCD进行初始化

12、后,显示如图4所示的开机界面。在后述的LCD初始化程序中设置了LCD模块的第一显示区为文本显示区,第二显示区为图形显示区。在此将显示屏分为三个区域以显示不同的内容,分别为主菜单文本显示区、子菜单文本显示区、波形显示区即图形显示区。在主菜单文本显示区该显示区属于LCD模块第一显示区的一局部显示仪器型号如MATS-2000SAMEASURESTYSTEM。在主菜单文本显示区该显示区属于LCD模块第一显示区的一局部显示主菜单如TITLE、SAMPLE、SCHEDULE、RESULT、DISPLAY、UTILITY。在子菜单文本显示区该显示区属于LCD模块第一显示区的一局部显示子菜单。在波形显示区该显

13、示区属于LCD模块第二显示区的一局部显示四象限坐标,其方法采用前面所述的插值描点绘制三横三纵六条线段。最后循环扫描键盘并进行相应功能处理,方便用户的操作。3.2LCD初始化程序LCD初始化程序主要对LCD模块进行初始化设定,LCD初始化程序流程图如图5所示。LCD初始化程序主要用来对LCD进行显示窗口初始化设置、显示区域设置、点单元显示方向设置、光标设置、光标移动方向设置、合成显示方式设置,以便使LCD在显示字符或波形前己被设置为一个适宜的状态。最后去除文本和图形显示区,具体实施参阅LCD产品说明书。3.3键盘扫描及键值处理程序键盘扫描及键值处理程序的作用是扫描矩阵键盘并进行相应键值的处理,键

14、值处理程序流程图如图6所示。在本程序中可根据功能需要将键定义为数字键在本程序中主要定义了09十个数字键或数字命令输入键、导航键图5LCD初始化程序流程图图6键值处理程序流程图上下左右四个方向导航键,参数输入确定键ENTER和取消键盘ESC等键、功能键波形显示功能键、测试结果显示功能键等三类键。1、键盘扫描调用键盘扫描程序对矩阵键盘进行扫描,然后返回扫描结果。根据返回结果判断无键按下那么直接返回。根据返回结果判断有键按下那么根据如下描述进行处理。是功能键那么进入功能键处理模块进行处理。是导航键那么进入导航键处理模块进行处理。是数字键那么进入数字键处理模块进行处理。2、功能键处理功能键处理模块是根

15、功能键类型进行相应处理。如该键是波形显示功能键那么调用波形显示程序将被测量波形显示在波形显示区。如该键是测试结果显示功能键就将存储在数据存储区的测结结果在液晶显示屏右下侧的子菜单文本显示区显示出来。3、导航键处理导航键处理模块是根据导航键类型进行相应处理。如该键是向左导航键那么将光标向左移动一个字符或移向前一项主菜单,当前处在第一个字符第一项主菜单那么将光标移到最后一个字符最后一项主菜单。如该键是向右导航键那么将光标向右移动一个字符或移向后一项主菜单,当前处在最后一个字符最后一项主菜单那么将光标移到第一个字符第一项主菜单。如该键是向上导航键那么将光标移向上一项子菜单,当前处在第一项子菜单那么将

16、光标移到最后一项子菜单。如该键是向下导航键那么将光标移向下一项子菜单,当前处在最后一项子菜单那么将光标移到第一项子菜单。4、数字键处理将该数字键的ASCLL码;在当前光标位置显示出来并保存在数据存储器中,方便用户参数的设定。34波形显示程序本程序的主要作用是从被测量中等间隔取样假设干个点在LCD的波形显示区上近似的显示出来,波形显示程序流程图如图7所示。1、数据取样及预处理从待显示被测量数据中等间隔取样90个点根据实际需要可取任意个点,将取样的90个点进行预处理。2、波形显示前处理设定计数器COUNT并初始化为0即首先指向第一个点。每描完一条子线段连接两个点的一条线段就自增1指向下一个点。当C

17、OUNT的值为89时即指向第九十个点时,那么波形显示完成并返回。当COUNT的值小于89时,那么进入子线段绘制模块描点连接第COUNT、COUNT+1这两点。3、子线段绘制采用横纵坐标插值描点在文中2.2介绍连接第COUNT、COUNT+1之间的子线段。还要显示一些参数的文本显示以级坐标中所采用单位的文本显示和每单元格所表示的量的数据显示。 X 1/DIV 图7波形显示程序流程图图8Y超前X45李沙育波形显示效果图4结束语经过在一种硅钢测试仪上试验性地进行多种波形显示的测试,其效果和速度均较好速度应根据所采用的处理器来决定,本软件设计中采用的是速度较快的80C19616位单片机,因此采用本软件设计方法在静态波形显示中具有较好的效果,具有一定的实用价值。显示李沙育测试波形的效果如图8所示相位相差45度的李沙育图形。参考文献1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论