;
;HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
; Headerdatei
;HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
;Der ATmega8L laeuft mit 1,8418432 MHz und wird an 3,3V betrieben.
;
;Ein Wii Nunchuk (I2C mit 100kHz ) wird dazu benutzt mittels des Motrotreibers 
;L298N, 5 Gleichstrommotoren und deren Bremsen, sowie ein Ventil zu steuern. 
;Eine Programmlaufanzeige-LED ( PLA ) signalisiert durch blinken den Programm-
;lauf. 
;
;Eine Debugroutine sendet pro Tasterbetaetigung ( GND-Schaltend ) ein Byte
;per interruptbetriebener USART an ein Terminalprogramm (MAX3232 verwenden).
;
;
;CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
; Einbinden der Controllerspezifischen Definitionsdatei
;CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
;
.NOLIST                 ;List-Output ausschalten
.INCLUDE "m8def.inc"    ;AVR-Definitionsdatei einbinden
.LIST                   ;List-Output wieder einschalten
;
;RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
;RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
; Arbeitsregister umbenennen
;RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
;RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
;
;.DEF        = r0        ;
;.DEF        = r1        ;
;.DEF        = r2        ;
;.DEF        = r3        ;
;.DEF        = r4        ;
;.DEF        = r5        ;
;.DEF        = r6        ;
;.DEF        = r7        ;
;.DEF        = r8        ;
;.DEF        = r9        ;
;.DEF        = r10       ;
.DEF ovf0_zaehler	  = r11		;Timer0 Overflow-Zaehler
.DEF udr_char         = r12     ;Zu sendendes Zeichen
.DEF char_dummy       = r13     ;Dummy für zu sendede Zeichen
;.DEF        = r14     ;
.DEF s_sreg           = r15     ;Zum Sichern des Statusregisters ( Nur 1 Takt )

.DEF a       = r16      ;Arbeitsregister Low- Byte
.DEF b       = r17      ;Arbeitsregister High-Byte
.DEF anz_char    = r18       ;Anzahl der Bytes die .gesendet werden sollen
.DEF flag_reg    = r19       ;Allgemeines Flaggenregister
;.DEF        = r18       ;
;.DEF        = r19       ;
;.DEF        = r18       ;
;.DEF        = r19       ;
;.DEF        = r18       ;
;.DEF        = r19       ;
;.DEF        = r20       ;
.DEF key_reg = r21       ;Fuer die Tasterentprellung
.DEF ia       = r22     ;Interrupt Arbeitsregister a ( Nur in ISR genutzt )
.DEF ib       = r23     ;Interrupt Arbeitsregister b ( Nur in ISR genutzt )

.DEF wl     = r24       ;Register 24 und 25 dienen als universelles
.DEF wh     = r25       ;Doppelregister W wie Work
;.DEF xl     = r26       ;
;.DEF xh     = r27       ;
;.DEF yl     = r28       ;
;.DEF yh     = r29       ;
;.DEF zl     = r30       ;
;.DEF zh     = r31       ;
;
;KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
;KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
; Konstanten als Symbole
;KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
;KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
; 
.EQU #anz_char	    = $06		;Wert f. die Anzahl der zu sendenden Zeichen 
.EQU #ovf0_zaehler	= 4			;Wert f. Timer0 Overflowzaehler

.EQU #ubrr			= 2			;Wert f. USART Baudrate 38400 Baud

.EQU #twbr			= 2			;Wert f. TWI SCL-Frequenz 
.EQU #twi_start		= 1<<TWINT|1<<TWSTA|1<<TWEN|1<<TWIE	    ;TWI-START-Bedingung
.EQU #rm_twi_start	= $08		;Rueckmeldung. Das Startsignal wurde gesendet
;
;Bitbezeichner fuer das allgemeine Flaggenregister flag_reg
;
;.equ			= 0	;
;.equ			= 1	;
;.equ			= 2	;
;.equ			= 3	;
.equ	pla.flg		= 4	;Programmlaufanzeige-Flagge
;.equ		= 5	;
.equ	new.char	= 6	; Neues Zeichen
;.equ		= 7	; 
;
;Bitbezeichner fuer das Tasterentprellregister key_reg
;
;.equ			= 0	;
;.equ			= 1	;
.equ  key.unactuated	= 2	;Taster entprellt unbetaetigt
.equ  key.actuated		= 3	;Taster entprellt betaetigt
;.equ			= 4	;
;.equ	= 5	;
;.equ	= 6	; 
;.equ		= 7	; 