1.подключил в протеусе через SPI интерфейс
2.стал писать программу в блокноте:
Код: Выделить всё
.include "C:\Appnotes\m8def.inc"
.def Temp=R16
.cseg
.org 0
SPI_MasterInit:
; Set MOSI and SCK output, all others input
ldi r17,(1<<DD_MOSI)|(1<<DD_SCK)
out DDR_SPI,r17
; Enable SPI, Master, set clock rate fck/16
ldi r17,(1<<SPE)|(1<<MSTR)|(1<<SPR0)
out SPCR,r17
ret
SPI_MasterTransmit:
; Start transmission of data (r16)
out SPDR,Temp
Wait_Transmit:
; Wait for transmission complete
sbis SPSR,SPIF
rjmp Wait_Transmit
ret
ldi Temp,11111111
rjmp SPI_MasterTransmit
ldi Temp,11111111
rjmp SPI_MasterTransmit
ldi Temp,11111111
rjmp SPI_MasterTransmit
ldi Temp,11111111
rjmp SPI_MasterTransmit
ldi Temp,11111111
rjmp SPI_MasterTransmit
ldi Temp,11111111
rjmp SPI_MasterTransmit4.Ошибки:
DD_MOSI DDR_SPI не прописаны в файле с инструкциями
остальные 6 ошибок связаны с out of range ldi Temp,11111111
Парни,помогите прописать не достающих DD_MOSI DDR_SPI и расскажите почему происходит Out of range
P.S извините за нубский вопрос и за говно код,просто хочу сначала разобраться а потом делать норм код.(я знаю,что код нерабочий)


