基于单片机的多级菜单实现方法改进
单片机相关
第37卷增刊(I)东南大学学报(自然科学版)V01.37Sup(I)2007年9月JOURNALOFSOUTHEASTUNIVERSITY(NaturalScienceEdition)Sept.2007
基于单片机的多级菜单实现方法改进
宋晓辉叶桦丁吴
(东南大学自动化学院,南京210096)
摘要:介绍了一种在C语言环境下,基于单片机的多级菜单实现方法.该方法从菜单的功能结构出发,在程序设计中做了几点改进.首先对菜单数据项和功能函数各自进行独立设计,通过在数据结构中增加按键有效标志、字符串指针、存储器地址以及与复用相关的元素,实现了两者源代码空间的有效分离,从而大大提高了程序的可维护性;其次引入菜单项复用的思想,简化了程序结构.该设计的多级菜单在自动售货机的服务模式的实际应用表明,此改进方法使菜单设计变得更为简单方便,软件通用性更高,维护更容易.
关键词:单片机;C语言;多级菜单;函数指针
中图分类号:TP273文献标识码:A文章编号:1001—0505(2007)增刊(I)旬066旬5
ImprovedmethodofmultilevelmenurealizationbasedonSC】Ⅵ
SongXiaohuiYeHuaDingHao
(SchoolofAutomation,Southeastuniversity,Nanjing210096,China)
Abstract:Anewmethodofdesigningmultilevelmenusappliedinsingle-chipmicrocomputer(SCM)systemsbyClanguageisintroduced.Takingfhnetionstnlctureofmenuasastartingpoint,themethodmadeseveralimpmvementsinsoftwaredesign.Firstly,menudataitemsandmenufunctionweredesignedseparately.Eemcientbreakawaybetweentheircodesspacewasimplementedbyincreasingkey-pressedsign,stringpointer,memoryaddressandelementscorrelativewithreuse,andthusthemaintainabilityofsoftwarewasenhancedgreatly;Secondly,theintroductionofmenudataitems’reusemadethesoftwarestlllcturesimple.Apracticalapplicationofthedesignedmenutosen,icemodeoftheVendingmachinein-dicatesthatthedesignofmultilevelmenusbythismethodismuchsimplerandeasier,withhigherinter-convenibilityandmaintainabiliIy.
Keywords:single-chipmicr0computer;Clanguage;multilevelmenu;functionpointer
在c语言环境下,基于单片机的多级菜单的设计方法非常多,而目前最为流行的是“以函数指针¨o为结构元素,把整个菜单结构拉伸成一个结构数组”的方法心。3J.但大多数此类方法都没有将菜单项数据与功能函数分开设计,而把菜单项数据写在功能函数中,当菜单项数据需要改变时,必须修改功能函数,这在很大程度上限制了程序的通用性,不利于程序的维护.另外,在实际的多级菜单中,往往存在相邻菜单项完成功能类似而仅仅是显示内容和操作数据不同的情况,如果采用复用策略,让这些菜单项共用一个索引号,则会大大减小结构数组的长度,节省代码空间.本文针对以上问题提出了改进方法,改进后的软件结构清晰,通用性好,适用于各种控制系统的菜单设计.
1对多级菜单进行改进的基本思路
实现多级菜单的基本思想是把多级菜单的分层结构,通过索引号贯穿,把全部菜单项拉成一条链.每一个菜单项即为一个结构,而整个菜单即为一结构数组.访问每一个菜单项时,只须获得菜单的索引号,通过索引号找到结构数组中和该菜单项相关的条目,由此可以查询到当前菜单项的数据和所要执行的功能函数.传统设计方法中的结构只含有当前索引号、按向下/向上/确认/取消键后的索引号及当前菜单项应收稿日期:2007旬7-20.作者简介:宋晓辉(1978一),男,硕士生;叶桦(联系人),男,博士,教授,zhineng@seu.edu.cn
你可能喜欢
- LCD12864
- C51单片机
- C语言程序
- 工程电路
- 人机界面设计
- 菜单设计
- 单片机设计
- 嵌入式C语言
- 单片机外围存储及LCD1286440页
- LCD 1602,12864 编程与PROTEUS仿真11页
- LCD12864绘图之KS0108(4)6页
- LCD12864绘图之KS0108(3)6页
- LCD12864绘图之KS0108(2)7页
- LCD12864绘图之KS0108(1)1页
- C51单片机实验指导(300本)23页
- C51单片机自学第一课5页
- C51单片机原理图1页
- C51单片机双机通信程序2页
- C51单片机的MP3播放器4页
- 应用C51编程单片机设计17页
- C语言程序设计期末考试试题A[1]13页
- C语言程序设计教程(第二版)6页
- C语言程序设计A期末模拟试题一9页
- C语言程序设计3页
- 《C语言程序设计基础》上机实验报告(模版)2页
- C语言程序设计(第三版)-谭浩强[开始免费了]322页
- 电气工程师_电路基础91页
- 电气工程师_电路的分析方法81页
- 20种工程电路7页
- 工程电路分析答案(英文版)15页
- 工程电路分析答案(英文版)34页
- 工程电路分析答案(英文版)19页
- 09章 人机界面设计网络071262页
- 王峻人机界面设计(第4章 软件人机界面设计)146页
- 05人机的信息界面设计122页
- 浅谈人机界面设计~8页
- 高温工业炉监控系统人机界面的设计与实现2页
- 车载制氧设备中人机界面的设计12页
- 菜单设计修正版7页
- 实验十一 报表、菜单设计2页
- 菜单设计4页
- 菜单设计和制作5页
- 宴会菜单设计26页
- 菜单的设计与菜式搭配的技巧5页


