Witam
Czy ktos moze mi napisac w jaki sposob mierzyc predkosc wentylatowow PC urzywajac Bascoma i uP AVR?
Predkosc wentylatorow PC
Tu masz program w Bascomie (akurat na ATMega8515), mierzy częstotoliwość teoretycznie do połowy częstotliwości zegarowej przy wypełnieniu impulsów równym 50%:
$crystal = 16000000
Config Lcd = 16 * 2
Cursor Off
Dim Ccount As Word
Dim Maincounter As Long
Config Pinb.1 = Input
Config Timer0 = Timer , Prescale = 1
Config Timer1 = Counter , Edge = Falling , Noice Cancel = 1
Dim Count As Word
Dim Licznik As Long
Count = 0
Ccount = 0
Enable Interrupts
Enable Timer0
Enable Timer1
On Timer0 Int_0
On Timer1 Int_1
Timer1 = 0
Timer0 = 0
Do
Loop
Int_1:
Incr Count
Return
Int_0:
Incr Ccount
If Ccount = 62500 Then
Stop Timer0
Stop Timer1
Licznik = Count * 65536
Licznik = Licznik + Timer1
Cls
Lcd Licznik ; "Hz"
Timer0 = 0
Timer1 = 0
count =0
Ccount = 0
Start Timer0
Start Timer1
End If
Return
$crystal = 16000000
Config Lcd = 16 * 2
Cursor Off
Dim Ccount As Word
Dim Maincounter As Long
Config Pinb.1 = Input
Config Timer0 = Timer , Prescale = 1
Config Timer1 = Counter , Edge = Falling , Noice Cancel = 1
Dim Count As Word
Dim Licznik As Long
Count = 0
Ccount = 0
Enable Interrupts
Enable Timer0
Enable Timer1
On Timer0 Int_0
On Timer1 Int_1
Timer1 = 0
Timer0 = 0
Do
Loop
Int_1:
Incr Count
Return
Int_0:
Incr Ccount
If Ccount = 62500 Then
Stop Timer0
Stop Timer1
Licznik = Count * 65536
Licznik = Licznik + Timer1
Cls
Lcd Licznik ; "Hz"
Timer0 = 0
Timer1 = 0
count =0
Ccount = 0
Start Timer0
Start Timer1
End If
Return