; Titel : ;------------------------------------------------------------------------- ; Funktion : ; Schaltung : ;------------------------------------------------------------------------- ; Prozessor : ATmega8 ; Takt : 3686400 Hz ; Sprache : Assembler (GNU) ; Datum : 6.7.2010 ; Version : 1.0 ; Autor : ; Programmer: ; Port : ;------------------------------------------------------------------------- ; created by myAVR-CodeWizard ;------------------------------------------------------------------------- .equ F_CPU, 3686400 .include "AVR.H" begin: rjmp main reti reti reti reti reti reti reti reti reti reti reti reti reti rcall onADC reti reti reti reti ;------------------------------------------------------------------------ ; Initialisierungen ;------------------------------------------------------------------------ main: ;--- Stack Initialisierung --- ldi r16,hi8(RAMEND) out SPH,r16 ldi r16,lo8(RAMEND) out SPL,r16 ; UART initialisieren sbi UCSRB,3 ;USR=UCSRB=0x0A TXEN=Bit3 TX aktivieren ldi r16,3686400/(9600*16)-1 ;Baudrate 9600 einstellen out UBRRL,r16 ; ADC initialisieren cbi DDRC,0 ldi r16,0b01000000 out ADMUX,r16 ldi r25,0b11011101 out ADCSRA,r25 sei ;------------------------------------------------------------------------ ; Hauptprogramm-Schleife ;------------------------------------------------------------------------ mainloop: rjmp putChar rjmp mainloop putChar: sbis UCSRA,5 ;USR=UCSRA=0x0B UDRE=Bit5 rjmp putChar ;warten, bis UDR bereit out UDR,r25 ret ;ADC: onADC: cli in r26,ADCL in r27,ADCH asr r27 ror r26 asr r27 ror r26 mov r25,r26 sbi ADCSRA,6 sei reti