📄 slaverspi.lst
字号:
__start:
__text_start:
0015 E5CF LDI R28,0x5F
0016 E0D2 LDI R29,2
0017 BFCD OUT 0x3D,R28
0018 BFDE OUT 0x3E,R29
0019 51C0 SUBI R28,0x10
001A 40D0 SBCI R29,0
001B EA0A LDI R16,0xAA
001C 8308 STD Y+0,R16
001D 2400 CLR R0
001E E6E0 LDI R30,0x60
001F E0F0 LDI R31,0
0020 E010 LDI R17,0
0021 36E0 CPI R30,0x60
0022 07F1 CPC R31,R17
0023 F011 BEQ 0x0026
0024 9201 ST R0,Z+
0025 CFFB RJMP 0x0021
0026 8300 STD Z+0,R16
0027 E2EA LDI R30,0x2A
0028 E0F0 LDI R31,0
0029 E6A0 LDI R26,0x60
002A E0B0 LDI R27,0
002B E010 LDI R17,0
002C 32EA CPI R30,0x2A
002D 07F1 CPC R31,R17
002E F021 BEQ 0x0033
002F 95C8 LPM
0030 9631 ADIW R30,1
0031 920D ST R0,X+
0032 CFF9 RJMP 0x002C
0033 D01A RCALL _main
_exit:
0034 CFFF RJMP _exit
FILE: E:\study\IccAvr\SPI\SlaverSpi.c
(0001) #include "io8535V.h"
(0002) #include "macros.h"
(0003)
(0004) void delay()
(0005) {
(0006) unsigned int i;
(0007) for(i=0;i<0xff;i++);
_delay:
i --> R16
0035 2700 CLR R16
0036 2711 CLR R17
0037 C002 RJMP 0x003A
0038 5F0F SUBI R16,0xFF
0039 4F1F SBCI R17,0xFF
003A 3F0F CPI R16,0xFF
003B E0E0 LDI R30,0
003C 071E CPC R17,R30
003D F3D0 BCS 0x0038
003E 9508 RET
_Spi_fun:
i --> R16
003F 922A ST R2,-Y
0040 930A ST R16,-Y
0041 931A ST R17,-Y
0042 B62F IN R2,0x3F
0043 922A ST R2,-Y
(0008) }
(0009) #pragma interrupt_handler Spi_fun:11
(0010)
(0011) void Spi_fun()
(0012) {
(0013) unsigned char i=0;
0044 2700 CLR R16
(0014) PORTA=i++;
0045 2E20 MOV R2,R16
0046 5F0F SUBI R16,0xFF
0047 BA2B OUT 0x1B,R2
0048 9029 LD R2,Y+
0049 BE2F OUT 0x3F,R2
004A 9119 LD R17,Y+
004B 9109 LD R16,Y+
004C 9029 LD R2,Y+
004D 9518 RETI
(0015) }
(0016) void main()
(0017) {
(0018) unsigned char j;
(0019)
(0020) DDRB=0X00;
_main:
j --> R20
004E 2422 CLR R2
004F BA27 OUT 0x17,R2
0050 C00B RJMP 0x005C
(0021) while(1)
(0022) {
(0023) for(j=1;j<255;j++)
0051 E041 LDI R20,1
0052 C007 RJMP 0x005A
(0024) {
(0025) SREG=0X80;
0053 E880 LDI R24,0x80
0054 BF8F OUT 0x3F,R24
(0026) SPCR=0XF7;
0055 EF87 LDI R24,0xF7
0056 B98D OUT 0x0D,R24
(0027) delay();
0057 DFDD RCALL _delay
(0028) SPDR=j;
FILE: <library>
0058 B94F OUT 0x0F,R20
0059 9543 INC R20
005A 3F4F CPI R20,0xFF
005B F3B8 BCS 0x0053
005C CFF4 RJMP 0x0051
005D 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -