' Sound mit Timer0 erzeugen ' Sollfrequenz: 440 Hz, d. h. 880 Signalwechsel bzw. Timer0-Interrupts pro Sekunde ' 4000000:880 = 4545,4545 ' Prescaler 64: 4545,4545:64 = 71,0227 ' Preset: 256 - 71 = 185 '---------------------------------------------------------------------------- $regfile = "attiny2313.dat" 'Attiny2313 $crystal = 4000000 '4 MHz '********************************************************** '******************* Deklarationen ************************ '****************** Initialisierung *********************** Ddrb = &B11111111 'Port B als Ausgangsport Ddrd = &B01110000 'D4, D5, D6 als Ausgang; Rest als Eingang Portd = &B10001111 'Eingänge auf high legen Timsk.toie0 = 1 'Timer0-Interrupt befähigen Enable Interrupts 'Sreg.sreg_i = 1 'Interrupts global befähigen; SREG_I = 7 On Timer0 Umschalten Tccr0b = &B00000011 'Timer-Takt ist 4 MHZ/64 und Timer0 einschalten Tcnt0 = 185 'Preset '********************************************************** '******************** Hauptprogramm *********************** Do ' Nix tun Loop '********************************************************** '******************* Unterprogramme *********************** '********************************************************** '******************Interruptroutinen*********************** Umschalten: Tcnt0 = 185 'Presetwert wieder auf 185 setzen Toggle Portb.0 Return '**********************************************************