📄 spi.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 D016 RCALL _main
_exit:
0034 CFFF RJMP _exit
FILE: E:\study\IccAvr\SPI\SPI.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:
003F 938A ST R24,-Y
0040 B78F IN R24,0x3F
0041 938A ST R24,-Y
(0008) }
(0009) #pragma interrupt_handler Spi_fun:11
(0010)
(0011) void Spi_fun()
(0012) {
(0013) DDRA=0XFF;
0042 EF8F LDI R24,0xFF
0043 BB8A OUT 0x1A,R24
(0014) PORTA=0xaa;
0044 EA8A LDI R24,0xAA
0045 BB8B OUT 0x1B,R24
0046 9189 LD R24,Y+
0047 BF8F OUT 0x3F,R24
0048 9189 LD R24,Y+
0049 9518 RETI
(0015) }
(0016)
(0017) void main()
(0018) {
(0019) unsigned char j;
(0020)
(0021) DDRB=0XFF;
_main:
j --> R20
004A EF8F LDI R24,0xFF
004B BB87 OUT 0x17,R24
(0022) PORTB=0XFF;
004C BB88 OUT 0x18,R24
(0023)
(0024) DDRC=0XFF;
004D BB84 OUT 0x14,R24
(0025) PORTC=0XFF;
004E BB85 OUT 0x15,R24
(0026)
(0027) for(j=0;j<128;j++)
004F 2744 CLR R20
0050 C007 RJMP 0x0058
(0028) {
(0029) SREG=0X80;
0051 E880 LDI R24,0x80
0052 BF8F OUT 0x3F,R24
(0030) SPCR=0XF7;
0053 EF87 LDI R24,0xF7
0054 B98D OUT 0x0D,R24
(0031) delay();
0055 DFDF RCALL _delay
(0032) SPDR=j;
0056 B94F OUT 0x0F,R20
0057 9543 INC R20
0058 3840 CPI R20,0x80
0059 F3B8 BCS 0x0051
(0033) }
(0034)
(0035) DDRB=0XBF;
005A EB8F LDI R24,0xBF
005B BB87 OUT 0x17,R24
(0036) PORTB=0XFF;
005C EF8F LDI R24,0xFF
005D BB88 OUT 0x18,R24
(0037) for(j=0;j<128;j++)
005E 2744 CLR R20
005F C00A RJMP 0x006A
(0038) {
(0039) SREG=0X00;
0060 2422 CLR R2
0061 BE2F OUT 0x3F,R2
(0040) SPCR=0X00;
0062 B82D OUT 0x0D,R2
(0041) SPSR=0X00;
0063 B82E OUT 0x0E,R2
(0042) delay();
0064 DFD0 RCALL _delay
(0043) SPDR=PINB;
0065 B226 IN R2,0x16
0066 B82F OUT 0x0F,R2
(0044) PORTC=SPDR;
FILE: <library>
0067 B02F IN R2,0x0F
0068 BA25 OUT 0x15,R2
0069 9543 INC R20
006A 3840 CPI R20,0x80
006B F3A0 BCS 0x0060
006C 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -