找回密码
 立即注册

QQ登录

只需一步,快速开始

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

一个占用内存极少的菜单系统的实现(搬砖) 附代码

[复制链接]
跳转到指定楼层
楼主
感谢作者梁炎昌分享这份代码
1. MenuSampleCode目录是代码  这份代码我在我的硬件上测试过。
2.说明文档是:一个占用内存极少的菜单系统的实现.pdf
3.menu.gif是一个演示 Simulation.exe是uCGUI上移植的演
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        中文字模

Simulation.exe是uCGUI上移植的演示。
可以通过你的键盘控制菜单:
你的PC键盘的四个方向键:
向上键  :确定  
向下键  :ESC
向左键  :向左
向右键  :向右
默认语言是英文,你可以进入设置成中文。
PS:不提供这个的代码。请不要问我要。其实Src的源代码的效果也就是这个的运行效果。
包括动态条项生成功能。

一些界面的分析                                          
图标层代码实现分析                                               
条项层代码实现分析                                                
菜单框架的代码实现                                             
模版代码讲解                                                     
动态内容层菜单                                                
动态生成条项菜单内容                                          
数字快捷方式的实现                                               
菜单函数调用图                                                  
问答FAQ                                                            
这个东西哪来的?                                                  
能在51这种低速CPU上跑不?                                       
我担心我的CPU速度不够快,能用这个菜单不?                        
这个菜单框架的内存耗损大不不大?                                   
怎么移植?                                                        
关于移植的建议                                                   
杂项                          
开机直接执行某些功能
如何实现中断中使用LCD?
数字建快捷方式
关于多国语言切换:
关于内存耗损:
关于更多的改进:
关于快捷方式:
关于如何实现在线帮助提示
如何快速创建一个条项层菜单?
在FramBuffer型LCD上直接使用这份代码                           
为什么公布这份代码,使用的话需要授权什么的么?   

KeilUv2版本的代码下载: 一个占用内存极少的菜单系统的实现.rar (1.61 MB, 下载次数: 69)

评分

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

查看全部评分

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

使用道具 举报

沙发
ID:507641 发表于 2022-11-12 10:32 | 只看该作者
这个曾移植到TFT 还行,但想加个时钟功能就不会了.有没有弄过的朋友
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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