📄 ex_support.lis
字号:
.module EX_Support.c
.area text(rom, con, rel)
0000 .dbfile E:\创新实践班\按键扫描\EX_Support.c
.area data(ram, con, rel)
0000 .dbfile E:\创新实践班\按键扫描\EX_Support.c
0000 _s_wSystemDelayTimerCounter:
0000 .blkb 2
.area idata
0000 0000 .word 0
.area data(ram, con, rel)
0002 .dbfile E:\创新实践班\按键扫描\EX_Support.c
0002 _g_wSystemTimer::
0002 .blkb 2
.area idata
0002 0000 .word 0
.area data(ram, con, rel)
0004 .dbfile E:\创新实践班\按键扫描\EX_Support.c
.area text(rom, con, rel)
0000 .dbfile E:\创新实践班\按键扫描\EX_Support.c
0000 .dbfunc e Driver_INIT _Driver_INIT fV
.even
0000 _Driver_INIT::
0000 .dbline -1
0000 .dbline 86
0000 ; /***********************************************************
0000 ; * 函数库说明:底层硬件初始化驱动函数库 *
0000 ; * 版本: *
0000 ; * 作者: *
0000 ; * 创建日期: *
0000 ; * -------------------------------------------------------- *
0000 ; * [硬件说明] *
0000 ; * 处理器: *
0000 ; * 系统时钟: *
0000 ; * -------------------------------------------------------- *
0000 ; * [支 持 库] *
0000 ; * 支持库名称:HD_Support.h *
0000 ; * 需要版本: ----- *
0000 ; * 支持库说明:底层硬件初始化声明库 *
0000 ; * *
0000 ; * 支持库名称:EX_Support.h *
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 ; # include "Ex_Support.h"
0000 ;
0000 ; /********************
0000 ; * 系 统 宏 定 义 *
0000 ; ********************/
0000 ;
0000 ; /*------------------*
0000 ; * 常 数 宏 定 义 *
0000 ; *------------------*/
0000 ;
0000 ; /*------------------*
0000 ; * 动 作 宏 定 义 *
0000 ; *------------------*/
0000 ;
0000 ; /********************
0000 ; * 模块结构体定义区 *
0000 ; ********************/
0000 ;
0000 ; /********************
0000 ; * 函 数 声 明 区 *
0000 ; ********************/
0000 ; void Insert_Timer0_OVF_ISR_Code(void);
0000 ; void Driver_INIT(void);
0000 ; void Delay_MS(uint16 wTime);
0000 ; UINT8 Key_Scan(void);
0000 ;
0000 ; /********************
0000 ; * 模块函数声明区 *
0000 ; ********************/
0000 ;
0000 ;
0000 ; /********************
0000 ; * 模块变量声明区 *
0000 ; ********************/
0000 ; static uint16 s_wSystemDelayTimerCounter = 0;
0000 ;
0000 ; /********************
0000 ; * 全局变量声明区 *
0000 ; ********************/
0000 ; uint16 g_wSystemTimer = 0;
0000 ;
0000 ; /***********************************************************
0000 ; * 函数说明:软件驱动初始化函数 *
0000 ; * 输入: 无 *
0000 ; * 输出: 无 *
0000 ; * 调用函数:无 *
0000 ; ***********************************************************/
0000 ; void Driver_INIT(void)
0000 ; {
0000 .dbline -2
0000 L1:
0000 .dbline 0 ; func end
0000 0895 ret
0002 .dbend
0002 .dbfunc e Delay_MS _Delay_MS fV
0002 ; wTime -> R16,R17
.even
0002 _Delay_MS::
0002 .dbline -1
0002 .dbline 97
0002 ; //*在这里插入你的各类软件驱动初始化代码*//
0002 ; }
0002 ;
0002 ; /***********************************************************
0002 ; * 函数说明:系统毫秒延时函数 *
0002 ; * 输入: 需要延时的时间长度 *
0002 ; * 输出: 无 *
0002 ; * 调用函数:无 *
0002 ; ***********************************************************/
0002 ; void Delay_MS(uint16 wTime)
0002 ; {
0002 .dbline 98
0002 ; s_wSystemDelayTimerCounter = wTime;
0002 10930100 sts _s_wSystemDelayTimerCounter+1,R17
0006 00930000 sts _s_wSystemDelayTimerCounter,R16
000A L3:
000A .dbline 100
000A ;
000A ; while(s_wSystemDelayTimerCounter);
000A L4:
000A .dbline 100
000A 20900000 lds R2,_s_wSystemDelayTimerCounter
000E 30900100 lds R3,_s_wSystemDelayTimerCounter+1
0012 2220 tst R2
0014 D1F7 brne L3
0016 3320 tst R3
0018 C1F7 brne L3
001A X0:
001A .dbline -2
001A L2:
001A .dbline 0 ; func end
001A 0895 ret
001C .dbsym r wTime 16 i
001C .dbend
001C .dbfunc e Insert_Timer0_OVF_ISR_Code _Insert_Timer0_OVF_ISR_Code fV
.even
001C _Insert_Timer0_OVF_ISR_Code::
001C .dbline -1
001C .dbline 110
001C ; }
001C ;
001C ; /***********************************************************
001C ; * 函数说明:定时器0中断处理程序代码插入函数 *
001C ; * 输入: 无 *
001C ; * 输出: 无 *
001C ; * 调用函数:无 *
001C ; ***********************************************************/
001C ; void Insert_Timer0_OVF_ISR_Code(void)
001C ; {
001C .dbline 111
001C ; g_wSystemTimer++;
001C 80910200 lds R24,_g_wSystemTimer
0020 90910300 lds R25,_g_wSystemTimer+1
0024 0196 adiw R24,1
0026 90930300 sts _g_wSystemTimer+1,R25
002A 80930200 sts _g_wSystemTimer,R24
002E .dbline 113
002E ;
002E ; if (s_wSystemDelayTimerCounter)
002E 20900000 lds R2,_s_wSystemDelayTimerCounter
0032 30900100 lds R3,_s_wSystemDelayTimerCounter+1
0036 2220 tst R2
0038 11F4 brne X1
003A 3320 tst R3
003C 31F0 breq L7
003E X1:
003E .dbline 114
003E ; {
003E .dbline 115
003E ; s_wSystemDelayTimerCounter--;
003E C101 movw R24,R2
0040 0197 sbiw R24,1
0042 90930100 sts _s_wSystemDelayTimerCounter+1,R25
0046 80930000 sts _s_wSystemDelayTimerCounter,R24
004A .dbline 116
004A ; }
004A L7:
004A .dbline -2
004A L6:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -