液晶显示模块在流量计中的实现

   2023-06-15 互联网3000
核心提示:随着液晶技术及其制造工艺的日趋成熟,液晶模块的功能愈来愈丰富,价格不断降低,尤其是图形点阵式液晶模块较之传统的LED器件具

    随着液晶技术及其制造工艺的日趋成熟,液晶模块的功能愈来愈丰富,价格不断降低,尤其是图形点阵式液晶模块较之传统的LED器件具有功能齐全,能显示汉字及图形,显示容量大,功耗低等优点。本流量计有大量实时数据要显示,有各种历史数据供查看,还要接受外部参数的输入,采用128×64的点阵液晶来改善人机对话界面,使得控制命令的输入和结果的输出都能在液晶屏幕上完成,极大地方便了用户的操作和改善了显示效果。

    1 系统组成

    本流量计显示功能采用液晶GDM12864A来实现。GDM12864A是128×64低功耗点阵式LCD模块,具有以下特点:①显示格式为128点(列)×64点(行),能显示8页,每页为128点(列)×8点(行);②与CPU的接口采用8bit并行数据总线额5条控制线,每次接受一个byte的显示数据,每一位对应一个点,可以控制每个点的亮暗来产生图画或动画;③一屏可显示16×16点阵的汉字32个或16×8点阵的西文字符64个或8×8点阵西文字符128个。液晶按键具体接口电路如图1所示:

流量计信息网内容图片

    系统要求实时显示当前瞬时流量、当前瞬时流速、当前累加总流量、当前时间;要求查看历史几年内的日、月、年、段流量和查看流量计意外掉电情况;接受参数设置和时间密码修改;并可以格式化系统。采取把整个系统分成多级屏幕,又设计成多级主菜单,类似的功能放在一个主菜单下构成子菜单。液晶屏各窗口设置如表1所示,其中汉字用16×16点阵(16×16点阵也可能是由2个或不到2个的汉字拼凑起来),一般参数数字用16×8点阵,时间数字用8×8点阵。主要分3层屏幕,共有11个子屏幕,默认是工作窗口来显示动态数据,主菜单屏幕设置了8个子菜单,每个子菜单都有对应的子屏幕,还有个显示密码保护的子屏幕。

    表1 液晶屏各窗口设置(部分)

〈工作窗口〉时间:×年×月×日×时×分×秒瞬流量:×××××瞬流速:×××××总流量:××××××××〈主菜单窗口〉1.月流量5.设参数2.年流量6.改时间3.段流量7.改密码4.查掉电8.格式化〈参数窗口〉管直径:××××/mm总量程:×××××标定值:××××地值:××

    另外采用6个按钮来接受用户输入,6个按钮为取消、上、下、左、右、确认。上下键用来给用户在主菜单项上下移动和实现可修改参数数值的上下循环变化;左右键用来给用户在主菜单项左右移动和在可修改参数的位置上实现左右移动选择;确认键表示用户选择确认和参数输入确定,取消键表示用户退出或放弃当前操作。

    2 技术实现

    2.1 建表

    字符或数字在液晶中的显示是通过写相应的内码(1对应点亮,0对应暗)实现的,于是先做好码表。把用到的字符对应的内码保存在一个名为HZ_TAB的表中,每个16×16点阵的汉字需要32个byte表示;把数字0~9和要用到的字母对应的16×8点阵内码保存在一个名为NU16_TAB的表中,每个需要16个byte表示;把数字0~9对应的8×8点阵内码保存在一个名为NU8_TAB的表中,每个只需要8个byte表示。

    建一个1byte的变量RM_STYLE来保存屏幕要显示的内容的类型,变量RM_STYLE数值对应的表示意义见表2所示。

    表2 变量RM_STYLE对应的屏幕显示含义

变量数值含义(屏幕显示)00H-4FH数字或字母50H-0EFH汉字0F0H-0FBH空格(水平16点为单位)0FCH-0FDH换行FEH结束屏幕


    代表数字或字母的变量值就是其在表NU16_TAB中的位置,代表汉字的变量值和50H的差值是汉字在表HZ_TAB 中的位置。

    对变量RM_STYLE赋值,建一个表PIC_TAB来存放屏幕显示的不变的内容,共有11子表,每个子表最后一个byte都是FEH,另建一个表PICPA_TAB 来存放需要变化的参数,存储类型为参数个数+参数表(8byte来表示1个参数)。

    2.2 屏幕显示

    在显示一屏时,先给屏层变量RM_P1CNO赋值,主菜单窗口的屏层变量值为O,对应的8个子菜单项的屏层变量值就为菜单值,密码保护窗口屏层变量值为9,工作窗口屏层变量值为1O。根据屏层变量值调对应表PIC_TAB的一个子表数值,根据数值的定义意义写数字或汉字,直到取到表示屏幕结束的FEH值。再根据屏层变量值调对应表PIC-PA_TAB的一个子表数值,读出属于这个屏幕的参数总数,读取参数表,直至所有参数显示完毕。在主菜单窗口用上下左右按键选择子菜单时,把某子菜单块的内码值取反反向显示表示选中。程序流程如图2所示。

流量计信息网内容图片

    2.3 参数显示和设置

    为屏幕的每个参数建立一个参数表,参数表存储格式是8 byte对应1个参数,具体的8byte表示的参数属性见表3。

    表3 参数属性中每个byte的含义

byte含义byte1液晶行号绝对值byte2液晶列号绝对值byte3长度(水平8点为一个单位)byte4符号和小数点(前4位为符号,后4位为小数点位数)byte5,6参数RAM地址(2字节)byte7参数RAM长度(字节为单位)byte8参数类型

    根据参数存放的RAM地址和字节数取出参数值,经过可能的BCD码换算,在行列号处写入对应长度的数字,根据小数点和符号进行显示调整。而参数类型字节(byte8)存放的是这个参数的另一个属性,其数值对应的具体属性见表4。根据参数类型值来确定参数的合理性,并用这个值来做散转程序执行对应子程序。

    表4 参数类型宇节数值对应的含义

参数类型值含义0参数不可以修改(非0都可以修改)1检查输入年是否超界2检查输入年月是否超界3检查输入年月日是否超界4管直径是否超界5总量程是否超界6标定是否超界

    2.4 键处理

    如果程序检测到有键被按下,先读入键值并判断是哪一个键被按下,然后散转调用相应的处理程序,按键处理程序流程图见图3所示。

流量计信息网内容图片

    由于显示屏幕较多,在不同的屏幕按键的作用可能是不同,这里用屏层号来散转程序,不同的屏幕对应不同的子程序,也可能在几个屏幕,某个按键功能是相似的,可以通过调用同一个子程序来简化。下面是以确定键为例的MSP430的汇编部分程序。

    CR_K: ;确定键处理子程序
    MOV.B &RM_PICNO, R13            ;取出屏层号
    CALL ENTER(R13)                  ;执行对应的子程序
    RET      ;返回
    ENTER:  ;11个屏幕下的确定键的11个子程序
    DW CR_1,CR_2,CR_3,CR_4,CR_5
    DW CR_6,CR_7,CR_8,CR_9,CR_10,CR_11
    CR_1:……;执行对应命令
    RET       ;返回
    CR_2:    ;如果按键无效,直接返回
    RET
    ……

    3 结束语

    在流量计系统里采用液晶模块很好地改善了人机交互界面,流量计的大量的信息通过多层屏幕的设计得到很好地传达,而通过按键和菜单项的选择用户可以很方便操作系统,在商业化的流量计中使用非常适合。

    参考文献

    [1] 阮洪富.朱善安.液晶模块在称重控制系统中的应用及菜单的实现[J].机电工程,2004,21(1)t 45-48.
    [2] 陈晓英,陈骁峰.利用单片机实现液晶汉字显示方法的研究[J].辽宁工学院学报.2001,21(3).
    [3] 盂军,温作晓,魏同立.一种带有光标显示的LCD驱动控制芯片的设计[J].电子器件,2004.27(1):102-106.
    [4] 李维醍,郭强.液晶显示应用技术[M].北京:电子工业出版社。2000.
    [5] 胡大可.MSP430系列FLASH型超低功耗16位单片机[M].北京:北京航空航天大学出版社,2001.


 
举报收藏 0打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  隐私政策  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  RSS订阅