標(biāo)題: 一個(gè)占用內(nèi)存極少的單片機(jī)C語言菜單系統(tǒng)的實(shí)現(xiàn) 仿真程序 [打印本頁]

作者: abscond    時(shí)間: 2023-12-29 14:13
標(biāo)題: 一個(gè)占用內(nèi)存極少的單片機(jī)C語言菜單系統(tǒng)的實(shí)現(xiàn) 仿真程序
一個(gè)占用內(nèi)存極少的菜單系統(tǒng)的實(shí)現(xiàn)
在各類儀器儀表的設(shè)計(jì)中,常常需要透過液晶和鍵盤來實(shí)現(xiàn)人機(jī)交互,當(dāng)整個(gè)系統(tǒng)需要管理的內(nèi)容較多的時(shí)候,如何透過鍵盤和液晶實(shí)現(xiàn)有效管理便是個(gè)問題。通常軟件的設(shè)計(jì)者會(huì)設(shè)計(jì)一個(gè)菜單界面來達(dá)到這個(gè)目的。
本代碼便是透過對(duì)身邊常見的手機(jī)的界面做分析,總結(jié),然后通過 C 代碼實(shí)現(xiàn)類似的界面。
這套代碼實(shí)現(xiàn)的菜單的特點(diǎn):
1支持 3種菜單類型
支持多國語言,占用內(nèi)存極小
全C語言代碼,方便移植,支持?jǐn)?shù)字按鍵快捷方式

1. MenuSampleCode目錄是代碼  這份代碼我在我的硬件上測(cè)試過。
2.說明文檔是:一個(gè)占用內(nèi)存極少的菜單系統(tǒng)的實(shí)現(xiàn).pdf
3.menu.gif是一個(gè)演示
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).
這是打開動(dòng)態(tài)條項(xiàng)生成功能時(shí)的結(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)閉動(dòng)態(tài)條項(xiàng)生成功能時(shí)的結(jié)果。

菜單深度均為4層深度。
25+4*3 = 37Byte 可見占用內(nèi)存還是挺小的。
源文件說明
CPU.H        CPU相關(guān)定義
Main.C       主函數(shù)
Ks0108.C     LCD驅(qū)動(dòng)
ASCII.c      8x8 8x16 英文字模
KeyScan.C    鍵盤掃描
MenuPara.C   菜單函數(shù)使用模版
MenuTop.C    頂層菜單和菜單核心代碼
MenuFSM.C    菜單核心和FSM代碼
MenuFunc.C   功能菜單和動(dòng)態(tài)條項(xiàng)生成代碼
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        中文字模

屏幕截圖 2023-12-29 141018.png (25.61 KB, 下載次數(shù): 61)

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

屏幕截圖 2023-12-29 141030.png (26.26 KB, 下載次數(shù): 57)

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

04.手機(jī)菜單系統(tǒng)仿真程序.zip

1.34 MB, 下載次數(shù): 74, 下載積分: 黑幣 -5






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