位置:51电子网 » 技术资料 » 单 片 机

图形LCD模块的菜单方式人机交互界面

发布时间:2008/5/26 0:00:00 访问次数:656

        

    

    

    来源:单片机与嵌入式系统应用 作者:重庆大学 韦永办

    

    摘要:在以单片机为核心的嵌入式应用中,友好的人机互界面起着十分重要的作用。笔者在设计中使用wgm-12864b图形lcd模块实现一种中文窗口菜单界面,设计中使用的方法具有普遍性意义。

    

    关键词:人机交互界面 图形lcd模块 数据结构 窗口 菜单

    

    随着液晶显示技术的进步,高质量的液晶显示模块会被日趋广泛地应用于各种嵌入式系统中。在系统整体设计中,人机交互界面的设计往往占据着很大一部分工作,现以某嵌入式系统的人机交互部分为例,介绍一种使用wga-12864b图形lcd模块实现中文窗口菜单界面的方法。

    

    

    

    1 图形lcd模块wgm-12864简介

    

    wgm-12864b模块是单色图形点阵液晶显示模块,点阵数为64×128,其点阵存储区如图1所示。

    

    模块点阵分为左右两边,左右两边的结构是完全一样的。对模块的点阵存储区进行读写操作时,由cs1、cs2进行片选,高电平有效。模块中每8行为1页,页地址由x确定;y确定点阵的列号,点阵数据的每一个字节所在的位置由(csi,x,y)唯一确定。字节中的每一位对应着相应的像素,为1显示该像素;为0则不显示。液晶显示模块工作时,逐行扫描点阵存储区。首先被扫描的行显示在lcd屏幕的第1行上,其余行则依次顺序显示。“扫描起始行”可以通过z地址寄存器来设置。z可以是0~63的任意一行,如z=56时,则显示在lcd屏幕上的次序从上到下分别为:

    

    56,57,…,62,63,0,1,2,…,54,55

    

    该模块的这一功能为窗口的滚屏提供了便利。

    

    2 人机界面的硬件接口设计

    

    系统扩展了1片8255a作为人机界面的接口,硬件接口电路如图2所示。8255a的a口连接图形lcd的8位数据线,b口低6位连接相应的控制线,d/i表示数据总线上的信号是点阵数据还是控制命令字,r/w表示当前操作是读或写操作,e是使能控制端,rst是复位端,cs1、cs2是左右点阵区选端。以行扫描方式扩展键盘接口,c口高半字节接行线,低半字节接列线。8255a初始化时,定义a、b口为方式0输出;c口高半字节为方式0输出,低半字节为方式0输入。请注意,大多数类型的8255芯片在对其方式控制寄存器进行初始化时,会引起a、b、c口清零,故不要在程序中动态改变8255端口的输入输出方式,以免影响lcd和键盘。

    

    

    

    3 用户界面的软件设计

    

    人机交互界面设计的目标是实现中文窗口界面,用户可以在菜单方式下进行交互。窗口分为两类:对话框和菜单,也包括对话框和菜单的混合。对话框用于参数的输入输出显示;菜单用于响应用户的选择,根据用户的选择运行程序。

    

    首先,应当确定系统需要多少个窗口,每个窗口有多少个菜单,画出窗口之间的变迁图,可以知道所有的窗口应当组成一个树形结构。菜单中的汉字大小为16×16的点阵,数字和符号的大小为16×8的点阵。这些点阵数据可以由点阵提取程序获得。点阵数为64×128的lcd模块只能同时显示4个菜单项,每个菜单项点据256个字节的点阵存储空间。窗口多于4个菜单项时,应当使用滚屏功能。为方便数据的安排,系统规定了参数、菜单、窗口及lcd缓冲区的数据结构。

    

    

    

    (1)数据结构

    

    为方便参数的显示和处理,参数的输入输出格式用类似于分离bcd码来表示,数据结构如图3所示。数据长度表示数据区的字节数。正负标志,为1表示负数,为0表示正数,负数在输入都要在数据前面加上负号“-”。数据区的每一字节对应于参数的每一位数。数字用分离bcd码表示,小数点用asci

        

    

    

    来源:单片机与嵌入式系统应用 作者:重庆大学 韦永办

    

    摘要:在以单片机为核心的嵌入式应用中,友好的人机互界面起着十分重要的作用。笔者在设计中使用wgm-12864b图形lcd模块实现一种中文窗口菜单界面,设计中使用的方法具有普遍性意义。

    

    关键词:人机交互界面 图形lcd模块 数据结构 窗口 菜单

    

    随着液晶显示技术的进步,高质量的液晶显示模块会被日趋广泛地应用于各种嵌入式系统中。在系统整体设计中,人机交互界面的设计往往占据着很大一部分工作,现以某嵌入式系统的人机交互部分为例,介绍一种使用wga-12864b图形lcd模块实现中文窗口菜单界面的方法。

    

    

    

    1 图形lcd模块wgm-12864简介

    

    wgm-12864b模块是单色图形点阵液晶显示模块,点阵数为64×128,其点阵存储区如图1所示。

    

    模块点阵分为左右两边,左右两边的结构是完全一样的。对模块的点阵存储区进行读写操作时,由cs1、cs2进行片选,高电平有效。模块中每8行为1页,页地址由x确定;y确定点阵的列号,点阵数据的每一个字节所在的位置由(csi,x,y)唯一确定。字节中的每一位对应着相应的像素,为1显示该像素;为0则不显示。液晶显示模块工作时,逐行扫描点阵存储区。首先被扫描的行显示在lcd屏幕的第1行上,其余行则依次顺序显示。“扫描起始行”可以通过z地址寄存器来设置。z可以是0~63的任意一行,如z=56时,则显示在lcd屏幕上的次序从上到下分别为:

    

    56,57,…,62,63,0,1,2,…,54,55

    

    该模块的这一功能为窗口的滚屏提供了便利。

    

    2 人机界面的硬件接口设计

    

    系统扩展了1片8255a作为人机界面的接口,硬件接口电路如图2所示。8255a的a口连接图形lcd的8位数据线,b口低6位连接相应的控制线,d/i表示数据总线上的信号是点阵数据还是控制命令字,r/w表示当前操作是读或写操作,e是使能控制端,rst是复位端,cs1、cs2是左右点阵区选端。以行扫描方式扩展键盘接口,c口高半字节接行线,低半字节接列线。8255a初始化时,定义a、b口为方式0输出;c口高半字节为方式0输出,低半字节为方式0输入。请注意,大多数类型的8255芯片在对其方式控制寄存器进行初始化时,会引起a、b、c口清零,故不要在程序中动态改变8255端口的输入输出方式,以免影响lcd和键盘。

    

    

    

    3 用户界面的软件设计

    

    人机交互界面设计的目标是实现中文窗口界面,用户可以在菜单方式下进行交互。窗口分为两类:对话框和菜单,也包括对话框和菜单的混合。对话框用于参数的输入输出显示;菜单用于响应用户的选择,根据用户的选择运行程序。

    

    首先,应当确定系统需要多少个窗口,每个窗口有多少个菜单,画出窗口之间的变迁图,可以知道所有的窗口应当组成一个树形结构。菜单中的汉字大小为16×16的点阵,数字和符号的大小为16×8的点阵。这些点阵数据可以由点阵提取程序获得。点阵数为64×128的lcd模块只能同时显示4个菜单项,每个菜单项点据256个字节的点阵存储空间。窗口多于4个菜单项时,应当使用滚屏功能。为方便数据的安排,系统规定了参数、菜单、窗口及lcd缓冲区的数据结构。

    

    

    

    (1)数据结构

    

    为方便参数的显示和处理,参数的输入输出格式用类似于分离bcd码来表示,数据结构如图3所示。数据长度表示数据区的字节数。正负标志,为1表示负数,为0表示正数,负数在输入都要在数据前面加上负号“-”。数据区的每一字节对应于参数的每一位数。数字用分离bcd码表示,小数点用asci

相关IC型号

Warning: Undefined variable $stockkeys in G:\website_51dzw\www.51dzw.com\code\tech\view.php on line 152

热门点击

 

推荐技术资料

硬盘式MP3播放器终级改
    一次偶然的机会我结识了NE0 2511,那是一个远方的... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式