Kod: Markera allt
.include "m8535def.inc"
.def temp=r16
;Initiera stackpekaren:
ldi temp, HIGH(RAMEND)
out sph, temp
ldi temp, LOW(RAMEND)
out spl, temp
reset:
rcall USART_Init
back:
ldi ZH, HIGH(str1*2)
ldi ZL, LOW(str1*2)
main:
lpm temp, Z+
cpi temp, 0x00
breq back
rcall USART_Transmit
rjmp main
USART_Init:
ldi temp, 23
out UBRRL, temp
clr temp
out UBRRH, temp
ldi temp, (1<<RXEN)|(1<<TXEN)
out UCSRB, temp
ldi r16, (1<<URSEL)|(1<<USBS)|(3<<UCSZ0)
out UCSRC, temp
ret
USART_Transmit:
; Wait for empty transmit buffer
sbis UCSRA, UDRE
rjmp USART_Transmit
; Put data (r16) into buffer, sends the data
out UDR, r16
ret
str1:
.db "Hello :)",'0'
