铭正同创的笔记 https://bbs.21ic.com/?264857 [收藏] [复制] [RSS] http://www.mzdeisgn.com.cn    铭正同创专业液晶模块+工控产品技术服务!    淘宝店铺:http://shop35039656.taobao.com   

日志

基于MzLH06-128128液晶模块的菜单程序编程(1)

已有 2226 次阅读2009-3-4 10:37 |个人分类:LCD的GUI探讨|系统分类:单片机| LCD, 液晶模块, 菜单, 编程, 单片机, MzLH06, LCM, 驱动






基于MzLH06液晶模块的菜单程序编写一





引言
    北京铭正同创科技有限公司给广大用户提供了一款功能强大的字库液晶模块——MzLH06-128128模块,并为其配备了完整的驱动函数库,而且还编写了一些特殊的应用例子,如本文将介绍基于该模块所配套的驱动程序来编写列表式菜单的程序,演示的平台为MCS51;并附带上在Keil C51环境中编写的MCS51的例程以及IAR for AVR环境编写的AVR芯片的例程以供参考。
    关键字:MzLH06 LCD 菜单 多级 铭正同创 MCS51 AVR


1技术概述
    MzLH06中文字库型液晶模块为北京铭正同创科技有限公司为广大用户提供的一款功能强大的LCD显示模块,并为用户提供了完整的驱动程序;而驱动程序当中包括了基本的绘图功能函数、中西文显示功能函数,以及该模块所特别具备的集成的数字编辑输入框(Edit控件)功能,还有简单易用的滚动消息框功能;基于该驱动程序,还整合了一份简单的菜单GUI,以便于使用MzLH06模块的用户能够得到更多有实用价值的参考,本文便着重介绍这一份菜单GUI。
    此外,铭正同创所提供的各种液晶模块,都会提供有一份基本驱动程序,它们在用户API接口方面几乎是一样的,也就是说,如果用户使用另外型号的液晶模块,也一样可以参考本文所述的内容以及附带的例程来编写自己的菜单程序。
    为使得更多的用户可以参考这份菜单程序,本文以Keil C51的环境下的MCS51单片机的工程为介绍对像。


2程序功能简介
2.1MzMenu_GUI简述
    MzMenu_GUI是一套基于液晶模块基础驱动程序(铭正同创提供)的简单的列表式菜单功能程序,支持多级的菜单结构,可方便的移植到各种液晶屏应用上,以及各种MCU平台,对系统的速度、资源要求较低,而且菜单内容的定义是通过统一的定义完成的,不同的菜单列表仅需要定义不同的菜单资源数据即可,而菜单的刷新显示以及控制函数是共用的。
    MzMenu_GUI的代码是开放给用户的,而也针对各种模块以及MCU的应用提供了一些范例程序,其中最主要的是给用户提供了一个菜单响应控制的程序结构,这点用户可以在后面的介绍中看到,或者直接看所提供的源代码。
    而有关液晶模块的驱动程序,用户可以另外参考相关的模块的手册,以及例程,这里不另作介绍。
2.2菜单显示效果
    以下是基于MzLH06模块的列表式菜单的显示效果(相机拍摄,请以实物为准)。



 2.3硬件连接说明
    本工程范例使用了MzLH06模块的Edit控件功能,并没有控制模块的复位,所以模块的RST引脚是不连接的,但与前两个范例不一样的是RD(Ready引脚)和MISO引脚需要连接;而由于MCS51单片机的速度较慢,所以对LCD模块的Busy引脚并没有检测,故不连接。如下图所示:



    需要外接4个按键于P0.0~3端口上,MCS51的端口尽量加上拉电阻,仅仅是图中没有加上外部的上拉电阻示意而已,希望用户按实际情况进行具体的连接。
    本例程使用GPIO来模拟SPI时序,如用户使用硬件SPI端口,请参考MzLH06模块的端口进行连接和编程。上图的模块为3.3V的模块,有关MCS51的其它电路不在图中画出,请用户具体参考其它的开发板文档进行了解。
2.4范例程序结构说明
    MzMenu_GUI实际上就是将菜单显示、响应刷新的代码综合到一起,做成几个精致的通用函数,以减小菜单显示方面的代码量,为小资源的MCU应用打下基础;而菜单的确切控制还留给用户来做,但这里提供了参考的框架,使用时往里面填代码就可以了。下面了解一下Mz_MenuGUI的架构情况吧:



    本工程范例中,主要由以下四大块的代码,如前面的图所描述的一样,有:
    MzLH06驱动程序:LCD_Dis.c、LCD_Dis.h、LCD_Config.h
    MzMenu_GUI程序集:Menu_GUI.c、Menu_GUI.h、Menu_GUI_Config.h、Menu_Resource.c
    菜单响应架构程序(本例为主程序):main.c、Key_Service.c、Key_Service.h
    菜单响应子项功能程序:BaseTest.c、BitmapTest.c、Edittest.c、MessageScrll.c
    本工程的文件结构如下图所示:




    LCD_Driver、MzMenu_GUI、UserCode以及Task_Work文件夹当中即为刚才介绍的几块程序,而Output文件夹为工程的一些中间和最终文件的输出文件夹;Project文件夹为工程文件夹。


基于MzLH06液晶模块的菜单程序编程(2)


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)