找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 579|回复: 0
打印 上一主题 下一主题
收起左侧

一个占用内存极少的单片机C语言菜单系统的实现 仿真程序

[复制链接]
跳转到指定楼层
楼主
一个占用内存极少的菜单系统的实现
在各类仪器仪表的设计中,常常需要透过液晶和键盘来实现人机交互,当整个系统需要管理的内容较多的时候,如何透过键盘和液晶实现有效管理便是个问题。通常软件的设计者会设计一个菜单界面来达到这个目的。
本代码便是透过对身边常见的手机的界面做分析,总结,然后通过 C 代码实现类似的界面。
这套代码实现的菜单的特点:
1支持 3种菜单类型
支持多国语言,占用内存极小
全C语言代码,方便移植,支持数字按键快捷方式

1. MenuSampleCode目录是代码  这份代码我在我的硬件上测试过。
2.说明文档是:一个占用内存极少的菜单系统的实现.pdf
3.menu.gif是一个演示
4.目录说明
MenuSampleCode\SI    Source Insight 3.5 的工程文件
MenuSampleCode\Menu.Uv2  Keil 的工程
MenuSampleCode\Src   源代码
MenuSampleCode\Obj   目标文件
MenuSampleCode\Lst   列表文件
可以看MenuSampleCode\Lst\menu.m51最后编译的结果:
代码状况:

Program Size: data=9.0 xdata=110 code=15731
creating hex file from ".\Obj\menu"...
".\Obj\menu" - 0 Error(s), 0 Warning(s).
这是打开动态条项生成功能时的结果。

Program Size: data=9.0 xdata=79 code=15155
creating hex file from ".\Obj\menu"...
".\Obj\menu" - 0 Error(s), 0 Warning(s).
这是关闭动态条项生成功能时的结果。

菜单深度均为4层深度。
25+4*3 = 37Byte 可见占用内存还是挺小的。
源文件说明
CPU.H        CPU相关定义
Main.C       主函数
Ks0108.C     LCD驱动
ASCII.c      8x8 8x16 英文字模
KeyScan.C    键盘扫描
MenuPara.C   菜单函数使用模版
MenuTop.C    顶层菜单和菜单核心代码
MenuFSM.C    菜单核心和FSM代码
MenuFunc.C   功能菜单和动态条项生成代码
MenuLanguage.C   语言切换代码
MenuMeasure.C    空例子
PIC.C            图标
MenuMain.C       菜单主循环
KeyScan.H      
Ks0108.H     
Menu.H
Menu.C           main函数
Chinese.txt      用到的中文
Chinese.C        中文字模

屏幕截图 2023-12-29 141018.png (25.61 KB, 下载次数: 32)

屏幕截图 2023-12-29 141018.png

屏幕截图 2023-12-29 141030.png (26.26 KB, 下载次数: 31)

屏幕截图 2023-12-29 141030.png

04.手机菜单系统仿真程序.zip

1.34 MB, 下载次数: 67, 下载积分: 黑币 -5

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏6 分享淘帖 顶2 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表