文档介绍:第303卷第期计算机工程 20042年月
№ puter Engineering February 2004
·开发研究与设计技术· 文章编号:1000—3428(2004)03—— 019102 文献标识码:A 中图分类号:TP311
一种用C51实现的单片机系统菜单管理方案
黄声野1,陈秀华2,王东生1
(1. 清华大学精密仪器系,北京 100084;2. 北京汉王科技有限公司,北京) 100084
摘要:介绍的菜单管理方案灵活应用C51中的指针和结构体数据类型,使得菜单程序和主程序之间、各级菜单之间相对独立,实现了方便
地修改菜单的同时不会对主程序有任何影响。文中详细描述和举例说明了这种菜单管理方案,并说明了菜单修改的方法。
关键词:菜单;C51;指针变量
A Singlechip System Menu Management Realized with C51
HUANG Shengye1,CHEN Xiuhua2,WANG Dongsheng1
(1. Dept. of PIM, Tsinghua University, Beijing100084; 2. Beijing Hanwang Limit Co., Beijing 100084)
【Abstract】The paper introduces a universal and practical method for menus manage . By using Pointer and structure of C51 langue, this novel menu
management essfully separates the menu program from the main program, and makes the submenus independent from each other. Details and
examples, as well as menu modify method are provided.
【Key words】Menu; C51; Pointer variation
1 概述项任务,那么“进入下级菜单”操作应运行执行程序来完成
采用单片机系统的仪器设备中经常采用菜单的方式进行某项具体的任务。基于这种理解,首先定义如下结构体数据
人机对话。在采用汇编语言单片机应用系统中[1],用制表的类型 struct menu3,其成员是个函数指针。
方法可以较好地编写菜单程序。但是汇编语言本身可读性和 struct menu
移植性较差。单片机高级语言C51[2]不仅能够克服汇编语言{void ( * parent) ( ); void ( * brother ) ( ); void ( * child ) ( ); };
[3] 然后把每一级菜单定义成menu结构体的一个变量(简
的这些缺点,在编写菜单程序时,还可以使用C语言的各
称menu变量)。为便于区分和理解,约定menuM变量以“
种指针和数据结构灵活地实现菜单管理[4,5]。通常情况下,
_”开头。比如主菜单定义为:struct menu M_Main.
菜单数据