摘要:为了在无线警报体系上完结数据输入、显现及存储等屏幕显现功用,提出了依据4*4个键盘交互的LCD显现多屏菜单规划办法。以ARM CortexTM-M0群说奈⒋理器为主控芯片,结合点阵液晶模块HTM12864进行C言语程序体系规划。对菜单数据项和功用函数进行独立规划,使菜单显现窗口化,并为每个窗口装备一个按键处理的回调函数来完结窗口切换。体系运转成果标明,该办法完结简略,占用内存少,操作界面简练,到达规划办法的意图。
跟着人们对日子质量要求的进步,“智能家居”现已走入了咱们的日子中。智能家居是以住所为渠道,兼备修建、网络通讯、计算机技能、设备自动化,集体系、结构、服务、办理为一体的安全、舒适、健康的寓居环境。家居报警体系是智能家居体系的一个重要组成部分,完结智能家居环境下的安防智能化,人机交互界面漂亮牢靠,操作便利等是安防体系开展的趋势。
无线警报体系运用无线通讯和传感技能,经过无线传感器网络收集家庭内的信息,并经过无线通讯将异常情况及时传输给用户或保安人员,用户长途操作,完结长途防火防盗警报。本文介绍在智能无线警报体系中完结多级菜单功用,便利设置和操作。
在传统的多级菜单的完结办法上,文献提出两点改善:把菜单项数据与功用程序分隔和复用菜单项。文献提出了一种依据单片机体系的多级菜单模块化编程办法,使得程序编写功率较高,软件保护简略。文献提出依据飞思卡尔单片机MC9S08GT60操控的LCD人机界面计划,完结了数据通讯、字符显现以及波形监测等功用。文献选用一键多义的非编码制键盘用符号搬运算法,规划出依据4个键盘交互的多屏菜单体系。
鉴于之前的改善及规划办法,独立LCD显现模块,引进菜单窗口化的规划办法,使菜单项数据和函数功用彻底别离,在菜单窗口下分行显现菜单项,一起完善LCD显现与键盘处理交互办法。为智能无线警报器规划开发4 x 4键盘与128×64图形点阵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所示,为闲暇界面下进入其他菜单的处理规矩,其他窗口的处理于此相似。一切非修改窗口都做超时处理,超时后都要回来到闲暇界面。窗口回来时,回来到上一窗口的进入方位。
2.3.4 窗口详细完结办法
包括闲暇窗口在内,整个界面的窗口显现共有4个窗口。闲暇窗口应该为程序的常驻窗口,即开机后闲暇窗口的显现数据就会一向存在于RAM中,其他窗口则是依据按键事情的处理来创立和毁掉。因为无法做到动态内存分配,所以窗口的毁掉并不会带来内存的开释,而仅仅数据铲除。每一级的窗口显现列表依据菜单树分级的界说应该为一固定值,并为每一个项目条符号一个ID,用作循环显现以及作为类型符号,如图4所示。每个显现窗口都包括3个显现行数据结构,用来为每次屏幕改写供给数据。每个按键设有专门的程序处理进口。
3 体系运转成果
在新唐NUC100上和HTM13254的硬件渠道上,完结了LCD多级菜单的显现,参数设置及存储功用。上电初始化屏幕之后,显现的闲暇屏幕经过输入不同的暗码进入不同的菜单窗口,当输入正确的安防暗码之后,进入安防设置界面,如图5所示;当输入正确的设置暗码之后,进入操作设置界面,如图6所示。以上两个不同的窗口下,都能够经过上下键,移动光标,完结翻屏显现;经过承认键进入下一级菜单;经过回来键回来上一级菜单出口或许直接退出到闲暇界面。
设置参数时,经过上下键和承认键挑选要设置的参数,不行修改类型,如安防设置窗口,直接按下承认键设置。可修改字符型,如短信或许电话号码设置,在进入设置界面之后,经过上下键和承认键进入电话号码设置界面,经过上下键挑选要修改的菜单项,此刻,按下*号键,进入修改界面,如图7所示,经过键盘上4*4的键盘矩阵,输入大小写字符及数字,按下承认键,即可保存输入的数据,如图8所示。
试验成果标明,LCD菜单屏显现界面简练漂亮,和键盘交互操作便利快捷。LCD菜单的显现程序按模块化规划,不受其他模块程序等其他任何程序的影响。添加键盘有效性查看,视误操作为无效操作,保持在当时窗口,减少了用户的操作量;当无线安防警报体系功用扩增时,LCD模块程序的结构不变,有利于功用扩展。
4 结束语
介绍了多级菜单新的规划形式,模仿栈的数据结构,使菜单规划变得更为简略便利,软件保护更简单,为每个菜单窗口装备一个按键处理回调函数,发生按键中断后,交由回调函数去向理应时窗口上的按键反响。经过安防警报体系完结的实践使用标明,以上办法是切实有效的。一起,这些办法也为其他操控体系的多级菜单规划供给了参阅和挑选。