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