📄 spi.lis
字号:
.module SPI.c
.area text(rom, con, rel)
0000 .dbfile E:\ICC\SPI\SPI.c
0000 .dbfunc e Spi_init _Spi_init fV
.even
0000 _Spi_init::
0000 .dbline -1
0000 .dbline 10
0000 ; #include <iom8v.h>
0000 ; #include "uart.h"
0000 ; #include "mytype.h"
0000 ; #include "spi.h"
0000 ;
0000 ;
0000 ; extern uint8 table[];
0000 ;
0000 ; void Spi_init(void)
0000 ; {
0000 .dbline 11
0000 ; DDR1=((1<<WP)|(1<<SO)|(1<<SCLK)|(1<<CS));
0000 8EE2 ldi R24,46
0002 87BB out 0x17,R24
0004 .dbline 12
0004 ; SPCR=((1<<SPE)|(1<<MSTR)|(1<<SPR0));
0004 81E5 ldi R24,81
0006 8DB9 out 0xd,R24
0008 .dbline 13
0008 ; WP_1;
0008 C19A sbi 0x18,1
000A .dbline -2
000A L1:
000A .dbline 0 ; func end
000A 0895 ret
000C .dbend
000C .dbfunc e Spi_MT _Spi_MT fV
000C ; data -> R16
.even
000C _Spi_MT::
000C .dbline -1
000C .dbline 17
000C ; }
000C ;
000C ; void Spi_MT(uint8 data)
000C ; {
000C .dbline 18
000C ; SPDR=data;
000C 0FB9 out 0xf,R16
000E L3:
000E .dbline 19
000E L4:
000E .dbline 19
000E ; while(!(SPSR&(1<<SPIF)));
000E 779B sbis 0xe,7
0010 FECF rjmp L3
0012 .dbline -2
0012 L2:
0012 .dbline 0 ; func end
0012 0895 ret
0014 .dbsym r data 16 c
0014 .dbend
0014 .dbfunc e Spi_MR _Spi_MR fc
0014 ; data -> R16
.even
0014 _Spi_MR::
0014 .dbline -1
0014 .dbline 23
0014 ; }
0014 ;
0014 ; uint8 Spi_MR()
0014 ; {
0014 .dbline 25
0014 ; uint8 data;
0014 ; data=SPDR;
0014 0FB1 in R16,0xf
0016 .dbline 26
0016 ; SPDR=data;
0016 0FB9 out 0xf,R16
0018 L7:
0018 .dbline 27
0018 L8:
0018 .dbline 27
0018 ; while(!(SPSR&(1<<SPIF)));
0018 779B sbis 0xe,7
001A FECF rjmp L7
001C .dbline 31
001C ; //Prints("Get data Readdata...",1);
001C ; //Send_abyte(table[SPDR/16]);
001C ; //Send_abyte(table[SPDR/16]);
001C ; return SPDR;
001C 0FB1 in R16,0xf
001E .dbline -2
001E L6:
001E .dbline 0 ; func end
001E 0895 ret
0020 .dbsym r data 16 c
0020 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -