; ************************************************************** ; * Ein Lautprecher macht Toene * ; * (C)2005 by avr-asm-tutorial.net * ; ************************************************************** ; .INCLUDE "tn13def.inc" ; ; Schaltbild: ; ATMEL ATtiny13 ; ___ ____ ; ___ 1/ |_| |8 ;+5 Volt O--|___|----|Res Vcc|----O + 5 Volt ; | | ; |PB3 PB2| ___ ; | |6 \_/ ; |PB4 PB1|--|_|--O + 5 Volt ; 4| | LSP ; 0 Volt O----|Gnd PB0| ; |__________| ; ; Register definitions ; .DEF rmp = R16 ; Multipurpose register ; ; Programmbeginn ; ; ; PB1=OC0B als Ausgang setzen ; sbi DDRB,1 sbi DDRB,0 ; ; 8-Bit-Timer mit 1,2 MHz Prozessortakt mit Vorteiler durch 8 ; 1,2 MHz / 8 = 150 kHz, / 75 = 2000 Hz, /2 = 1000 Hz ; ldi rmp,75 ; Setze Compare A auf 147 (Ende Zaehler) out OCR0A,rmp ldi rmp,38 ; Setze Compare B auf halben Timer-Wert out OCR0B,rmp ldi rmp,0b00010010 ; CTC, toggle Ausgang B bei Compare Match out TCCR0A,rmp ldi rmp,0b00000010 ; Vorteiler durch 8, Timer starten out TCCR0B,rmp ldi rmp,0b00100000 ; SLEEP Modus ermoeglichen out MCUCR,rmp sleep ; Prozessor schlafen legen ; ; End of source code ;