📄 system.lis
字号:
.module System.c
.area text(rom, con, rel)
0000 .dbfile D:\设计项目\深入浅出AVR\光盘文件\实例程序源代码\实例12_复杂闪烁控制\实例12_复杂闪烁控制_单灯连闪\System.c
0000 .dbfunc e LED_Flash _LED_Flash fV
.even
0000 _LED_Flash::
0000 .dbline -1
0000 .dbline 59
0000 ; /***********************************************************
0000 ; * 源程序说明: *
0000 ; * 版本: *
0000 ; * 作者: *
0000 ; * 创建日期: *
0000 ; * -------------------------------------------------------- *
0000 ; * [支 持 库] *
0000 ; * 支持库名称:PF_Config.h *
0000 ; * 需要版本: ----- *
0000 ; * 支持库说明:硬件平台配置声明库 *
0000 ; * -------------------------------------------------------- *
0000 ; * [版本更新] *
0000 ; * 修改: *
0000 ; * 修改日期: *
0000 ; * 版本: *
0000 ; * -------------------------------------------------------- *
0000 ; * [版本历史] *
0000 ; * -------------------------------------------------------- *
0000 ; * [使用说明] *
0000 ; ***********************************************************/
0000 ;
0000 ; /********************
0000 ; * 头 文 件 配 置 区 *
0000 ; ********************/
0000 ; # include "PF_Config.h"
0000 ;
0000 ; /********************
0000 ; * 系 统 宏 定 义 *
0000 ; ********************/
0000 ;
0000 ; /*------------------*
0000 ; * 常 数 宏 定 义 *
0000 ; *------------------*/
0000 ;
0000 ; /*------------------*
0000 ; * 动 作 宏 定 义 *
0000 ; *------------------*/
0000 ;
0000 ; /********************
0000 ; * 模块结构体定义区 *
0000 ; ********************/
0000 ;
0000 ; /********************
0000 ; * 模块函数声明区 *
0000 ; ********************/
0000 ;
0000 ; /********************
0000 ; * 模块变量声明区 *
0000 ; ********************/
0000 ;
0000 ; /***********************************************************
0000 ; * 函数说明:LED闪烁控制函数 *
0000 ; * 输入: 无 *
0000 ; * 输出: 无 *
0000 ; * 调用函数: *
0000 ; ***********************************************************/
0000 ;
0000 ; void LED_Flash (void)
0000 ; {
0000 .dbline 60
0000 ; switch (TimeStamp)
0000 20900000 lds R2,_TimeStamp
0004 30900100 lds R3,_TimeStamp+1
0008 2220 tst R2
000A 11F4 brne X0
000C 3320 tst R3
000E 89F0 breq L4
0010 X0:
0010 80910000 lds R24,_TimeStamp
0014 90910100 lds R25,_TimeStamp+1
0018 8130 cpi R24,1
001A E0E0 ldi R30,0
001C 9E07 cpc R25,R30
001E 59F0 breq L5
0020 8230 cpi R24,2
0022 E0E0 ldi R30,0
0024 9E07 cpc R25,R30
0026 49F0 breq L6
0028 8330 cpi R24,3
002A E0E0 ldi R30,0
002C 9E07 cpc R25,R30
002E 39F0 breq L7
0030 07C0 rjmp L2
0032 X1:
0032 .dbline 61
0032 ; {
0032 L4:
0032 .dbline 63
0032 ; case 0 :
0032 ; {
0032 .dbline 64
0032 ; LED_ON;
0032 4598 cbi 0x8,5
0034 .dbline 64
0034 .dbline 65
0034 ; break;
0034 05C0 rjmp L3
0036 L5:
0036 .dbline 69
0036 ; }
0036 ;
0036 ; case 1 :
0036 ; {
0036 .dbline 70
0036 ; LED_OFF;
0036 459A sbi 0x8,5
0038 .dbline 70
0038 .dbline 71
0038 ; break;
0038 03C0 rjmp L3
003A L6:
003A .dbline 75
003A ; }
003A ;
003A ; case 2 :
003A ; {
003A .dbline 76
003A ; LED_ON;
003A 4598 cbi 0x8,5
003C .dbline 76
003C .dbline 77
003C ; break;
003C 01C0 rjmp L3
003E L7:
003E .dbline 81
003E ; }
003E ;
003E ; case 3 :
003E ; {
003E .dbline 82
003E ; LED_OFF;
003E 459A sbi 0x8,5
0040 .dbline 82
0040 .dbline 83
0040 ; break;
0040 L2:
0040 L3:
0040 .dbline -2
0040 L1:
0040 .dbline 0 ; func end
0040 0895 ret
0042 .dbend
0042 .dbfunc e main _main fV
.even
0042 _main::
0042 .dbline -1
0042 .dbline 95
0042 ; }
0042 ; }
0042 ; }
0042 ;
0042 ; /***********************************************************
0042 ; * 函数说明:主函数 *
0042 ; * 输入: 无 *
0042 ; * 输出: 无 *
0042 ; * 调用函数:System_INIT() *
0042 ; ***********************************************************/
0042 ; void main(void)
0042 ; {
0042 .dbline 96
0042 ; System_INIT(); //代码初始化
0042 00D0 rcall _System_INIT
0044 08C0 rjmp L10
0046 L9:
0046 .dbline 99
0046 ;
0046 ; while(TRUE) //超级循环
0046 ; {
0046 .dbline 100
0046 ; if (DoFLASH == TRUE)
0046 80910000 lds R24,_DoFLASH
004A 8130 cpi R24,1
004C 21F4 brne L12
004E .dbline 101
004E ; {
004E .dbline 102
004E ; LED_Flash(); //当闪烁执行标志为真时,调用闪烁控制函数
004E D8DF rcall _LED_Flash
0050 .dbline 103
0050 ; DoFLASH = FALSE;
0050 2224 clr R2
0052 20920000 sts _DoFLASH,R2
0056 .dbline 104
0056 ; }
0056 L12:
0056 .dbline 105
0056 L10:
0056 .dbline 98
0056 F7CF rjmp L9
0058 X2:
0058 .dbline -2
0058 L8:
0058 .dbline 0 ; func end
0058 0895 ret
005A .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -