1 | ;---------------------------------------------------------------------------------
|
2 | ;Das lang ersehnte nie ereichte ops_atmega8 Betriebssystem
|
3 | ;Basis Betriebssystem
|
4 | ;---------------------------------------------------------------------------------
|
5 |
|
6 |
|
7 | .include "m8def.inc"
|
8 |
|
9 | ;Hardwareeinstellungen
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 | ;Ram
|
16 | .dseg
|
17 | .org 0x60
|
18 |
|
19 |
|
20 | ;EEProm
|
21 | .eseg
|
22 |
|
23 |
|
24 | ;Programm
|
25 |
|
26 | .cseg
|
27 | .org 0x00
|
28 |
|
29 | rjmp RESET ; Reset Handler
|
30 | rjmp EXT_INT0 ; IRQ0 Handler
|
31 | rjmp EXT_INT1 ; IRQ1 Handler
|
32 | rjmp TIM2_COMP ; Timer 2 Compare Handler
|
33 | rjmp TIM2_OVF ; Timer 2 Overflow Handler
|
34 | rjmp TIM1_CAPT ; Timer 1 Capture Handler
|
35 | rjmp TIM1_COMPA ; Timer 1 CompareA Handler
|
36 | rjmp TIM1_COMPB ; Timer 1 CompareB Handler
|
37 | rjmp TIM1_OVF ; Timer 1 Overflow Handler
|
38 | rjmp TIM0_OVF ; Timer 0 Overflow Handler
|
39 | rjmp SPI_STC ; SPI Transfer Complete Handler
|
40 | rjmp USART_RXC ; USART TX Complete Handler
|
41 | rjmp USART_UDRE ; UDR Empty Handler
|
42 | rjmp USART_TXC ; Usart TX Complete Handler
|
43 | rjmp ADC_COMPLETE ; ADC Conversion Complete Handler
|
44 | rjmp EE_RDY ; EEprom Ready Handler
|
45 | rjmp ANA_COMP ; Analog Comparator Handler
|
46 | rjmp TWSI ; Two-Wire Serial Interface Handler
|
47 | rjmp SPM_RDY ; Store Programm Memory Ready Handler
|
48 |
|
49 |
|
50 | EXT_INT0: reti ; IRQ0 Handler
|
51 |
|
52 | EXT_INT1: reti ; IRQ1 Handler
|
53 |
|
54 | TIM2_COMP: reti ; Timer 2 Compare Handler
|
55 |
|
56 | TIM2_OVF: reti ; Timer 2 Overflow Handler
|
57 |
|
58 | TIM1_CAPT: reti ; Timer 1 Capture Handler
|
59 |
|
60 | TIM1_COMPA: reti ; Timer 1 CompareA Handler
|
61 |
|
62 | TIM1_COMPB: reti ; Timer 1 CompareB Handler
|
63 |
|
64 | TIM1_OVF: reti ; Timer 1 Overflow Handler
|
65 |
|
66 | TIM0_OVF: reti ; Timer 0 Overflow Handler
|
67 |
|
68 | SPI_STC: reti ; SPI Transfer Complete Handler
|
69 |
|
70 | USART_RXC: reti ; USART TX Complete Handler
|
71 |
|
72 | USART_UDRE: reti ; UDR Empty Handler
|
73 |
|
74 | USART_TXC: reti ; Usart TX Complete Handler
|
75 |
|
76 | ADC_COMPLETE: reti ; ADC Conversion Complete Handler
|
77 |
|
78 | EE_RDY: reti ; EEprom Ready Handler
|
79 |
|
80 | ANA_COMP: reti ; Analog Comparator Handler
|
81 |
|
82 | TWSI: reti ; Two-Wire Serial Interface Handler
|
83 |
|
84 | SPM_RDY: reti ; Store Programm Memory Ready Handler
|
85 |
|
86 |
|
87 |
|
88 | ;Programmstart
|
89 | ;Initialisierung
|
90 |
|
91 | RESET:
|
92 | ;Stack initialisieren
|
93 | ldi r16,low(RAMEND)
|
94 | out SPL,r16
|
95 | ldi r16,high(RAMEND)
|
96 | out SPH,r16
|
97 |
|
98 | ;Watchdog initialisieren
|
99 | ldi r16,0x08
|
100 | out WDTCR,r16
|
101 |
|
102 | ;Ports initialisieren
|
103 | ldi r16,0x00
|
104 | out DDRC,r16
|
105 |
|
106 | ldi r16,0x00
|
107 | out DDRD,r16
|
108 |
|
109 |
|
110 | ;AD-Wandler initialisieren
|
111 |
|
112 |
|
113 |
|
114 |
|
115 |
|
116 | HAUPTPROGRAMM:
|
117 |
|
118 |
|
119 | rjmp HAUPTPROGRAMM
|