標(biāo)題: 一個占用內(nèi)存極少的菜單系統(tǒng)的實現(xiàn)(搬磚) 附代碼 [打印本頁]

作者: deepman    時間: 2022-10-28 11:15
標(biāo)題: 一個占用內(nèi)存極少的菜單系統(tǒng)的實現(xiàn)(搬磚) 附代碼
感謝作者梁炎昌分享這份代碼
1. MenuSampleCode目錄是代碼  這份代碼我在我的硬件上測試過。
2.說明文檔是:一個占用內(nèi)存極少的菜單系統(tǒng)的實現(xiàn).pdf
3.menu.gif是一個演示 Simulation.exe是uCGUI上移植的演
4.目錄說明
MenuSampleCode\SI    Source Insight 3.5 的工程文件
MenuSampleCode\Menu.Uv2  Keil 的工程
MenuSampleCode\Src   源代碼
MenuSampleCode\Obj   目標(biāo)文件
MenuSampleCode\Lst   列表文件
可以看MenuSampleCode\Lst\menu.m51最后編譯的結(jié)果:
代碼狀況:

Program Size: data=9.0 xdata=110 code=15731
creating hex file from ".\Obj\menu"...
".\Obj\menu" - 0 Error(s), 0 Warning(s).
這是打開動態(tài)條項生成功能時的結(jié)果。

Program Size: data=9.0 xdata=79 code=15155
creating hex file from ".\Obj\menu"...
".\Obj\menu" - 0 Error(s), 0 Warning(s).
這是關(guān)閉動態(tài)條項生成功能時的結(jié)果。

菜單深度均為4層深度。
25+4*3 = 37Byte 可見占用內(nèi)存還是挺小的。
源文件說明
CPU.H        CPU相關(guān)定義
Main.C       主函數(shù)
Ks0108.C     LCD驅(qū)動
ASCII.c      8x8 8x16 英文字模
KeyScan.C    鍵盤掃描
MenuPara.C   菜單函數(shù)使用模版
MenuTop.C    頂層菜單和菜單核心代碼
MenuFSM.C    菜單核心和FSM代碼
MenuFunc.C   功能菜單和動態(tài)條項生成代碼
MenuLanguage.C   語言切換代碼
MenuMeasure.C    空例子
PIC.C            圖標(biāo)
MenuMain.C       菜單主循環(huán)
KeyScan.H      
Ks0108.H     
Menu.H
Menu.C           main函數(shù)
Chinese.txt      用到的中文
Chinese.C        中文字模

Simulation.exe是uCGUI上移植的演示。
可以通過你的鍵盤控制菜單:
你的PC鍵盤的四個方向鍵:
向上鍵  :確定  
向下鍵  :ESC
向左鍵  :向左
向右鍵  :向右
默認(rèn)語言是英文,你可以進(jìn)入設(shè)置成中文。
PS:不提供這個的代碼。請不要問我要。其實Src的源代碼的效果也就是這個的運(yùn)行效果。
包括動態(tài)條項生成功能。

一些界面的分析                                          
圖標(biāo)層代碼實現(xiàn)分析                                               
條項層代碼實現(xiàn)分析                                                
菜單框架的代碼實現(xiàn)                                             
模版代碼講解                                                     
動態(tài)內(nèi)容層菜單                                                
動態(tài)生成條項菜單內(nèi)容                                          
數(shù)字快捷方式的實現(xiàn)                                               
菜單函數(shù)調(diào)用圖                                                  
問答FAQ                                                            
這個東西哪來的?                                                  
能在51這種低速CPU上跑不?                                       
我擔(dān)心我的CPU速度不夠快,能用這個菜單不?                        
這個菜單框架的內(nèi)存耗損大不不大?                                   
怎么移植?                                                        
關(guān)于移植的建議                                                   
雜項                          
開機(jī)直接執(zhí)行某些功能
如何實現(xiàn)中斷中使用LCD?
數(shù)字建快捷方式
關(guān)于多國語言切換:
關(guān)于內(nèi)存耗損:
關(guān)于更多的改進(jìn):
關(guān)于快捷方式:
關(guān)于如何實現(xiàn)在線幫助提示
如何快速創(chuàng)建一個條項層菜單?
在FramBuffer型LCD上直接使用這份代碼                           
為什么公布這份代碼,使用的話需要授權(quán)什么的么?   

KeilUv2版本的代碼下載: 一個占用內(nèi)存極少的菜單系統(tǒng)的實現(xiàn).rar (1.61 MB, 下載次數(shù): 69)

作者: SURUBU1976    時間: 2022-11-12 10:32
這個曾移植到TFT 還行,但想加個時鐘功能就不會了.有沒有弄過的朋友




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1