sp3ots-p
  Miernik częstotliwości
 
Maksymalna częstotliwość pomiaru to 35MHz ( 50MHz ).
Dokładność pomiaru 10Hz.
Wynik pomiaru na LCD z dokładnością 1Hz przez automatyczne dopisanie jednego zera.
Czas pomiaru 1sek
Duża czułość wejścia pomiarowego ( BF245 + BF199 )
Nadaje się do strojenia VFO np. TRX Taurus, Bartek
Po zmianie oprogramowania może pracować jako skala cyfrowa do
JEDNOPASMOWEGO RXa, TRXa.
Zasilanie 8-13V
                      Schemat:


Program miernika częstotliwości napisany w Bascomie AVR:
 
'Freq miernik max ok 35MHz 10Hz
'2009.03.02 LCD 1x16
'Bascom AVR 1.11.8.1
'Ustawienia Fuse bit:
'Fusebit C 1:Divide clock by 8 disabled
'Fusebit B 1:Output clock on CKOUT pin disabled
'Fusebit KL 10:6 CK, 64 mS delay
'Fusebit A987 1110:1110 external XTAL
'$prog &HFF , &HEE , &HDF , &H00       'Nowe fuse bity.
$regfile = "attiny2313.dat"
Config Lcdpin = Pin , Db7 = Pb.2 , Db6 = Pb.3 , Db5 = Pb.4 , Db4 = Pb.5 , E = Pb.6 , Rs = Pb.7

Config Lcd = 16 * 1
$crystal = 14745600

Dim Ccount As Byte
Dim Maincounter As Long
Dim C_counter As Word

Cls
Locate 1 , 1
Lcd "  Freq m"
Locate 2 , 1
Lcd "iernik  "
Cursor Off
Wait 1
Cls

Config Timer0 = Timer , Prescale = 8       '8
Config Timer1 = Counter , Edge = Falling , Noise Cancel = 1
C_counter = 0

Enable Timer0
Enable Interrupts
On Timer0 Timint
Enable Timer1
Ccount = 0

On Timer1 Int_0
Start Timer0
Start Timer1
Timer1 = 0

Do
Loop
End

Timint:
Incr C_counter
If C_counter = 7200 Then       'Q=14,7456 preskaler/8 = 1sek
Stop Timer1
Stop Timer0
Maincounter = Ccount * 65536
Maincounter = Maincounter + Timer1

If Maincounter = 1 Then
Maincounter = 0
End If
Ccount = 0
Timer0 = 0

Cls
Locate 1 , 8
If Maincounter >= 10 Then Locate 1 , 7
If Maincounter >= 100 Then Locate 1 , 6
If Maincounter >= 1000 Then Locate 1 , 5
If Maincounter >= 10000 Then Locate 1 , 4
If Maincounter >= 100000 Then Locate 1 , 3
If Maincounter >= 1000000 Then Locate 1 , 2
If Maincounter >= 10000000 Then Locate 1 , 1

Lcd Maincounter

Locate 2 , 1
Lcd "0 Hz    "

C_counter = 0
Maincounter = 0
Timer1 = 0
Start Timer0
Start Timer1
End If
Return

Int_0:
Incr Ccount
Return

 
  Dzisiaj stronę odwiedziło już 1 odwiedzający (1 wejścia) tutaj!  
 
=> Chcesz darmową stronę ? Kliknij tutaj! <=