📄 hd_support.lis
字号:
.module HD_Support.c
.area text(rom, con, rel)
0000 .dbfile H:\单片机\工程模板\基本工程模板with调度器\HD_Support.c
.area vector(rom, abs)
.org 32
0020 08C0 rjmp _Timer0_OVF_ISR
.area text(rom, con, rel)
0000 .dbfile H:\单片机\工程模板\基本工程模板with调度器\HD_Support.c
0000 .dbfunc e Device_INIT _Device_INIT fV
.even
0000 _Device_INIT::
0000 .dbline -1
0000 .dbline 83
0000 ; /***********************************************************
0000 ; * 函数库说明:底层硬件初始化函数库 *
0000 ; * 版本: *
0000 ; * 作者: *
0000 ; * 创建日期: *
0000 ; * -------------------------------------------------------- *
0000 ; * [硬件说明] *
0000 ; * 处理器: *
0000 ; * 系统时钟: *
0000 ; * -------------------------------------------------------- *
0000 ; * [支 持 库] *
0000 ; * 支持库名称:PF_Config.h *
0000 ; * 需要版本: ----- *
0000 ; * 声明库说明:硬件平台配置声明库 *
0000 ; * *
0000 ; * 支持库名称:HD_Support.h *
0000 ; * 需要版本: ----- *
0000 ; * 声明库说明:底层硬件初始化声明库 *
0000 ; * -------------------------------------------------------- *
0000 ; * [版本更新] *
0000 ; * 修改: *
0000 ; * 修改日期: *
0000 ; * 版本: *
0000 ; * -------------------------------------------------------- *
0000 ; * [版本历史] *
0000 ; * -------------------------------------------------------- *
0000 ; * [使用说明] *
0000 ; ***********************************************************/
0000 ;
0000 ; /********************
0000 ; * 头 文 件 配 置 区 *
0000 ; ********************/
0000 ; # include "PF_Config.h"
0000 ; # include "HD_Support.h"
0000 ;
0000 ; /********************
0000 ; * 系 统 宏 定 义 *
0000 ; ********************/
0000 ; # pragma interrupt_handler Timer0_OVF_ISR:iv_TIMER0_OVF
0000 ;
0000 ; /*------------------*
0000 ; * 常 数 宏 定 义 *
0000 ; *------------------*/
0000 ;
0000 ; /*------------------*
0000 ; * 动 作 宏 定 义 *
0000 ; *------------------*/
0000 ; #ifndef INSERT_TIMER0_OVF_ISR_CODE
0000 ; # define INSERT_TIMER0_OVF_ISR_CODE
0000 ; #endif
0000 ;
0000 ; /********************
0000 ; * 模块结构体定义区 *
0000 ; ********************/
0000 ;
0000 ; /********************
0000 ; * 函 数 声 明 区 *
0000 ; ********************/
0000 ; void Device_INIT(void);
0000 ;
0000 ; /********************
0000 ; * 模块函数声明区 *
0000 ; ********************/
0000 ; static void Port_INIT(void);
0000 ; static void Timer0_INIT(void);
0000 ;
0000 ; /********************
0000 ; * 模块变量声明区 *
0000 ; ********************/
0000 ;
0000 ; /********************
0000 ; * 全局变量声明区 *
0000 ; ********************/
0000 ;
0000 ;
0000 ; /***********************************************************
0000 ; * 函数说明:系统硬件初始化函数 *
0000 ; * 输入: 无 *
0000 ; * 输出: 无 *
0000 ; * 调用函数:Port_INIT() Timer0_INIT() *
0000 ; ***********************************************************/
0000 ; void Device_INIT(void)
0000 ; {
0000 .dbline 84
0000 ; Port_INIT();
0000 05D0 rcall _Port_INIT
0002 .dbline 85
0002 ; Timer0_INIT();
0002 05D0 rcall _Timer0_INIT
0004 .dbline 88
0004 ; //*在这里添加其他初始化函数*//
0004 ;
0004 ; TIMSK0 = BIT(TOIE0); //启动定时期0溢出中断资源
0004 81E0 ldi R24,1
0006 80936E00 sts 110,R24
000A .dbline -2
000A L1:
000A .dbline 0 ; func end
000A 0895 ret
000C .dbend
000C .dbfunc s Port_INIT _Port_INIT fV
.even
000C _Port_INIT:
000C .dbline -1
000C .dbline 99
000C ; //*在这里添加其他全局寄存器的初始化代码*//
000C ; }
000C ;
000C ; /***********************************************************
000C ; * 函数说明:系统端口初始化函数 *
000C ; * 输入: 无 *
000C ; * 输出: 无 *
000C ; * 调用函数:无 *
000C ; ***********************************************************/
000C ; static void Port_INIT(void)
000C ; {
000C .dbline -2
000C L2:
000C .dbline 0 ; func end
000C 0895 ret
000E .dbend
000E .dbfunc s Timer0_INIT _Timer0_INIT fV
.even
000E _Timer0_INIT:
000E .dbline -1
000E .dbline 111
000E ; //*在这里添加端口初始化代码*//
000E ;
000E ; }
000E ;
000E ; /***********************************************************
000E ; * 函数声明:定时器0初始化函数 *
000E ; * 输入: 无 *
000E ; * 输出: 无 *
000E ; * 调用函数:无 *
000E ; ***********************************************************/
000E ; static void Timer0_INIT(void)
000E ; {
000E .dbline -2
000E L3:
000E .dbline 0 ; func end
000E 0895 ret
0010 .dbend
0010 .dbfunc e Timer0_OVF_ISR _Timer0_OVF_ISR fV
.even
0010 _Timer0_OVF_ISR::
0010 0A92 st -y,R0
0012 1A92 st -y,R1
0014 2A92 st -y,R2
0016 3A92 st -y,R3
0018 4A92 st -y,R4
001A 5A92 st -y,R5
001C 6A92 st -y,R6
001E 7A92 st -y,R7
0020 8A92 st -y,R8
0022 9A92 st -y,R9
0024 0A93 st -y,R16
0026 1A93 st -y,R17
0028 2A93 st -y,R18
002A 3A93 st -y,R19
002C 8A93 st -y,R24
002E 9A93 st -y,R25
0030 AA93 st -y,R26
0032 BA93 st -y,R27
0034 EA93 st -y,R30
0036 FA93 st -y,R31
0038 0FB6 in R0,0x3f
003A 0A92 st -y,R0
003C .dbline -1
003C .dbline 124
003C ; //*在这里粘贴从代码生成向导中生成的初始化代码*//
003C ; //*要求为1K的溢出中断 *//
003C ;
003C ; }
003C ;
003C ; /***********************************************************
003C ; * 函数声明:定时器0溢出中断处理程序 *
003C ; * 输入: 无 *
003C ; * 输出: 无 *
003C ; * 调用函数:INSERT_TIMER0_OVF_ISR_CODE *
003C ; ***********************************************************/
003C ; void Timer0_OVF_ISR(void)
003C ; {
003C .dbline 126
003C ; //*这里要添加对定时计数器重新设置计数底数的代码*//
003C ; INSERT_TIMER0_OVF_ISR_CODE
003C 7894 sei
003E .dbline 126
003E 00D0 rcall _Insert_Timer0_OVF_ISR_Code
0040 .dbline -2
0040 L4:
0040 .dbline 0 ; func end
0040 0990 ld R0,y+
0042 0FBE out 0x3f,R0
0044 F991 ld R31,y+
0046 E991 ld R30,y+
0048 B991 ld R27,y+
004A A991 ld R26,y+
004C 9991 ld R25,y+
004E 8991 ld R24,y+
0050 3991 ld R19,y+
0052 2991 ld R18,y+
0054 1991 ld R17,y+
0056 0991 ld R16,y+
0058 9990 ld R9,y+
005A 8990 ld R8,y+
005C 7990 ld R7,y+
005E 6990 ld R6,y+
0060 5990 ld R5,y+
0062 4990 ld R4,y+
0064 3990 ld R3,y+
0066 2990 ld R2,y+
0068 1990 ld R1,y+
006A 0990 ld R0,y+
006C 1895 reti
006E .dbend
006E ; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -