📄 spi.lis
字号:
.module SPI.C
.area text(rom, con, rel)
0000 .dbfile E:\study\IccAvr\SPI\SPI.C
0000 .dbfunc e delay _delay fV
0000 ; i -> R16,R17
.even
0000 _delay::
0000 .dbline -1
0000 .dbline 5
0000 ; #include "io8535V.h"
0000 ; #include "macros.h"
0000 ;
0000 ; void delay()
0000 ; {
0000 .dbline 7
0000 0027 clr R16
0002 1127 clr R17
0004 02C0 rjmp L5
0006 L2:
0006 .dbline 7
0006 L3:
0006 .dbline 7
0006 0F5F subi R16,255 ; offset = 1
0008 1F4F sbci R17,255
000A L5:
000A .dbline 7
000A ; unsigned int i;
000A ; for(i=0;i<0xff;i++);
000A 0F3F cpi R16,255
000C E0E0 ldi R30,0
000E 1E07 cpc R17,R30
0010 D0F3 brlo L2
0012 .dbline -2
0012 L1:
0012 .dbline 0 ; func end
0012 0895 ret
0014 .dbsym r i 16 i
0014 .dbend
.area vector(rom, abs)
.org 20
0014 0AC0 rjmp _Spi_fun
.area text(rom, con, rel)
0014 .dbfile E:\study\IccAvr\SPI\SPI.C
0014 .dbfunc e Spi_fun _Spi_fun fV
.even
0014 _Spi_fun::
0014 8A93 st -y,R24
0016 8FB7 in R24,0x3f
0018 8A93 st -y,R24
001A .dbline -1
001A .dbline 12
001A ; }
001A ; #pragma interrupt_handler Spi_fun:11
001A ;
001A ; void Spi_fun()
001A ; {
001A .dbline 13
001A ; DDRA=0XFF;
001A 8FEF ldi R24,255
001C 8ABB out 0x1a,R24
001E .dbline 14
001E ; PORTA=0xaa;
001E 8AEA ldi R24,170
0020 8BBB out 0x1b,R24
0022 .dbline -2
0022 L6:
0022 8991 ld R24,y+
0024 8FBF out 0x3f,R24
0026 8991 ld R24,y+
0028 .dbline 0 ; func end
0028 1895 reti
002A .dbend
002A .dbfunc e main _main fV
002A ; j -> R20
.even
002A _main::
002A .dbline -1
002A .dbline 18
002A ; }
002A ;
002A ; void main()
002A ; {
002A .dbline 21
002A ; unsigned char j;
002A ;
002A ; DDRB=0XFF;
002A 8FEF ldi R24,255
002C 87BB out 0x17,R24
002E .dbline 22
002E ; PORTB=0XFF;
002E 88BB out 0x18,R24
0030 .dbline 24
0030 ;
0030 ; DDRC=0XFF;
0030 84BB out 0x14,R24
0032 .dbline 25
0032 ; PORTC=0XFF;
0032 85BB out 0x15,R24
0034 .dbline 27
0034 ;
0034 ; for(j=0;j<128;j++)
0034 4427 clr R20
0036 07C0 rjmp L11
0038 L8:
0038 .dbline 28
0038 .dbline 29
0038 80E8 ldi R24,128
003A 8FBF out 0x3f,R24
003C .dbline 30
003C 87EF ldi R24,247
003E 8DB9 out 0xd,R24
0040 .dbline 31
0040 DFDF rcall _delay
0042 .dbline 32
0042 4FB9 out 0xf,R20
0044 .dbline 33
0044 L9:
0044 .dbline 27
0044 4395 inc R20
0046 L11:
0046 .dbline 27
0046 4038 cpi R20,128
0048 B8F3 brlo L8
004A .dbline 35
004A ; {
004A ; SREG=0X80;
004A ; SPCR=0XF7;
004A ; delay();
004A ; SPDR=j;
004A ; }
004A ;
004A ; DDRB=0XBF;
004A 8FEB ldi R24,191
004C 87BB out 0x17,R24
004E .dbline 36
004E ; PORTB=0XFF;
004E 8FEF ldi R24,255
0050 88BB out 0x18,R24
0052 .dbline 37
0052 ; for(j=0;j<128;j++)
0052 4427 clr R20
0054 0AC0 rjmp L15
0056 L12:
0056 .dbline 38
0056 .dbline 39
0056 2224 clr R2
0058 2FBE out 0x3f,R2
005A .dbline 40
005A 2DB8 out 0xd,R2
005C .dbline 41
005C 2EB8 out 0xe,R2
005E .dbline 42
005E D0DF rcall _delay
0060 .dbline 43
0060 26B2 in R2,0x16
0062 2FB8 out 0xf,R2
0064 .dbline 44
0064 2FB0 in R2,0xf
0066 25BA out 0x15,R2
0068 .dbline 45
0068 L13:
0068 .dbline 37
0068 4395 inc R20
006A L15:
006A .dbline 37
006A 4038 cpi R20,128
006C A0F3 brlo L12
006E .dbline -2
006E L7:
006E .dbline 0 ; func end
006E 0895 ret
0070 .dbsym r j 20 c
0070 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -