arrrrgh!
[my-code/atmel.git] / monolyzer / port.asm
1 ; port functions
2
3 PORT_INIT:
4
5         ; port d 2 -> input (useless, default)
6         cbi DDRD,2
7
8         ; switch pull-up off (useless, default)
9         cbi PORTD,2
10
11         ; port d pin 6 -> output
12         sbi DDRD,6
13
14         ; port d pin 6 -> high
15         cbi PORTD,6
16
17         ; port d 3 -> output (debug 2)
18         sbi DDRD,3
19
20         ret
21
22 INT0_IR_CONF_R:
23
24         ; trigger interrupt on rising edge
25         in tmp1,MCUCR
26         sbr tmp1,(1<<ISC01)
27         sbr tmp1,(1<<ISC00)
28         out MCUCR,tmp1
29
30         ret
31
32 INT0_IR_CONF_F:
33
34         ; trigger interrupt on rising edge
35         in tmp1,MCUCR
36         sbr tmp1,(1<<ISC01)
37         cbr tmp1,(1<<ISC00)
38         out MCUCR,tmp1
39
40         ret
41
42 INT0_IR_CONF_FR:
43
44         ; trigger interrupt on falling and rising edge
45         in tmp1,MCUCR
46         cbr tmp1,(1<<ISC01)
47         sbr tmp1,(1<<ISC00)
48         out MCUCR,tmp1
49
50         ret
51
52 INT0_IR_ENABLE:
53
54         ; enable interrupt
55         in tmp1,GIMSK
56         sbr tmp1,(1<<INT0)
57         out GIMSK,tmp1
58
59         ret
60
61 INT0_IR_DISABLE:
62
63         ; disable interrupt
64         in tmp1,GIMSK
65         cbr tmp1,(1<<INT0)
66         out GIMSK,tmp1
67
68         ret
69