changed to only send timer values on level change (first initial checkin)
[my-code/atmel.git] / monolyzer / port.asm
index 2e81611..d3ea524 100644 (file)
@@ -2,13 +2,11 @@
 
 PORT_INIT:
 
-       ; port b 0-7 -> input (useless, default)
-       ldi tmp1,0x00
-       out DDRB,tmp1
+       ; port d 2 -> input (useless, default)
+       cbi DDRD,2
 
-       ; switch pull-up off for inputs (useless, default)
-       ldi tmp1,0x00
-       out PORTB,tmp1
+       ; switch pull-up off (useless, default)
+       cbi DDRD,2
 
        ; port d pin 6 -> output
        sbi DDRD,6
@@ -16,11 +14,37 @@ PORT_INIT:
        ; port d pin 6 -> high
        cbi PORTD,6
 
-       ; port d 2 -> output (debug 1)
-       sbi DDRD,2
-
        ; port d 3 -> output (debug 2)
        sbi DDRD,3
 
        ret
 
+
+INT0_IR_CONF:
+
+       ; trigger interrupt on falling and rising edge
+       in tmp1,MCUCR
+       cbr tmp1,(1<<ISC01)
+       sbr tmp1,(1<<ISC00)
+       out MCUCR,tmp1
+
+       ret
+
+INT0_IR_ENABLE:
+
+       ; enable interrupt
+       in tmp1,GIMSK
+       sbr tmp1,(1<<INT0)
+       out GIMSK,tmp1
+
+       ret
+
+INT0_IR_DISABLE:
+
+       ; disable interrupt
+       in tmp1,GIMSK
+       cbr tmp1,(1<<INT0)
+       out GIMSK,tmp1
+
+       ret
+