📄 spi.lis
字号:
.module spi.c
.area text(rom, con, rel)
0000 .dbfile C:\DOCUME~1\www\桌面\motor_ce\spi.c
0000 .dbfunc e Spi_Init _Spi_Init fV
.even
0000 _Spi_Init::
0000 .dbline -1
0000 .dbline 4
0000 ; #include "includes.h"
0000 ;
0000 ; void Spi_Init(void)
0000 ; {
0000 .dbline 5
0000 ; SPCR = (1<<SPE)|(1<<MSTR)|(1<<SPR0);; //setup SPI
0000 81E5 ldi R24,81
0002 8DB9 out 0xd,R24
0004 .dbline 5
0004 .dbline 6
0004 ; SPSR = 0x00; //setup SPI
0004 2224 clr R2
0006 2EB8 out 0xe,R2
0008 .dbline -2
0008 L1:
0008 .dbline 0 ; func end
0008 0895 ret
000A .dbend
000A .dbfunc e Spi_Byte_Tx _Spi_Byte_Tx fV
000A ; cdata -> R16
.even
000A _Spi_Byte_Tx::
000A .dbline -1
000A .dbline 9
000A ; }
000A ; void Spi_Byte_Tx(unsigned char cdata)
000A ; {
000A .dbline 10
000A ; SPDR=cdata;
000A 0FB9 out 0xf,R16
000C L3:
000C .dbline 12
000C .dbline 12
000C L4:
000C .dbline 11
000C ; while(!(SPSR&(1<<SPIF)))
000C 779B sbis 0xe,7
000E FECF rjmp L3
0010 .dbline -2
0010 L2:
0010 .dbline 0 ; func end
0010 0895 ret
0012 .dbsym r cdata 16 c
0012 .dbend
0012 .dbfunc e Spi_Port_Init _Spi_Port_Init fV
.even
0012 _Spi_Port_Init::
0012 .dbline -1
0012 .dbline 15
0012 ; {}
0012 ; }
0012 ; void Spi_Port_Init(void)
0012 ; {
0012 .dbline 16
0012 ; DDRB = 0xFF;
0012 8FEF ldi R24,255
0014 87BB out 0x17,R24
0016 .dbline 17
0016 ; PORTB = 0xff;//PB4=1,AVR为主机,且MOSI输出
0016 88BB out 0x18,R24
0018 .dbline -2
0018 L6:
0018 .dbline 0 ; func end
0018 0895 ret
001A .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -