[code:1:ff7c4bf9fe]$regfile = "Attiny2313.dat" 'Soubor s deklaracemi
$crystal = 8000000 'Kmitočet oscilátoru v Hz
$hwstack = 32
$swstack = 16
$framesize = 16
Dim Temp As Long
Const Prescaler = 64
Declare Sub Set_freq(byval F_out As Word)
'init timer0, mode 2, CTC, top=OCR0A, presc=64
Tccr0a = Bits(wgm01 , Com0a0)
Tccr0b = Bits(cs00 , Cs01)
Set Ddrb.2 'output
Call Set_freq(1000) '1000 Hz
Do
Loop
End
Sub Set_freq(byval F_out As Word)
'Ocr0a = $crystal[Hz] /(f_out[Hz] * Prescaler * 2) - 1
Temp = F_out * Prescaler
Temp = Temp * 2
Temp = _xtal / Temp
Ocr0a = Temp
End Sub
[/code:1:ff7c4bf9fe]
Possible frequencies:
[code:1:ff7c4bf9fe]OCR f_out
57 1077,6
58 1059,3
59 1041,7
60 1024,6
61 1008,1
62 992,1
63 976,6
64 961,5
65 947,0
66 932,8
67 919,1
68 905,8
[/code:1:ff7c4bf9fe]
↧