📄 hd_support.lis
字号:
.module HD_Support.c
.area vector(rom, abs)
.org 26
001A 1FC0 rjmp _Timer1_OVF_ISR
.area data(ram, con, rel)
0000 _TimeStamp::
0000 .blkb 2
.area idata
0000 0000 .word 0
.area data(ram, con, rel)
0002 .dbfile D:\设计项目\深入浅出AVR\光盘文件\实例程序源代码\实例12_复杂闪烁控制\实例12_复杂闪烁控制_热水器控制\HD_Support.c
0002 .dbsym e TimeStamp _TimeStamp i
.area text(rom, con, rel)
0000 .dbfile D:\设计项目\深入浅出AVR\光盘文件\实例程序源代码\实例12_复杂闪烁控制\实例12_复杂闪烁控制_热水器控制\HD_Support.c
0000 .dbfunc e Device_INIT _Device_INIT fV
.even
0000 _Device_INIT::
0000 .dbline -1
0000 .dbline 87
0000 ; /***********************************************************
0000 ; * 函数库说明:底层硬件初始化函数库 *
0000 ; * 版本: *
0000 ; * 作者: *
0000 ; * 创建日期: *
0000 ; * -------------------------------------------------------- *
0000 ; * [硬件说明] *
0000 ; * 处理器: *
0000 ; * 系统时钟: *
0000 ; * -------------------------------------------------------- *
0000 ; * [支 持 库] *
0000 ; * 支持库名称:HD_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 "HD_Support.h"
0000 ;
0000 ; /********************
0000 ; * 系 统 宏 定 义 *
0000 ; ********************/
0000 ; #pragma interrupt_handler Timer1_OVF_ISR:iv_TIMER1_OVF
0000 ;
0000 ; /*------------------*
0000 ; * 常 数 宏 定 义 *
0000 ; *------------------*/
0000 ;
0000 ; /*------------------*
0000 ; * 动 作 宏 定 义 *
0000 ; *------------------*/
0000 ;
0000 ; #ifndef INSERT_TIMER1_OVF_ISR_CODE
0000 ; # define INSERT_TIMER1_OVF_ISR_CODE
0000 ; #endif
0000 ;
0000 ; /********************
0000 ; * 模块结构体定义区 *
0000 ; ********************/
0000 ;
0000 ; /********************
0000 ; * 函 数 声 明 区 *
0000 ; ********************/
0000 ; void Device_INIT(void);
0000 ; void Insert_Timer1_OVF_ISR_Code(void);
0000 ;
0000 ; /********************
0000 ; * 模块函数声明区 *
0000 ; ********************/
0000 ; void Port_INIT(void);
0000 ; void Timer1_INIT(void);
0000 ;
0000 ; /********************
0000 ; * 模块变量声明区 *
0000 ; ********************/
0000 ;
0000 ; /********************
0000 ; * 全局变量声明区 *
0000 ; ********************/
0000 ;
0000 ; unsigned int TimeStamp = 0; //定义时标
0000 ; BOOL DoFLASH; //执行闪烁的标志
0000 ;
0000 ; /***********************************************************
0000 ; * 函数说明:系统硬件初始化函数 *
0000 ; * 输入: 无 *
0000 ; * 输出: 无 *
0000 ; * 调用函数:Port_INIT() Timer1_INIT() *
0000 ; ***********************************************************/
0000 ; void Device_INIT(void)
0000 ; {
0000 .dbline 88
0000 ; Port_INIT();
0000 05D0 rcall _Port_INIT
0002 .dbline 89
0002 ; Timer1_INIT();
0002 0ED0 rcall _Timer1_INIT
0004 .dbline 92
0004 ; //*在这里添加其他初始化函数*//
0004 ;
0004 ; TIMSK1 = BIT(TOIE1); //启动定时器1溢出中断资源
0004 81E0 ldi R24,1
0006 80936F00 sts 111,R24
000A .dbline -2
000A L1:
000A .dbline 0 ; func end
000A 0895 ret
000C .dbend
000C .dbfunc e Port_INIT _Port_INIT fV
.even
000C _Port_INIT::
000C .dbline -1
000C .dbline 103
000C ; //*在这里添加其他全局寄存器的初始化代码*//
000C ; }
000C ;
000C ; /***********************************************************
000C ; * 函数说明:系统端口初始化函数 *
000C ; * 输入: 无 *
000C ; * 输出: 无 *
000C ; * 调用函数:无 *
000C ; ***********************************************************/
000C ; void Port_INIT(void)
000C ; {
000C .dbline 105
000C ; //*在这里添加端口初始化代码*//
000C ; PORTB = 0b11111111; //没有使用的端口均设置为输入状态并开启内部上拉电阻
000C 8FEF ldi R24,255
000E 85B9 out 0x5,R24
0010 .dbline 106
0010 ; PORTC = 0b11111111;
0010 88B9 out 0x8,R24
0012 .dbline 107
0012 ; PORTD = 0b11111111;
0012 8BB9 out 0xb,R24
0014 .dbline 109
0014 ;
0014 ; DDRB = 0b00000000;
0014 2224 clr R2
0016 24B8 out 0x4,R2
0018 .dbline 110
0018 ; DDRC = 0b00111110; //PC5端口设置为输出状态
0018 8EE3 ldi R24,62
001A 87B9 out 0x7,R24
001C .dbline 111
001C ; DDRD = 0b00000000;
001C 2AB8 out 0xa,R2
001E .dbline -2
001E L2:
001E .dbline 0 ; func end
001E 0895 ret
0020 .dbend
0020 .dbfunc e Timer1_INIT _Timer1_INIT fV
.even
0020 _Timer1_INIT::
0020 .dbline -1
0020 .dbline 121
0020 ; }
0020 ;
0020 ; /***********************************************************
0020 ; * 函数声明:定时器1初始化函数 *
0020 ; * 输入: 无 *
0020 ; * 输出: 无 *
0020 ; * 调用函数:无 *
0020 ; ***********************************************************/
0020 ; void Timer1_INIT(void)
0020 ; {
0020 .dbline 124
0020 ; //*在这里粘贴从代码生成向导中生成的初始化代码*//
0020 ; //*要求为10Hz的溢出中断 *//
0020 ; TCCR1B = 0x00;
0020 2224 clr R2
0022 20928100 sts 129,R2
0026 .dbline 125
0026 ; TCNT1H = 0xCF;
0026 8FEC ldi R24,207
0028 80938500 sts 133,R24
002C .dbline 126
002C ; TCNT1L = 0x2C;
002C 8CE2 ldi R24,44
002E 80938400 sts 132,R24
0032 .dbline 127
0032 ; TCCR1A = 0x00;
0032 20928000 sts 128,R2
0036 .dbline 128
0036 ; TCCR1B = 0x02;
0036 82E0 ldi R24,2
0038 80938100 sts 129,R24
003C .dbline -2
003C L3:
003C .dbline 0 ; func end
003C 0895 ret
003E .dbend
003E .dbfunc e Timer1_OVF_ISR _Timer1_OVF_ISR fV
.even
003E _Timer1_OVF_ISR::
003E 00D0 rcall push_lset
0040 .dbline -1
0040 .dbline 138
0040 ; }
0040 ;
0040 ; /***********************************************************
0040 ; * 函数声明:定时器1溢出中断处理程序 *
0040 ; * 输入: 无 *
0040 ; * 输出: 无 *
0040 ; * 调用函数:INSERT_TIMER1_OVF_ISR_CODE *
0040 ; ***********************************************************/
0040 ; void Timer1_OVF_ISR(void)
0040 ; {
0040 .dbline 140
0040 ; //*这里要添加对定时计数器重新设置计数底数的代码*//
0040 ; INSERT_TIMER1_OVF_ISR_CODE
0040 7894 sei
0042 .dbline 140
0042 00D0 rcall _Insert_Timer1_OVF_ISR_Code
0044 .dbline -2
0044 L4:
0044 00D0 rcall pop_lset
0046 .dbline 0 ; func end
0046 1895 reti
0048 .dbend
.area bss(ram, con, rel)
0000 .dbfile D:\设计项目\深入浅出AVR\光盘文件\实例程序源代码\实例12_复杂闪烁控制\实例12_复杂闪烁控制_热水器控制\HD_Support.c
0000 _DoFLASH::
0000 .blkb 1
0001 .dbsym e DoFLASH _DoFLASH c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -