📄 menu.s
字号:
_icos::
.word _function
.word _para
.word _action
.word _menu
.word _time
.word _question
.word _warning
.word _sound
.area text(rom, con, rel)
; FlashMode -> R18
; Index -> R16
.even
_Jump2Menu::
; #include "SYS_Config.h"
; #include "Menu.H"
;
; #include "PIC.h"
; //图标
; /*
; ----------------------------------------------------------------------------
; 菜单相关变量
; ----------------------------------------------------------------------------
; */
; INT8U LessCPUUseage=TRUE;
;
; INT8U Flash = 0; //跳转进入子菜单 刷新标志 >1刷新
; INT8U language = EN; //语言标志
; INT8U KeyFuncIndex = 0; //索引
; //3个备份数组
; INT8U FatherIndex[MenuSize+1]; //父菜单备份数组
; INT8U Layer = 0; //菜单层数
;
; INT8U ItemBackup[MenuSize]; //当前菜单项备份
; INT8U ItemBackup_i = 0; //
;
; INT8U WhereBackup[MenuSize]; //反显位置备份
; INT8U WhereBackup_i = 0; //
;
;
; INT8U KeyPressCount = 0; //用于版本显示
;
; INT8U Item; //当前Bar项 范围:[0,ItemNum-1] 包括0 包括ItemNum-1 共包括ItemNum个取值
; INT8U ItemNum; //Bar项数
; INT8U Where; //当前反显位置,[0,DispMax-1] 反映反显的Bar在屏幕上的位置
; //INT8U DispMax = 3; //单屏可以显示的最大项 通常这是个固定值--因为你的液晶的大小决定了你一次可以显示的多少,你也可以在程序中修改,但记得维护它--因为所有的Bar型菜单都是要用到它的
; #define DispMax 3
;
; INT8U DispMin; //ItemNum和DispMax中的小者
; //当前Bar显示内容指针
;
; INT8U **DispItem; //项显示内容指针
;
; #ifdef DynamicBar
; INT8U BarDataMode = FixedData;
; INT8U ** DynamicBarDispItem; //动态项显示内容指针
; #endif
;
; //菜单资源指针
; const struct Menu * BarMenu;
; //Tip指针
; const struct Menu * TipBar;
;
; /*
; ----------------------------------------------------------------------------
; |---->指针对象存放地址,也就是{"Function"},{"Parameter"},{"Measure"},等等这些文本存放在哪里
; | |---->指针存放的位置,是这些字符的首地址应当存放在哪里 因为这是个指针数组存放的内容就是每个字符串的开始地址
; | |
; INT8U const * const TopItemEN[]=
; {
; {"Function"},
; {"Parameter"},
; {"Measure"},
; {"Language"},
; {"Test"},
; };
; 我们均把这些存放在代码区,以减少对RAM的占用
;
; ----------------------------------------------------------------------------
; */
;
;
; //---------------------------------------------------
; //各个菜单的资源
; //命名方式是:
; //---------------------------------------------------
; //顶层菜单
;
; //INT8U const * const TopItemCN[]=
; INT8U * TopItemCN[]=
; {
; {"功能"},
; {"参数"},
; {"测量"},
; {"语言"},
; {"设置"},
; };
;
;
; //INT8U const * const TopItemEN[]=
; INT8U * TopItemEN[]=
; {
; {"Function"},
; {"Parameter"},
; {"Measure"},
; {"Language"},
; {"Settings"},
; };
;
;
; //"功能"菜单项的内容和长度
;
; //INT8U const * const FuncItemCN[]=
; INT8U * FuncItemCN[]=
; {
; {"读出数据"},
; {"背光控制"},
; {"出厂设置"},
; {"修改密码"},
; };
;
; //INT8U const * const FuncItemEN[]=
; INT8U * FuncItemEN[]=
; {
; {"Read Data"},
; {"BackLight"},
; {"Factory Set"},
; {"Change CODE"}
; };
; //"参数"菜单项的内容和长度
;
; //INT8U const * const ParaItemCN[]=
; INT8U * ParaItemCN[]=
; {
; {"阈值"},
; {"时间T"},
; {"灵敏度K"},
; {"测量时间"}
; };
;
; //INT8U const * const ParaItemEN[]=
; INT8U * ParaItemEN[]=
; {
; {"Menu0"},
; {"Menu1"},
; {"Menu2"},
; {"Menu3"},
; {"Menu4"},
; {"Menu5"},
; {"Menu6"},
; {"Menu7"},
; };
; //"语言"菜单项的内容和长度
;
; //INT8U const * const LanguageItemCN[]=
; INT8U * LanguageItemCN[]=
; {
; {"中文"},
; {"English"},
; };
;
; //INT8U const * const LanguageItemEN[]=
; //INT8U * LanguageItemEN[]=
; //{
; //{"中文"},
; //{"English"},
; //};
;
; //测量
; //INT8U const * const MeasureItemCN[]=
; INT8U * MeasureItemCN[]=
; {
; {"测试1"},
; {"测试2"},
; {"测试3"},
; {"测试4"},
; {"测试5"},
; {"测试6"},
; {"测试7"},
; };
;
; //INT8U const * const MeasureItemEN[]=
; INT8U * MeasureItemEN[]=
; {
; {"PushUp Res"},
; {"ClearErrCount"},
; {"OnlineCMD"},
; {"SysInputTest"},
; {"SVC TEST"},
; {"AXis TEST"},
; {"Relay TEST"},
; };
;
; //设置
; //INT8U const * const MeasureItemCN[]=
; INT8U * SetupItemCN[]=
; {
; {"时钟设置"},
; {"设置2"},
; {"设置3"},
; {"设置4"},
; {"设置5"},
; {"设置6"},
; };
;
; //INT8U const * const MeasureItemEN[]=
; INT8U * SetupItemEN[]=
; {
; {"Time settings"},
; {"setup 2"},
; {"setup 3"},
; {"setup 4"},
; {"setup 5"},
; {"setup 6"},
; };
;
;
; //提示键的文本
; //INT8U const * const TipCN[]=
; INT8U * TipCN[]=
; {
; {"功能表"},
; {"选择"},
; {"确认"},
; {"取消"},
; {"退出"},
; {"捷径"},
; };
;
;
;
; //INT8U const * const TipEN[]=
; INT8U * TipEN[]=
; {
; {"Menu"},
; {"Select"},
; {"OK"},
; {"Cancel"},
; {"Exit"},
; {"Goto"},
; };
;
; //----------------------------------------
; //宏定义:
; #define MenuWhat(n) {(INT8U **)n,(sizeof(n)/sizeof(INT8U *)),0}
;
; //图标层
; const struct Menu IcoMenu[] =
; {
; MenuWhat(TopItemCN),
; MenuWhat(TopItemEN),
; };
;
; //功能菜单
; const struct Menu MenuFunc[] =
; {
; MenuWhat(FuncItemCN),
; MenuWhat(FuncItemEN),
; };
;
; //参数菜单
; const struct Menu MenuPara[] =
; {
; MenuWhat(ParaItemCN),
; MenuWhat(ParaItemEN),
; };
;
; //测量菜单
; const struct Menu MenuMeasure[] =
; {
; MenuWhat(MeasureItemCN),
; MenuWhat(MeasureItemEN),
; };
;
; //语言菜单
; const struct Menu MenuLanguage[] =
; {
; MenuWhat(LanguageItemCN),
; MenuWhat(LanguageItemCN),
; };
;
; //设置菜单
; const struct Menu MenuSetup[] =
; {
; MenuWhat(SetupItemCN),
; MenuWhat(SetupItemEN),
; };
;
; //Tip
; const struct Menu Tip[] =
; {
; MenuWhat(TipCN),
; MenuWhat(TipEN),
; //{(INT8U **)TipCN,5,0},
; //{(INT8U **)TipEN,5,0}
; };
;
;
; //更改密码时询问的图标索引号
; #define WarningICO 5
; #define PassICO 0
; //图标索引
; const INT8U * const icos[]=
; {
; function, //功能
; para, //参数
; action, //测量
; menu, //语言
; time, //时钟
; question, //询问
; warning,
; sound,
; };
;
; void Jump2Menu(INT8U Index,INT8U FlashMode)
; {
; KeyFuncIndex = Index; //jump to Menu index
sts _KeyFuncIndex,R16
; if(FlashMode)
tst R18
breq L72
; {
; Flash = FlashMode;
sts _Flash,R18
; }
L72:
L71:
.dbline 0 ; func end
ret
.area bss(ram, con, rel)
_TipBar::
.blkb 2
_BarMenu::
.blkb 2
_DispItem::
.blkb 2
_DispMin::
.blkb 1
_Where::
.blkb 1
_ItemNum::
.blkb 1
_Item::
.blkb 1
_WhereBackup::
.blkb 5
_ItemBackup::
.blkb 5
_FatherIndex::
.blkb 6
.area data(ram, con, rel)
L70:
.blkb 5
.area idata
.byte 'G,'o,'t,'o,0
.area data(ram, con, rel)
L69:
.blkb 5
.area idata
.byte 'E,'x,'i,'t,0
.area data(ram, con, rel)
L68:
.blkb 7
.area idata
.byte 'C,'a,'n,'c,'e,'l,0
.area data(ram, con, rel)
L67:
.blkb 3
.area idata
.byte 'O,'K,0
.area data(ram, con, rel)
L66:
.blkb 7
.area idata
.byte 'S,'e,'l,'e,'c,'t,0
.area data(ram, con, rel)
L65:
.blkb 5
.area idata
.byte 'M,'e,'n,'u,0
.area data(ram, con, rel)
L64:
.blkb 5
.area idata
.byte 189,221,190,182,0
.area data(ram, con, rel)
L63:
.blkb 5
.area idata
.byte 205,203,179,246,0
.area data(ram, con, rel)
L62:
.blkb 5
.area idata
.byte 200,161,207,251,0
.area data(ram, con, rel)
L61:
.blkb 5
.area idata
.byte 200,183,200,207,0
.area data(ram, con, rel)
L60:
.blkb 5
.area idata
.byte 209,161,212,241,0
.area data(ram, con, rel)
L59:
.blkb 7
.area idata
.byte 185,166,196,220,177,237,0
.area data(ram, con, rel)
L58:
.blkb 8
.area idata
.byte 's,'e,'t,'u,'p,32,54,0
.area data(ram, con, rel)
L57:
.blkb 8
.area idata
.byte 's,'e,'t,'u,'p,32,53,0
.area data(ram, con, rel)
L56:
.blkb 8
.area idata
.byte 's,'e,'t,'u,'p,32,52,0
.area data(ram, con, rel)
L55:
.blkb 8
.area idata
.byte 's,'e,'t,'u,'p,32,51,0
.area data(ram, con, rel)
L54:
.blkb 8
.area idata
.byte 's,'e,'t,'u,'p,32,50,0
.area data(ram, con, rel)
L53:
.blkb 14
.area idata
.byte 'T,'i,'m,'e,32,'s,'e,'t,'t,'i,'n,'g,'s,0
.area data(ram, con, rel)
L52:
.blkb 6
.area idata
.byte 201,232,214,195,54,0
.area data(ram, con, rel)
L51:
.blkb 6
.area idata
.byte 201,232,214,195,53,0
.area data(ram, con, rel)
L50:
.blkb 6
.area idata
.byte 201,232,214,195,52,0
.area data(ram, con, rel)
L49:
.blkb 6
.area idata
.byte 201,232,214,195,51,0
.area data(ram, con, rel)
L48:
.blkb 6
.area idata
.byte 201,232,214,195,50,0
.area data(ram, con, rel)
L47:
.blkb 9
.area idata
.byte 202,177,214,211,201,232,214,195,0
.area data(ram, con, rel)
L46:
.blkb 11
.area idata
.byte 'R,'e,'l,'a,'y,32,'T,'E,'S,'T,0
.area data(ram, con, rel)
L45:
.blkb 10
.area idata
.byte 'A,'X,'i,'s,32,'T,'E,'S,'T,0
.area data(ram, con, rel)
L44:
.blkb 9
.area idata
.byte 'S,'V,'C,32,'T,'E,'S,'T,0
.area data(ram, con, rel)
L43:
.blkb 13
.area idata
.byte 'S,'y,'s,'I,'n,'p,'u,'t,'T,'e,'s,'t,0
.area data(ram, con, rel)
L42:
.blkb 10
.area idata
.byte 'O,'n,'l,'i,'n,'e,'C,'M,'D,0
.area data(ram, con, rel)
L41:
.blkb 14
.area idata
.byte 'C,'l,'e,'a,'r,'E,'r,'r,'C,'o,'u,'n,'t,0
.area data(ram, con, rel)
L40:
.blkb 11
.area idata
.byte 'P,'u,'s,'h,'U,'p,32,'R,'e,'s,0
.area data(ram, con, rel)
L39:
.blkb 6
.area idata
.byte 178,226,202,212,55,0
.area data(ram, con, rel)
L38:
.blkb 6
.area idata
.byte 178,226,202,212,54,0
.area data(ram, con, rel)
L37:
.blkb 6
.area idata
.byte 178,226,202,212,53,0
.area data(ram, con, rel)
L36:
.blkb 6
.area idata
.byte 178,226,202,212,52,0
.area data(ram, con, rel)
L35:
.blkb 6
.area idata
.byte 178,226,202,212,51,0
.area data(ram, con, rel)
L34:
.blkb 6
.area idata
.byte 178,226,202,212,50,0
.area data(ram, con, rel)
L33:
.blkb 6
.area idata
.byte 178,226,202,212,49,0
.area data(ram, con, rel)
L32:
.blkb 8
.area idata
.byte 'E,'n,'g,'l,'i,'s,'h,0
.area data(ram, con, rel)
L31:
.blkb 5
.area idata
.byte 214,208,206,196,0
.area data(ram, con, rel)
L30:
.blkb 6
.area idata
.byte 'M,'e,'n,'u,55,0
.area data(ram, con, rel)
L29:
.blkb 6
.area idata
.byte 'M,'e,'n,'u,54,0
.area data(ram, con, rel)
L28:
.blkb 6
.area idata
.byte 'M,'e,'n,'u,53,0
.area data(ram, con, rel)
L27:
.blkb 6
.area idata
.byte 'M,'e,'n,'u,52,0
.area data(ram, con, rel)
L26:
.blkb 6
.area idata
.byte 'M,'e,'n,'u,51,0
.area data(ram, con, rel)
L25:
.blkb 6
.area idata
.byte 'M,'e,'n,'u,50,0
.area data(ram, con, rel)
L24:
.blkb 6
.area idata
.byte 'M,'e,'n,'u,49,0
.area data(ram, con, rel)
L23:
.blkb 6
.area idata
.byte 'M,'e,'n,'u,48,0
.area data(ram, con, rel)
L22:
.blkb 9
.area idata
.byte 178,226,193,191,202,177,188,228,0
.area data(ram, con, rel)
L21:
.blkb 8
.area idata
.byte 193,233,195,244,182,200,'K,0
.area data(ram, con, rel)
L20:
.blkb 6
.area idata
.byte 202,177,188,228,'T,0
.area data(ram, con, rel)
L19:
.blkb 5
.area idata
.byte 227,208,214,181,0
.area data(ram, con, rel)
L18:
.blkb 12
.area idata
.byte 'C,'h,'a,'n,'g,'e,32,'C,'O,'D,'E,0
.area data(ram, con, rel)
L17:
.blkb 12
.area idata
.byte 'F,'a,'c,'t,'o,'r,'y,32,'S,'e,'t,0
.area data(ram, con, rel)
L16:
.blkb 10
.area idata
.byte 'B,'a,'c,'k,'L,'i,'g,'h,'t,0
.area data(ram, con, rel)
L15:
.blkb 10
.area idata
.byte 'R,'e,'a,'d,32,'D,'a,'t,'a,0
.area data(ram, con, rel)
L14:
.blkb 9
.area idata
.byte 208,222,184,196,195,220,194,235,0
.area data(ram, con, rel)
L13:
.blkb 9
.area idata
.byte 179,246,179,167,201,232,214,195,0
.area data(ram, con, rel)
L12:
.blkb 9
.area idata
.byte 177,179,185,226,191,216,214,198,0
.area data(ram, con, rel)
L11:
.blkb 9
.area idata
.byte 182,193,179,246,202,253,190,221,0
.area data(ram, con, rel)
L10:
.blkb 9
.area idata
.byte 'S,'e,'t,'t,'i,'n,'g,'s,0
.area data(ram, con, rel)
L9:
.blkb 9
.area idata
.byte 'L,'a,'n,'g,'u,'a,'g,'e,0
.area data(ram, con, rel)
L8:
.blkb 8
.area idata
.byte 'M,'e,'a,'s,'u,'r,'e,0
.area data(ram, con, rel)
L7:
.blkb 10
.area idata
.byte 'P,'a,'r,'a,'m,'e,'t,'e,'r,0
.area data(ram, con, rel)
L6:
.blkb 9
.area idata
.byte 'F,'u,'n,'c,'t,'i,'o,'n,0
.area data(ram, con, rel)
L5:
.blkb 5
.area idata
.byte 201,232,214,195,0
.area data(ram, con, rel)
L4:
.blkb 5
.area idata
.byte 211,239,209,212,0
.area data(ram, con, rel)
L3:
.blkb 5
.area idata
.byte 178,226,193,191,0
.area data(ram, con, rel)
L2:
.blkb 5
.area idata
.byte 178,206,202,253,0
.area data(ram, con, rel)
L1:
.blkb 5
.area idata
.byte 185,166,196,220,0
.area data(ram, con, rel)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -