menumain.lis

来自「Atmega64单片机程序(完整工程)」· LIS 代码 · 共 69 行

LIS
69
字号
                        .module MenuMain.C
                        .area text(rom, con, rel)
                        .even
 0000           _MenuMainLoop::
 0000           ; /******************************************************************************
 0000           ;  * MenuMain.C - 菜单主循环函数
 0000           ;  ******************************************************************************/
 0000           ; #include "SYS_Config.h"
 0000           ; #include "GUI.h"
 0000           ; #include "Menu.H"
 0000           ; #include "time.h"
 0000           ; 
 0000           ; /*
 0000           ; *****************************************************************************
 0000           ; * MenuMainLoop - 菜单主循环
 0000           ; * DESCRIPTION: -
 0000           ; * Main函数调用该函数,本函数并不会返回
 0000           ; * @Para void:
 0000           ; * Return :
 0000           ; *****************************************************************************
 0000           ; */
 0000           ; void MenuMainLoop(void)
 0000           ; {
 0000           ;     DispMenuTop();
 0000 0E940000          xcall _DispMenuTop
 0004 14C0              xjmp L3
 0006           L2:
 0006           ;     while(1)
 0006           ; 	{
 0006           ;         if(CheckKey())
 0006 0E940000          xcall _CheckKey
 000A 0023              tst R16
 000C 21F0              breq L5
 000E           ;               {//检查菜单
 000E           ;             GUI_Delay(50);//无有效按键输入的时候才执行
 000E 02E3              ldi R16,50
 0010 10E0              ldi R17,0
 0012 0E940000          xcall _GUI_Delay
 0016           ;         }
 0016           L5:
 0016           ;         if(!KeyFuncIndex)//待机界面代码,用来显示时钟
 0016 20900000          lds R2,_KeyFuncIndex
 001A 2220              tst R2
 001C 41F4              brne L7
 001E           ;               {    //KeyFuncIndex为0时是待机界面
 001E           ;                   #if DATE_TIME_EN==1
 001E           ;                       GUI_Display_Time(20,30);  //待机界面代码,用来显示时钟
 001E 2EE1              ldi R18,30
 0020 04E1              ldi R16,20
 0022 0E940000          xcall _GUI_Display_Time
 0026           ;                           GUI_Delay(50);
 0026 02E3              ldi R16,50
 0028 10E0              ldi R17,0
 002A 0E940000          xcall _GUI_Delay
 002E           ;                       #endif
 002E           ;         }
 002E           L7:
 002E           ; 		else
 002E           ; 		{
 002E           ; 
 002E           ;         }
 002E           L8:
 002E           L3:
 002E EBCF              xjmp L2
 0030           X0:
 0030           L1:
 0030                   .dbline 0 ; func end
 0030 0895              ret

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?