Robię sobie tuner fm z syntezą na TSA6057. Mam program syntezy fm-pochodzi on z elektroda.p.l
Kod: Zaznacz cały
$regfile = "m8def.dat"
$crystal = 4000000
Config Sda = Portb.1
Config Scl = Portb.0
Config Portd = Input
Dim B As Byte ' Zmienna
Dim Czest As Byte ' Częstotliwość - zgrubna
Dim Czestf As Byte ' Częstotliwość - dokładna
I2cinit
Czestf = &B10000000
Czest = &B00101111
Do
B = Encoder(pind.0 , Pind.1 , Fup , Fdown , 0)
Loop
Tsa6057: ' Zapis danych do TSA 6057
I2cstart
I2cwbyte &B11000100
I2cwbyte &B00000000
I2cwbyte Czestf
I2cwbyte Czest
I2cwbyte &B00100011
I2cwbyte &B00000000
I2cstop
Return
Fup: ' Częstotliwość w górę
If Czestf < 250 Then
Czestf = Czestf + 10
Else
Czest = Czest + 1
Czestf = 0
End If
Gosub Tsa6057
Return
Fdown: ' Częstotliwość w dół
If Czestf < 255 And Czestf > 15 Or Czestf = 0 Then
Czestf = Czestf - 10
Else
Czest = Czest - 1
Czestf = 0
End If
Gosub Tsa6057
Return
EndJak widać brakuje w nim obsługi lcd bo był zewnętrzny częstościomierz.
Chciałbym dopisać obsługę lcd (2*16zn.-akurat taki mam w swoich zasobach).
Na lcd byłaby wyswietlana strojona częstotliwość tunera. Tuner ma być strojony w zakresie 87.5-108Mhz. Jak to dopisać bo jestem kiepski w tej kwestii.