新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 一种基于MC9S08GT60单片机的LCD显示菜单设计

一种基于MC9S08GT60单片机的LCD显示菜单设计

作者:时间:2014-08-07来源:网络收藏

  摘要:为了在无线警报系统上实现数据输入、显示及存储等屏幕显示功能,提出了基于4*4个的LCD显示多屏菜单设计方法。以ARM 內核的微处理器为主控芯片,结合点阵液晶模块HTM12864进行C语言程序系统设计。对菜单数据项和功能函数进行独立设计,使菜单显示窗口化,并为每个窗口配置一个按键处理的回调函数来实现窗口切换。系统运行结果表明,该方法实现简单,占用内存少,操作界面简便,达到设计方法的目的。

本文引用地址:http://www.eepw.com.cn/article/256595.htm

  随着人们对生活质量要求的提高,“智能家居”已经走入了我们的生活中。智能家居是以住宅为平台,兼备建筑、网络通信、计算机技术、设备自动化,集系统、结构、服务、管理为一体的安全、舒适、健康的居住环境。家居报警系统是智能家居系统的一个重要组成部分,实现智能家居环境下的安防智能化,人机交互界面美观可靠,操作方便等是安防系统发展的趋势。

  无线警报系统利用无线通信和传感技术,通过无线传感器网络采集家庭内的信息,并通过无线通信将异常情况及时传输给用户或保安人员,用户远程操作,实现远程防火防盗警报。本文介绍在智能无线警报系统中实现多级菜单功能,方便设置和操作。

  在传统的多级菜单的实现办法上,文献提出两点改进:把菜单项数据与功能程序分开和复用菜单项。文献提出了一种基于单片机系统的多级菜单模块化编程方法,使得程序编写效率较高,软件维护简单。文献提出基于飞思卡尔单片机MC9S08GT60控制的LCD人机界面方案,实现了数据通信、字符显示以及波形监测等功能。文献采用一键多义的非编码制键盘用标记转移算法,设计出基于4个的多屏菜单系统。

  鉴于之前的改进及设计方法,独立,引入菜单窗口化的设计方法,使菜单项数据和函数功能完全分离,在菜单窗口下分行显示菜单项,同时完善LCD显示与键盘处理交互方法。为智能无线警报器设计开发4 x 4键盘与128x64图形点阵LCD模块交互的程序,在不同菜单窗口下,通过函数指针调用不同的按键处理函数,实现不同菜单窗口之间的切换。具有多级菜单显示结构,可完成分级菜单显示、参数设置及存储等常用功能,而且操作方便快捷。

  1 智能无线警报系统结构

  智能无线警报系统结构如图1所示,主要由单片机控制模块、GSM通信模块、无线传感器接收模块、LCD模块、电源模块等组成。

  

 

  各个模块简介:MCU:主控芯片,实现与各模块之间进行数据交换和过程控制。GSM模块:提供GSM通信功能,支持语音和短信收发,SPK和MIC由GSM模块处理,MCU不需要参与,GSM模块通过UART串口与MCU通信,完成警报信息的发送、接收控制和语音通信功能;Buzzer:蜂鸣器,警报时产生蜂鸣声;Siren:警笛,警报时参数警笛声;ASK433模块:接收433Mhz警报信息;Key:包括矩形键盘和各类功能按键,用于用户密码的输入、各类设置和紧急警报等;LCD显示:采用132*64液晶显示模块,通过SPI与MCU通信,可通过键盘完成对警报手机的设置和更改,并将设置和更改数据存储,实现输入数据、显示、存储参数等功能。

  2 LCD模块总体设计

  2.1 软硬件开发环境介绍

  本系统使用的主控芯片为新唐的NUC100,该芯片是32位内嵌ARM Cortex-M0内核的微控制器,运行频率可达50MHz,内建128K字节的Fla sh存储器,4K/8K/16K字节内建SRAM和4K字节用于存储ISP引导代码的ROM。另外还有丰富的外设,如定时器,看门狗定时器,RTC,RDMA,UART,SPI/MICROWIRE,I2C,IS,PWM定时器,丰富的GPIO,PS2,12位ADC,模拟比较器,低电压复位控制盒欠压检测功能。按键类型为4*4的矩阵,即0~9,*,#,OK,↑, ↓,DEL键。本系统使用的LCD显示屏的类型为HTM13264,分辨率是132*64的,显示类型为点阵,数据输入方式为SPI。

  软件编译环境为Keil μVision4编译器,μVision4集成开发环境、仿真器、调试器等,提供一个单纯统一的环境,可以快速的编辑、仿真和调试程序。通过μVision4的工具条,就可以实现绝大多数调试和编辑的功能。

  2.2 LCD菜单显示需求分析

  根据该系统菜单的设计,LCD屏幕分四行显示,每行可以允许显示8个汉字字符,16个英文字符,如图2所示第一行是状态栏,显示感应器注册、通信模块信号量和电池电量,其他三行根据不同场景显示不同的内容,所有设置项目分三级菜单。

  

 

  2.3 LCD菜单显示原理

  菜单显示设计主要分为按键处理和菜单窗口两部分,主要原理是在主程序中设置一个按键处理程序,各菜单窗口利用统一的按键接口函数对按键处理程序中的按键函数指针进行重定向设定,使得按键处理程序能够指向各菜单窗口。每次按键操作完毕,均回到主程序。

  2.3.1 菜单窗口实现方法

  除状态栏外,将其他所有需要显示的菜单内容窗口化,即空闲窗口,第一级菜单窗口,第二级菜单窗口,第三级菜单窗口,之外还需要增加提示窗口。以窗口为单位来显示,可以简化进入、返回操作的处理。细化窗口下的显示,即将每个窗口分为三行显示,每行的显示内容根据上级窗口的ID来定义。为每个窗口配置一个按键处理回调函数,在收到按键中断后,交由回调函数处理当前的窗口上的回调函数。

  2.3.2 行显示实现方法

  显示行的类型应该分为可编辑字符型,可编辑密码型和不可编辑类型。行的显示是包含在窗口中的,需要为窗口创建一个显示行的栈,或者是一个显示数组,用来支撑列表式的显示方式。

  2.3.3 窗口进入、退出规则

  如图3所示,为空闲界面下进入其他菜单的处理规则,其他窗口的处理于此类似。所有非编辑窗口都做超时处理,超时后都要返回到空闲界面。窗口返回时,返回到上一窗口的进入位置。

c语言相关文章:c语言教程


超声波清洗机相关文章:超声波清洗机原理


蜂鸣器相关文章:蜂鸣器原理

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭