📄 model.lst
字号:
(0106) {
(0107) SPCR = 0xDE; //setup SPI
_SPI_INIT:
HD_Support.c:SPI_INIT:
AC ED8E LDI R24,0xDE
AD B98D OUT 0x0D,R24
(0108) SPSR = 0x00; //setup SPI
AE 2422 CLR R2
AF B82E OUT 0x0E,R2
B0 9508 RET
_SPI_STC_ISR:
B1 920A ST R0,-Y
B2 921A ST R1,-Y
B3 922A ST R2,-Y
B4 923A ST R3,-Y
B5 924A ST R4,-Y
B6 925A ST R5,-Y
B7 926A ST R6,-Y
B8 927A ST R7,-Y
B9 928A ST R8,-Y
BA 929A ST R9,-Y
BB 930A ST R16,-Y
BC 931A ST R17,-Y
BD 932A ST R18,-Y
BE 933A ST R19,-Y
BF 938A ST R24,-Y
C0 939A ST R25,-Y
C1 93AA ST R26,-Y
C2 93BA ST R27,-Y
C3 93EA ST R30,-Y
C4 93FA ST R31,-Y
C5 B60F IN R0,0x3F
C6 920A ST R0,-Y
(0109) }
(0110)
(0111)
(0112)
(0113) /***********************************************************
(0114) * 函数声明:SPI通讯完成中断处理程序 *
(0115) * 输入: 无 *
(0116) * 输出: 无 *
(0117) * 调用函数:INSERT_SPI_STC_ISR_CODE *
(0118) ***********************************************************/
(0119) void SPI_STC_ISR(void)
(0120) {
(0121)
(0122) INSERT_SPI_STC_ISR_CODE
C7 DFB1 RCALL _Insert_SPI_STC_ISR_Code
C8 9009 LD R0,Y+
C9 BE0F OUT 0x3F,R0
CA 91F9 LD R31,Y+
CB 91E9 LD R30,Y+
CC 91B9 LD R27,Y+
CD 91A9 LD R26,Y+
CE 9199 LD R25,Y+
CF 9189 LD R24,Y+
D0 9139 LD R19,Y+
D1 9129 LD R18,Y+
D2 9119 LD R17,Y+
D3 9109 LD R16,Y+
D4 9099 LD R9,Y+
D5 9089 LD R8,Y+
D6 9079 LD R7,Y+
D7 9069 LD R6,Y+
D8 9059 LD R5,Y+
D9 9049 LD R4,Y+
DA 9039 LD R3,Y+
DB 9029 LD R2,Y+
DC 9019 LD R1,Y+
DD 9009 LD R0,Y+
DE 9518 RETI
(0123) }
(0124)
(0125) /***********************************************************
(0126) * 函数说明:系统端口初始化函数 *
(0127) * 输入: 无 *
(0128) * 输出: 无 *
(0129) * 调用函数:无 *
(0130) ***********************************************************/
(0131) static void Port_INIT(void)
(0132) {
(0133) //*在这里添加端口初始化代码*//
(0134) DDRB |= BIT(PB2)|BIT(PB3)|BIT(PB5);
HD_Support.c:Port_INIT:
_Port_INIT:
DF B387 IN R24,0x17
E0 628C ORI R24,0x2C
E1 BB87 OUT 0x17,R24
(0135) PORTB |= BIT(PB2);
E2 9AC2 SBI 0x18,2
E3 9508 RET
(0136) }
(0137)
(0138) /***********************************************************
(0139) * 函数声明:定时器0初始化函数 *
(0140) * 输入: 无 *
(0141) * 输出: 无 *
(0142) * 调用函数:无 *
(0143) ***********************************************************/
(0144) static void Timer0_INIT(void)
(0145) {
(0146) //*在这里粘贴从代码生成向导中生成的初始化代码*//
(0147) //*要求为1K的溢出中断 *//
(0148)
(0149) #ifdef USE_SYSTEM_CLOCK_1M
(0150) TCCR0 = 0x00; //stop
(0151) TCNT0 = 0x83; //set count
(0152) TCCR0 = 0x02; //start timer
(0153) #endif
(0154) #ifdef USE_SYSTEM_CLOCK_4M
(0155) TCCR0 = 0x00; //stop
(0156) TCNT0 = 0xC2; //set count
(0157) TCCR0 = 0x03; //start timer
(0158) #endif
(0159) #ifdef USE_SYSTEM_CLOCK_8M
(0160) TCCR0 = 0x00; //stop
_Timer0_INIT:
HD_Support.c:Timer0_INIT:
E4 2422 CLR R2
E5 BE23 OUT 0x33,R2
(0161) TCNT0 = 0x83; //set count
E6 E883 LDI R24,0x83
E7 BF82 OUT 0x32,R24
(0162) TCCR0 = 0x03; //start timer
E8 E083 LDI R24,3
E9 BF83 OUT 0x33,R24
EA 9508 RET
_Timer0_OVF_ISR:
EB 920A ST R0,-Y
EC 921A ST R1,-Y
ED 922A ST R2,-Y
EE 923A ST R3,-Y
EF 924A ST R4,-Y
F0 925A ST R5,-Y
F1 926A ST R6,-Y
F2 927A ST R7,-Y
F3 928A ST R8,-Y
F4 929A ST R9,-Y
F5 930A ST R16,-Y
F6 931A ST R17,-Y
F7 932A ST R18,-Y
F8 933A ST R19,-Y
F9 938A ST R24,-Y
FA 939A ST R25,-Y
FB 93AA ST R26,-Y
FC 93BA ST R27,-Y
FD 93EA ST R30,-Y
FE 93FA ST R31,-Y
FF B60F IN R0,0x3F
100 920A ST R0,-Y
(0163) #endif
(0164)
(0165) }
(0166)
(0167) /***********************************************************
(0168) * 函数声明:定时器0溢出中断处理程序 *
(0169) * 输入: 无 *
(0170) * 输出: 无 *
(0171) * 调用函数:INSERT_TIMER0_OVF_ISR_CODE *
(0172) ***********************************************************/
(0173) void Timer0_OVF_ISR(void)
(0174) {
(0175) #ifdef USE_SYSTEM_CLOCK_1M
(0176) TCNT0 = 0x83; //set count
(0177) #endif
(0178) #ifdef USE_SYSTEM_CLOCK_4M
(0179) TCNT0 = 0xC2; //set count
(0180) #endif
(0181) #ifdef USE_SYSTEM_CLOCK_8M
(0182) TCNT0 = 0x83; //set count
101 E883 LDI R24,0x83
102 BF82 OUT 0x32,R24
(0183) #endif
(0184)
(0185) INSERT_TIMER0_OVF_ISR_CODE
103 9478 BSET 7
104 DF4C RCALL _Insert_Timer0_OVF_ISR_Code
105 9009 LD R0,Y+
106 BE0F OUT 0x3F,R0
107 91F9 LD R31,Y+
108 91E9 LD R30,Y+
109 91B9 LD R27,Y+
10A 91A9 LD R26,Y+
10B 9199 LD R25,Y+
10C 9189 LD R24,Y+
10D 9139 LD R19,Y+
10E 9129 LD R18,Y+
10F 9119 LD R17,Y+
110 9109 LD R16,Y+
111 9099 LD R9,Y+
112 9089 LD R8,Y+
113 9079 LD R7,Y+
114 9069 LD R6,Y+
115 9059 LD R5,Y+
116 9049 LD R4,Y+
117 9039 LD R3,Y+
118 9029 LD R2,Y+
119 9019 LD R1,Y+
11A 9009 LD R0,Y+
11B 9518 RETI
FILE: E:\学习\实践班\单片机程序\硬件SPI\SPI_595\Project_Template_Basic\PF_Config.c
(0001) /***********************************************************
(0002) * 函数库说明:硬件平台配置函数库 *
(0003) * 版本: *
(0004) * 作者: *
(0005) * 创建日期: *
(0006) * -------------------------------------------------------- *
(0007) * [硬件说明] *
(0008) * 处理器: *
(0009) * 系统时钟: *
(0010) * -------------------------------------------------------- *
(0011) * [支 持 库] *
(0012) * 库名称: PF_Config.h *
(0013) * 需要版本: ----- *
(0014) * 支持库说明:硬件平台配置声明库 *
(0015) * -------------------------------------------------------- *
(0016) * [版本更新] *
(0017) * 修改: *
(0018) * 修改日期: *
(0019) * 版本: *
(0020) * -------------------------------------------------------- *
(0021) * [版本历史] *
(0022) * -------------------------------------------------------- *
(0023) * [使用说明] *
(0024) ***********************************************************/
(0025)
(0026) /********************
(0027) * 头 文 件 配 置 区 *
(0028) ********************/
(0029) # include "PF_Config.h"
(0030)
(0031) /********************
(0032) * 系 统 宏 定 义 *
(0033) ********************/
(0034)
(0035) /*------------------*
(0036) * 常 数 宏 定 义 *
(0037) *------------------*/
(0038)
(0039) /*------------------*
(0040) * 动 作 宏 定 义 *
(0041) *------------------*/
(0042)
(0043) /********************
(0044) * 模块结构体定义区 *
(0045) ********************/
(0046)
(0047) /********************
(0048) * 函 数 声 明 区 *
(0049) ********************/
(0050) void System_INIT(void);
(0051)
(0052) /********************
(0053) * 模块函数声明区 *
(0054) ********************/
(0055)
(0056) /********************
(0057) * 模块变量声明区 *
(0058) ********************/
(0059)
(0060) /********************
(0061) * 全局变量声明区 *
(0062) ********************/
(0063)
(0064) /***********************************************************
(0065) * 函数说明:系统初始化函数 *
(0066) * 输入: 无 *
(0067) * 输出: 无 *
(0068) * 调用函数:Device_INIT() Driver_INIT() *
(0069) ***********************************************************/
(0070) void System_INIT(void)
(0071) {
(0072) CLI();
_System_INIT:
11C 94F8 BCLR 7
(0073)
(0074) Device_INIT();
11D DF88 RCALL _Device_INIT
(0075) Driver_INIT();
11E DF24 RCALL _Driver_INIT
(0076)
(0077) //*在这里插入你的系统环境变量初始化代码*//
(0078)
(0079) SEI();
11F 9478 BSET 7
120 9508 RET
FILE: E:\学习\实践班\单片机程序\硬件SPI\SPI_595\Project_Template_Basic\System.c
(0001) /***********************************************************
(0002) * 源程序说明: *
(0003) * 版本: *
(0004) * 作者: *
(0005) * 创建日期: *
(0006) * -------------------------------------------------------- *
(0007) * [支 持 库] *
(0008) * 支持库名称:PF_Config.h *
(0009) * 需要版本: ----- *
(0010) * 支持库说明:硬件平台配置声明库 *
(0011) * -------------------------------------------------------- *
(0012) * [版本更新] *
(0013) * 修改: *
(0014) * 修改日期: *
(0015) * 版本: *
(0016) * -------------------------------------------------------- *
(0017) * [版本历史] *
(0018) * -------------------------------------------------------- *
(0019) * [使用说明] *
(0020) ***********************************************************/
(0021)
(0022) /********************
(0023) * 头 文 件 配 置 区 *
(0024) ********************/
(0025) # include "LIB_Config.h"
(0026) # include "PF_Config.h"
(0027)
(0028) /********************
(0029) * 系 统 宏 定 义 *
(0030) ********************/
(0031)
(0032) /*------------------*
(0033) * 常 数 宏 定 义 *
(0034) *------------------*/
(0035)
(0036) /*------------------*
(0037) * 动 作 宏 定 义 *
(0038) *------------------*/
(0039)
(0040) /********************
(0041) * 模块结构体定义区 *
(0042) ********************/
(0043)
(0044) /********************
(0045) * 模块函数声明区 *
(0046) ********************/
(0047)
(0048) /********************
(0049) * 模块变量声明区 *
(0050) ********************/
(0051)
(0052) /***********************************************************
(0053) * 函数说明:主函数 *
(0054) * 输入: 无 *
(0055) * 输出: 无 *
(0056) * 调用函数:System_INIT() *
(0057) ***********************************************************/
(0058) void main(void)
(0059) {
(0060) System_INIT(); //代码初始化
_main:
121 DFFA RCALL _System_INIT
(0061)
(0062)
(0063) PORT_SS = LOW;
122 B388 IN R24,0x18
123 7F8B ANDI R24,0xFB
124 BB88 OUT 0x18,R24
(0064) //g_chCounter = 1;
(0065) SPDR = 0xaa;
125 EA8A LDI R24,0xAA
126 B98F OUT 0x0F,R24
(0066)
(0067) while(TRUE) //超级循环
FILE: <library>
127 CFFF RJMP 0x0127
128 9508 RET
push_xgsetF00C:
129 937A ST R23,-Y
12A 936A ST R22,-Y
12B 935A ST R21,-Y
12C 934A ST R20,-Y
12D 92BA ST R11,-Y
12E 92AA ST R10,-Y
12F 9508 RET
pop_xgsetF00C:
130 90A9 LD R10,Y+
131 90B9 LD R11,Y+
132 9149 LD R20,Y+
133 9159 LD R21,Y+
134 9169 LD R22,Y+
135 9179 LD R23,Y+
136 9508 RET
lsl8:
137 2311 TST R17
138 F019 BEQ 0x013C
139 0F00 LSL R16
13A 951A DEC R17
13B CFFB RJMP lsl8
13C 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -