Witam, nie moge programowo wygenerować 40Khz z tego procka (potrzebne do nadajnika ultradźwięków):
Poniżej kod:
Przy wpisanej wartości 65436 i prescalerze 1 przerwanie wywoływane jest co 0,000025s a więc na wyjściu OC1A powinno być 40KhZ, jednak dźwięk jest słyszalny... Mam na kompie program do pomiaru częstotliwośći (przez karte dźwiękową) i pokazuje on jakieś 1,2KhZ... Co jest nie tak?
Poniżej kod:
$crystal=4000000
Enable Interrupts
Config Portb = Output
Config Timer1 = Timer , Prescale = 1 , Compare A = Toggle
Enable Timer1
Start Timer1
Timer1 = 65436
On Timer1 Przerwanie
Do
Loop
End
Przerwanie:
Timer1 = 65436
Return
Przy wpisanej wartości 65436 i prescalerze 1 przerwanie wywoływane jest co 0,000025s a więc na wyjściu OC1A powinno być 40KhZ, jednak dźwięk jest słyszalny... Mam na kompie program do pomiaru częstotliwośći (przez karte dźwiękową) i pokazuje on jakieś 1,2KhZ... Co jest nie tak?