📄 热水器控制.lst
字号:
__text_start:
__start:
001B EFCF LDI R28,0xFF
001C E0D2 LDI R29,2
001D BFCD OUT 0x3D,R28
001E BFDE OUT 0x3E,R29
001F 52C0 SUBI R28,0x20
0020 40D0 SBCI R29,0
0021 EA0A LDI R16,0xAA
0022 8308 STD Y+0,R16
0023 2400 CLR R0
0024 E0E2 LDI R30,2
0025 E0F1 LDI R31,1
0026 E011 LDI R17,1
0027 30E8 CPI R30,0x8
0028 07F1 CPC R31,R17
0029 F011 BEQ 0x002C
002A 9201 ST R0,Z+
002B CFFB RJMP 0x0027
002C 8300 STD Z+0,R16
002D E3E4 LDI R30,0x34
002E E0F0 LDI R31,0
002F E0A0 LDI R26,0
0030 E0B1 LDI R27,1
0031 E010 LDI R17,0
0032 33E6 CPI R30,0x36
0033 07F1 CPC R31,R17
0034 F021 BEQ 0x0039
0035 95C8 LPM
0036 9631 ADIW R30,1
0037 920D ST R0,X+
0038 CFF9 RJMP 0x0032
0039 D0C8 RCALL _main
_exit:
003A CFFF RJMP _exit
FILE: D:\设计项目\深入浅出AVR\光盘文件\实例程序源代码\实例12_复杂闪烁控制\实例12_复杂闪烁控制_热水器控制\HD_Support.c
(0001) /***********************************************************
(0002) * 函数库说明:底层硬件初始化函数库 *
(0003) * 版本: *
(0004) * 作者: *
(0005) * 创建日期: *
(0006) * -------------------------------------------------------- *
(0007) * [硬件说明] *
(0008) * 处理器: *
(0009) * 系统时钟: *
(0010) * -------------------------------------------------------- *
(0011) * [支 持 库] *
(0012) * 支持库名称:HD_Support.h *
(0013) * 需要版本: ----- *
(0014) * 支持库说明:底层硬件初始化声明库 *
(0015) * *
(0016) * 支持库名称:PF_Config.h *
(0017) * 需要版本: ----- *
(0018) * 支持库说明:硬件平台配置声明库 *
(0019) * -------------------------------------------------------- *
(0020) * [版本更新] *
(0021) * 修改: *
(0022) * 修改日期: *
(0023) * 版本: *
(0024) * -------------------------------------------------------- *
(0025) * [版本历史] *
(0026) * -------------------------------------------------------- *
(0027) * [使用说明] *
(0028) ***********************************************************/
(0029)
(0030) /********************
(0031) * 头 文 件 配 置 区 *
(0032) ********************/
(0033) # include "PF_Config.h"
(0034) # include "HD_Support.h"
(0035)
(0036) /********************
(0037) * 系 统 宏 定 义 *
(0038) ********************/
(0039) #pragma interrupt_handler Timer1_OVF_ISR:iv_TIMER1_OVF
(0040)
(0041) /*------------------*
(0042) * 常 数 宏 定 义 *
(0043) *------------------*/
(0044)
(0045) /*------------------*
(0046) * 动 作 宏 定 义 *
(0047) *------------------*/
(0048)
(0049) #ifndef INSERT_TIMER1_OVF_ISR_CODE
(0050) # define INSERT_TIMER1_OVF_ISR_CODE
(0051) #endif
(0052)
(0053) /********************
(0054) * 模块结构体定义区 *
(0055) ********************/
(0056)
(0057) /********************
(0058) * 函 数 声 明 区 *
(0059) ********************/
(0060) void Device_INIT(void);
(0061) void Insert_Timer1_OVF_ISR_Code(void);
(0062)
(0063) /********************
(0064) * 模块函数声明区 *
(0065) ********************/
(0066) void Port_INIT(void);
(0067) void Timer1_INIT(void);
(0068)
(0069) /********************
(0070) * 模块变量声明区 *
(0071) ********************/
(0072)
(0073) /********************
(0074) * 全局变量声明区 *
(0075) ********************/
(0076)
(0077) unsigned int TimeStamp = 0; //定义时标
(0078) BOOL DoFLASH; //执行闪烁的标志
(0079)
(0080) /***********************************************************
(0081) * 函数说明:系统硬件初始化函数 *
(0082) * 输入: 无 *
(0083) * 输出: 无 *
(0084) * 调用函数:Port_INIT() Timer1_INIT() *
(0085) ***********************************************************/
(0086) void Device_INIT(void)
(0087) {
(0088) Port_INIT();
_Device_INIT:
003B D005 RCALL _Port_INIT
(0089) Timer1_INIT();
003C D00E RCALL _Timer1_INIT
(0090) //*在这里添加其他初始化函数*//
(0091)
(0092) TIMSK1 = BIT(TOIE1); //启动定时器1溢出中断资源
003D E081 LDI R24,1
003E 9380006F STS 0x6F,R24
0040 9508 RET
(0093) //*在这里添加其他全局寄存器的初始化代码*//
(0094) }
(0095)
(0096) /***********************************************************
(0097) * 函数说明:系统端口初始化函数 *
(0098) * 输入: 无 *
(0099) * 输出: 无 *
(0100) * 调用函数:无 *
(0101) ***********************************************************/
(0102) void Port_INIT(void)
(0103) {
(0104) //*在这里添加端口初始化代码*//
(0105) PORTB = 0b11111111; //没有使用的端口均设置为输入状态并开启内部上拉电阻
_Port_INIT:
0041 EF8F LDI R24,0xFF
0042 B985 OUT 0x05,R24
(0106) PORTC = 0b11111111;
0043 B988 OUT 0x08,R24
(0107) PORTD = 0b11111111;
0044 B98B OUT 0x0B,R24
(0108)
(0109) DDRB = 0b00000000;
0045 2422 CLR R2
0046 B824 OUT 0x04,R2
(0110) DDRC = 0b00111110; //PC5端口设置为输出状态
0047 E38E LDI R24,0x3E
0048 B987 OUT 0x07,R24
(0111) DDRD = 0b00000000;
0049 B82A OUT 0x0A,R2
004A 9508 RET
(0112) }
(0113)
(0114) /***********************************************************
(0115) * 函数声明:定时器1初始化函数 *
(0116) * 输入: 无 *
(0117) * 输出: 无 *
(0118) * 调用函数:无 *
(0119) ***********************************************************/
(0120) void Timer1_INIT(void)
(0121) {
(0122) //*在这里粘贴从代码生成向导中生成的初始化代码*//
(0123) //*要求为10Hz的溢出中断 *//
(0124) TCCR1B = 0x00;
_Timer1_INIT:
004B 2422 CLR R2
004C 92200081 STS 0x81,R2
(0125) TCNT1H = 0xCF;
004E EC8F LDI R24,0xCF
004F 93800085 STS 0x85,R24
(0126) TCNT1L = 0x2C;
0051 E28C LDI R24,0x2C
0052 93800084 STS 0x84,R24
(0127) TCCR1A = 0x00;
0054 92200080 STS 0x80,R2
(0128) TCCR1B = 0x02;
0056 E082 LDI R24,2
0057 93800081 STS 0x81,R24
0059 9508 RET
_Timer1_OVF_ISR:
005A D0E3 RCALL push_lset
(0129) }
(0130)
(0131) /***********************************************************
(0132) * 函数声明:定时器1溢出中断处理程序 *
(0133) * 输入: 无 *
(0134) * 输出: 无 *
(0135) * 调用函数:INSERT_TIMER1_OVF_ISR_CODE *
(0136) ***********************************************************/
(0137) void Timer1_OVF_ISR(void)
(0138) {
(0139) //*这里要添加对定时计数器重新设置计数底数的代码*//
(0140) INSERT_TIMER1_OVF_ISR_CODE
005B 9478 BSET 7
005C D00B RCALL _Insert_Timer1_OVF_ISR_Code
005D D0F7 RCALL pop_lset
005E 9518 RETI
FILE: D:\设计项目\深入浅出AVR\光盘文件\实例程序源代码\实例12_复杂闪烁控制\实例12_复杂闪烁控制_热水器控制\EX_Support.c
(0001) /***********************************************************
(0002) * 函数库说明:底层硬件初始化驱动函数库 *
(0003) * 版本: *
(0004) * 作者: *
(0005) * 创建日期: *
(0006) * -------------------------------------------------------- *
(0007) * [硬件说明] *
(0008) * 处理器: *
(0009) * 系统时钟: *
(0010) * -------------------------------------------------------- *
(0011) * [支 持 库] *
(0012) * 支持库名称:HD_Support.h *
(0013) * 需要版本: ----- *
(0014) * 支持库说明:底层硬件初始化声明库 *
(0015) * *
(0016) * 支持库名称:EX_Support.h *
(0017) * 需要版本: ----- *
(0018) * 支持库说明:底层硬件初始化驱动声明库 *
(0019) * *
(0020) * 支持库名称:PF_Config.h *
(0021) * 需要版本: ----- *
(0022) * 支持库说明:硬件平台配置声明库 *
(0023) * -------------------------------------------------------- *
(0024) * [版本更新] *
(0025) * 修改: *
(0026) * 修改日期: *
(0027) * 版本: *
(0028) * -------------------------------------------------------- *
(0029) * [版本历史] *
(0030) * -------------------------------------------------------- *
(0031) * [使用说明] *
(0032) ***********************************************************/
(0033)
(0034) /********************
(0035) * 头 文 件 配 置 区 *
(0036) ********************/
(0037) # include "PF_Config.h"
(0038) # include "HD_Support.h"
(0039) # include "EX_Support.h"
(0040)
(0041) /********************
(0042) * 系 统 宏 定 义 *
(0043) ********************/
(0044)
(0045) /*------------------*
(0046) * 常 数 宏 定 义 *
(0047) *------------------*/
(0048)
(0049) /*------------------*
(0050) * 动 作 宏 定 义 *
(0051) *------------------*/
(0052)
(0053) /********************
(0054) * 模块结构体定义区 *
(0055) ********************/
(0056)
(0057) /********************
(0058) * 函 数 声 明 区 *
(0059) ********************/
(0060) void System_INIT(void);
(0061) void Insert_Timer1_OVF_ISR_Code(void);
(0062)
(0063) /********************
(0064) * 模块函数声明区 *
(0065) ********************/
(0066) static void Driver_INIT(void);
(0067)
(0068) /********************
(0069) * 模块变量声明区 *
(0070) ********************/
(0071) extern BOOL DoFLASH;
(0072)
(0073) /********************
(0074) * 全局变量声明区 *
(0075) ********************/
(0076) unsigned char FlashStatu[5];
(0077)
(0078) /***********************************************************
(0079) * 函数说明:软件驱动初始化函数 *
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -