; ******************************************************
; BASIC .ASM template file for AVR
; ******************************************************
.include "C:\VMLAB\include13def.inc"
; Define here the variables
;
.def temp =r16
; Hier ist mein Timer-Interrupt definiert
;
reset:
rjmp start
reti ; Addr
reti ; Addr
reti ; Addr
reti ; Addr
reti ; Addr
rjmp ledblink ; Addr Mein Timer-Interrupt
(Overflow0 Interrupt Adress)
der zu der Blink-Routine
verweist
reti ; Addr
reti ; Addr
reti ; Addr
reti ; Addr [1code]
; ******************************************************
; BASIC .ASM template file for AVR
; ******************************************************
.include "C:\VMLAB\include\2313def.inc"
; Define here the variables
;
.def temp =r16
; Hier ist mein Timer-Interrupt definiert
;
reset:
rjmp start
reti ; Addr $01
reti ; Addr $02
reti ; Addr $03
reti ; Addr $04
reti ; Addr $05
rjmp ledblink ; Addr $06 Mein Timer-Interrupt
(Overflow0 Interrupt Adress)
der zu der Blink-Routine
verweist
reti ; Addr $07
reti ; Addr $08
reti ; Addr $09
reti ; Addr $0A
reti ; Addr $0B
reti ; Addr $0C
reti ; Addr $0D
reti ; Addr $0E
reti ; Addr $0F
reti ; Addr $10
; Program starts here after Reset
;
start:
ldi R24, RAMEND ;Stackpointer initialisieren
out SPL, R24
ldi r18, 0xFF ; Wert um den Port später mit Exclusive Or
; zu "toggeln"
ldi r17, 0x00 ; Anfangs-Muster der LEDs
ldi temp, 0xFF ; Datenrichtungsregister von PORTB auf
; Ausgang setzen
out DDRB, r16
; 8-Bit-Timer
ldi temp, 0b0000101 ; Timer auf auf Clock-Teiler 1024 einstellen
out TCCR0, temp
ldi temp, 61 ; Timer 0 auf 195 einstellen (50ms bei
; 4 MHz)
out TCNT0, temp
ldi temp, 0b00000010 ; Timer 0 Interrupt initialisieren
out TIMSK, temp
sei ; Interrupts allgemein aktivieren
loop:
; Hier läuft normalerweise das Hauptprogramm
rjmp loop
; Das ist meine Interrupt-Routine die die LED blinken lässt
ledblink:
eor r17, r18 ; ein Exclusive OR mit
; r18=0b11111111 sorgt
; dafür, dass der
; Port-B "toggelt"
out PORTB, r17
; Hier wird der Timer wieder auf seinen "Countdown-Wert" gesetzt
ldi temp, 61 ; Timer 0 auf 195 einstellen
; (50 ms bei 4 Mhz)
out TCNT0, temp
reti ; das Ganze beginnt wieder von neuem
[/code1]A
reti ; Addr [1code]
; ******************************************************
; BASIC .ASM template file for AVR
; ******************************************************
.include "C:\VMLAB\include\2313def.inc"
; Define here the variables
;
.def temp =r16
; Hier ist mein Timer-Interrupt definiert
;
reset:
rjmp start
reti ; Addr $01
reti ; Addr $02
reti ; Addr $03
reti ; Addr $04
reti ; Addr $05
rjmp ledblink ; Addr $06 Mein Timer-Interrupt
(Overflow0 Interrupt Adress)
der zu der Blink-Routine
verweist
reti ; Addr $07
reti ; Addr $08
reti ; Addr $09
reti ; Addr $0A
reti ; Addr $0B
reti ; Addr $0C
reti ; Addr $0D
reti ; Addr $0E
reti ; Addr $0F
reti ; Addr $10
; Program starts here after Reset
;
start:
ldi R24, RAMEND ;Stackpointer initialisieren
out SPL, R24
ldi r18, 0xFF ; Wert um den Port später mit Exclusive Or
; zu "toggeln"
ldi r17, 0x00 ; Anfangs-Muster der LEDs
ldi temp, 0xFF ; Datenrichtungsregister von PORTB auf
; Ausgang setzen
out DDRB, r16
; 8-Bit-Timer
ldi temp, 0b0000101 ; Timer auf auf Clock-Teiler 1024 einstellen
out TCCR0, temp
ldi temp, 61 ; Timer 0 auf 195 einstellen (50ms bei
; 4 MHz)
out TCNT0, temp
ldi temp, 0b00000010 ; Timer 0 Interrupt initialisieren
out TIMSK, temp
sei ; Interrupts allgemein aktivieren
loop:
; Hier läuft normalerweise das Hauptprogramm
rjmp loop
; Das ist meine Interrupt-Routine die die LED blinken lässt
ledblink:
eor r17, r18 ; ein Exclusive OR mit
; r18=0b11111111 sorgt
; dafür, dass der
; Port-B "toggelt"
out PORTB, r17
; Hier wird der Timer wieder auf seinen "Countdown-Wert" gesetzt
ldi temp, 61 ; Timer 0 auf 195 einstellen
; (50 ms bei 4 Mhz)
out TCNT0, temp
reti ; das Ganze beginnt wieder von neuem
[/code1]B
reti ; Addr [1code]
; ******************************************************
; BASIC .ASM template file for AVR
; ******************************************************
.include "C:\VMLAB\include\2313def.inc"
; Define here the variables
;
.def temp =r16
; Hier ist mein Timer-Interrupt definiert
;
reset:
rjmp start
reti ; Addr $01
reti ; Addr $02
reti ; Addr $03
reti ; Addr $04
reti ; Addr $05
rjmp ledblink ; Addr $06 Mein Timer-Interrupt
(Overflow0 Interrupt Adress)
der zu der Blink-Routine
verweist
reti ; Addr $07
reti ; Addr $08
reti ; Addr $09
reti ; Addr $0A
reti ; Addr $0B
reti ; Addr $0C
reti ; Addr $0D
reti ; Addr $0E
reti ; Addr $0F
reti ; Addr $10
; Program starts here after Reset
;
start:
ldi R24, RAMEND ;Stackpointer initialisieren
out SPL, R24
ldi r18, 0xFF ; Wert um den Port später mit Exclusive Or
; zu "toggeln"
ldi r17, 0x00 ; Anfangs-Muster der LEDs
ldi temp, 0xFF ; Datenrichtungsregister von PORTB auf
; Ausgang setzen
out DDRB, r16
; 8-Bit-Timer
ldi temp, 0b0000101 ; Timer auf auf Clock-Teiler 1024 einstellen
out TCCR0, temp
ldi temp, 61 ; Timer 0 auf 195 einstellen (50ms bei
; 4 MHz)
out TCNT0, temp
ldi temp, 0b00000010 ; Timer 0 Interrupt initialisieren
out TIMSK, temp
sei ; Interrupts allgemein aktivieren
loop:
; Hier läuft normalerweise das Hauptprogramm
rjmp loop
; Das ist meine Interrupt-Routine die die LED blinken lässt
ledblink:
eor r17, r18 ; ein Exclusive OR mit
; r18=0b11111111 sorgt
; dafür, dass der
; Port-B "toggelt"
out PORTB, r17
; Hier wird der Timer wieder auf seinen "Countdown-Wert" gesetzt
ldi temp, 61 ; Timer 0 auf 195 einstellen
; (50 ms bei 4 Mhz)
out TCNT0, temp
reti ; das Ganze beginnt wieder von neuem
[/code1]C
reti ; Addr [1code]
; ******************************************************
; BASIC .ASM template file for AVR
; ******************************************************
.include "C:\VMLAB\include\2313def.inc"
; Define here the variables
;
.def temp =r16
; Hier ist mein Timer-Interrupt definiert
;
reset:
rjmp start
reti ; Addr $01
reti ; Addr $02
reti ; Addr $03
reti ; Addr $04
reti ; Addr $05
rjmp ledblink ; Addr $06 Mein Timer-Interrupt
(Overflow0 Interrupt Adress)
der zu der Blink-Routine
verweist
reti ; Addr $07
reti ; Addr $08
reti ; Addr $09
reti ; Addr $0A
reti ; Addr $0B
reti ; Addr $0C
reti ; Addr $0D
reti ; Addr $0E
reti ; Addr $0F
reti ; Addr $10
; Program starts here after Reset
;
start:
ldi R24, RAMEND ;Stackpointer initialisieren
out SPL, R24
ldi r18, 0xFF ; Wert um den Port später mit Exclusive Or
; zu "toggeln"
ldi r17, 0x00 ; Anfangs-Muster der LEDs
ldi temp, 0xFF ; Datenrichtungsregister von PORTB auf
; Ausgang setzen
out DDRB, r16
; 8-Bit-Timer
ldi temp, 0b0000101 ; Timer auf auf Clock-Teiler 1024 einstellen
out TCCR0, temp
ldi temp, 61 ; Timer 0 auf 195 einstellen (50ms bei
; 4 MHz)
out TCNT0, temp
ldi temp, 0b00000010 ; Timer 0 Interrupt initialisieren
out TIMSK, temp
sei ; Interrupts allgemein aktivieren
loop:
; Hier läuft normalerweise das Hauptprogramm
rjmp loop
; Das ist meine Interrupt-Routine die die LED blinken lässt
ledblink:
eor r17, r18 ; ein Exclusive OR mit
; r18=0b11111111 sorgt
; dafür, dass der
; Port-B "toggelt"
out PORTB, r17
; Hier wird der Timer wieder auf seinen "Countdown-Wert" gesetzt
ldi temp, 61 ; Timer 0 auf 195 einstellen
; (50 ms bei 4 Mhz)
out TCNT0, temp
reti ; das Ganze beginnt wieder von neuem
[/code1]D
reti ; Addr [1code]
; ******************************************************
; BASIC .ASM template file for AVR
; ******************************************************
.include "C:\VMLAB\include\2313def.inc"
; Define here the variables
;
.def temp =r16
; Hier ist mein Timer-Interrupt definiert
;
reset:
rjmp start
reti ; Addr $01
reti ; Addr $02
reti ; Addr $03
reti ; Addr $04
reti ; Addr $05
rjmp ledblink ; Addr $06 Mein Timer-Interrupt
(Overflow0 Interrupt Adress)
der zu der Blink-Routine
verweist
reti ; Addr $07
reti ; Addr $08
reti ; Addr $09
reti ; Addr $0A
reti ; Addr $0B
reti ; Addr $0C
reti ; Addr $0D
reti ; Addr $0E
reti ; Addr $0F
reti ; Addr $10
; Program starts here after Reset
;
start:
ldi R24, RAMEND ;Stackpointer initialisieren
out SPL, R24
ldi r18, 0xFF ; Wert um den Port später mit Exclusive Or
; zu "toggeln"
ldi r17, 0x00 ; Anfangs-Muster der LEDs
ldi temp, 0xFF ; Datenrichtungsregister von PORTB auf
; Ausgang setzen
out DDRB, r16
; 8-Bit-Timer
ldi temp, 0b0000101 ; Timer auf auf Clock-Teiler 1024 einstellen
out TCCR0, temp
ldi temp, 61 ; Timer 0 auf 195 einstellen (50ms bei
; 4 MHz)
out TCNT0, temp
ldi temp, 0b00000010 ; Timer 0 Interrupt initialisieren
out TIMSK, temp
sei ; Interrupts allgemein aktivieren
loop:
; Hier läuft normalerweise das Hauptprogramm
rjmp loop
; Das ist meine Interrupt-Routine die die LED blinken lässt
ledblink:
eor r17, r18 ; ein Exclusive OR mit
; r18=0b11111111 sorgt
; dafür, dass der
; Port-B "toggelt"
out PORTB, r17
; Hier wird der Timer wieder auf seinen "Countdown-Wert" gesetzt
ldi temp, 61 ; Timer 0 auf 195 einstellen
; (50 ms bei 4 Mhz)
out TCNT0, temp
reti ; das Ganze beginnt wieder von neuem
[/code1]E
reti ; Addr [1code]
; ******************************************************
; BASIC .ASM template file for AVR
; ******************************************************
.include "C:\VMLAB\include\2313def.inc"
; Define here the variables
;
.def temp =r16
; Hier ist mein Timer-Interrupt definiert
;
reset:
rjmp start
reti ; Addr $01
reti ; Addr $02
reti ; Addr $03
reti ; Addr $04
reti ; Addr $05
rjmp ledblink ; Addr $06 Mein Timer-Interrupt
(Overflow0 Interrupt Adress)
der zu der Blink-Routine
verweist
reti ; Addr $07
reti ; Addr $08
reti ; Addr $09
reti ; Addr $0A
reti ; Addr $0B
reti ; Addr $0C
reti ; Addr $0D
reti ; Addr $0E
reti ; Addr $0F
reti ; Addr $10
; Program starts here after Reset
;
start:
ldi R24, RAMEND ;Stackpointer initialisieren
out SPL, R24
ldi r18, 0xFF ; Wert um den Port später mit Exclusive Or
; zu "toggeln"
ldi r17, 0x00 ; Anfangs-Muster der LEDs
ldi temp, 0xFF ; Datenrichtungsregister von PORTB auf
; Ausgang setzen
out DDRB, r16
; 8-Bit-Timer
ldi temp, 0b0000101 ; Timer auf auf Clock-Teiler 1024 einstellen
out TCCR0, temp
ldi temp, 61 ; Timer 0 auf 195 einstellen (50ms bei
; 4 MHz)
out TCNT0, temp
ldi temp, 0b00000010 ; Timer 0 Interrupt initialisieren
out TIMSK, temp
sei ; Interrupts allgemein aktivieren
loop:
; Hier läuft normalerweise das Hauptprogramm
rjmp loop
; Das ist meine Interrupt-Routine die die LED blinken lässt
ledblink:
eor r17, r18 ; ein Exclusive OR mit
; r18=0b11111111 sorgt
; dafür, dass der
; Port-B "toggelt"
out PORTB, r17
; Hier wird der Timer wieder auf seinen "Countdown-Wert" gesetzt
ldi temp, 61 ; Timer 0 auf 195 einstellen
; (50 ms bei 4 Mhz)
out TCNT0, temp
reti ; das Ganze beginnt wieder von neuem
[/code1]F
reti ; Addr
; Program starts here after Reset
;
start:
ldi R24, RAMEND ;Stackpointer initialisieren
out SPL, R24
ldi r18, 0xFF ; Wert um den Port später mit Exclusive Or
; zu "toggeln"
ldi r17, 0x00 ; Anfangs-Muster der LEDs
ldi temp, 0xFF ; Datenrichtungsregister von PORTB auf
; Ausgang setzen
out DDRB, r16
; 8-Bit-Timer
ldi temp, 0b0000101 ; Timer auf auf Clock-Teiler 1024 einstellen
out TCCR0, temp
ldi temp, 61 ; Timer 0 auf 195 einstellen (50ms bei
; 4 MHz)
out TCNT0, temp
ldi temp, 0b00000010 ; Timer 0 Interrupt initialisieren
out TIMSK, temp
sei ; Interrupts allgemein aktivieren
loop:
; Hier läuft normalerweise das Hauptprogramm
rjmp loop
; Das ist meine Interrupt-Routine die die LED blinken lässt
ledblink:
eor r17, r18 ; ein Exclusive OR mit
; r18=0b11111111 sorgt
; dafür, dass der
; Port-B "toggelt"
out PORTB, r17
; Hier wird der Timer wieder auf seinen "Countdown-Wert" gesetzt
ldi temp, 61 ; Timer 0 auf 195 einstellen
; (50 ms bei 4 Mhz)
out TCNT0, temp
reti ; das Ganze beginnt wieder von neuem
|