X-Git-Url: https://hackdaworld.org/gitweb/?p=my-code%2Fatmel.git;a=blobdiff_plain;f=beginners%2Ftest_int.asm;h=bb01a4129922d19813c5071abbe31231aec3115f;hp=0b55959bd661ca224e38fdf0de535759f4e240d6;hb=4a03344b41c8180001804c6258a1bcbfad4f186d;hpb=86082e25655b8dc9f167b756b45df84e7d1520ff diff --git a/beginners/test_int.asm b/beginners/test_int.asm index 0b55959..bb01a41 100644 --- a/beginners/test_int.asm +++ b/beginners/test_int.asm @@ -1,7 +1,7 @@ ; -; portd 3-7 blinken lights ;) +; portd 3-7 lauflicht mit UART-RX masked byte anzeige ; -; author: hackbard@hackdaworld.dyndns.org +; by Hunz ;) ; .include "../include/2313def.inc" @@ -22,7 +22,7 @@ reti reti ; T1 OVF1 -reti +rjmp T1_OVF1 ; T0 OVF0 reti @@ -39,26 +39,65 @@ reti ; ANA_COMP reti +T1_OVF1: +; toggle LED +out DDRD, r17 +; next LED +rol r17 +; skip next operation if beyond last LED +sbrs r17, 7 +reti ; we return if not beyond last LED +; reset LED counter to first LED +ldi r17, 4 +reti + UART_RX: +; read received byte to r16 in r16, UDR +; mask with valid LED bits andi r16, $7C +; echo masked byte out UDR, r16 +; set LEDs according to masked byte out DDRD, r16 reti INIT: +; Stackpointer setzen ldi r16, Low(RAMEND) out SPL, r16 ; baudrate einstellen ldi r16, 11 ; "38400 bps wert" in r16 out UBRR, r16 ; write to uart baudrate register -sbi UCR, (RXEN|TXEN|RXCIE) ; enable tx at uart control register +; enable TX, RX, Interrupt on RX +ldi r16, ((1<