基于单片机的多级菜单实现方法改进

单片机相关

第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语言

基于单片机的多级菜单实现方法改进相关文档

最新文档

返回顶部