sobota, 6 czerwca 2015
Nadajnik ATS100 ( REV2.4) na APRS/Pogodynkę
Ponieważ dostałem kilka pytań odnośnie przeróbki innych nadajników na pasmo amatorskie, postanowiłem raz na jakiś czas coś podpowiedzieć.
Tym razem padło na nadajnik ATS100
Ponieważ nie przypadł mi on osobiście do gustu, nie będę się nad nim szczególnie rozpisywał.
Dogłębnie uczynił to SQ6ADE - Link
Poniżej program w Bascom-ie, przeznaczony do przystosowania nadajnika na 144,800MHz.
' Program do testow nadajnika ATS100 rev.2.4
' PLL - MB15E03SL
' Mikrokontroler 89C51
' http://ssr.org.pl
'
$regfile = "REG51.dat"
$crystal = 11059000 ' zegar 11.059 MHz
Dim Tmp As Byte ' zmienna odcinania nadawania po jednej rundzie
Dim C As Byte
Dim A As Byte
In8 Alias P0.0 ' pin 37 Wejscie IN8 , pullup , wyzwolenie przez podanie L
In7 Alias P0.1 ' pin 36 Wejscie IN7 , pullup , wyzwolenie przez podanie L
In6 Alias P0.2 ' pin 35 Wejscie IN6 , pullup , wyzwolenie przez podanie L
In5 Alias P0.3 ' pin 34 Wejscie IN5 , pullup , wyzwolenie przez podanie L
In4 Alias P0.4 ' pin 33 Wejscie IN4 , pullup , wyzwolenie przez podanie L
In3 Alias P0.5 ' pin 32 Wejscie IN3 , pullup , wyzwolenie przez podanie L
In2 Alias P0.6 ' pin 31 Wejscie IN2 , pullup , wyzwolenie przez podanie L
In1 Alias P0.7 ' pin 30 Wejscie IN1 , pullup , wyzwolenie przez podanie L
Err2 Alias P1.0 ' pin 40 Wy. ERROR U7 , H=napiecie na wyjsciu OK L=brak napiecia
Err1 Alias P1.3 ' pin 43 Wy. ERROR U5 , H=napiecie na wyjsciu OK L=brak napiecia
Ptt1 Alias P1.4 ' pin 44 Przycisk S1 ptt , L=zalaczone PTT
Led2 Alias P1.5 ' pin 1 LED LockDetect H=zgaszona , L=swieci
Azw Alias P1.7 ' pin 3 Antyzwiecha
Vco Alias P2.2 ' pin 20 Zasilanie MB15E03SL i VCO , H=wylaczone L=zalaczone
Led1 Alias P2.3 ' pin 21 +8V wzm. w.cz. + LED TX , H=zgaszona , L=swieci
Ps Alias P3.2 ' pin 8 Standby MB15E03 pin12 , H=standby L=PLL ON
Pa Alias P3.3 ' pin 9 zasilanie PA H=wylaczone L=zalaczone
Le Alias P3.4 ' pin 10 MB15E03 pin 11 (LE)
Data Alias P3.5 ' pin 11 MB15E03 pin 10 (DATA)
Clk Alias P3.6 ' pin 12 MB15E03 pin 9 (CLOCK)
Ld Alias P3.7 ' pin 13 Lock Detect MB15E03SL pin14 , H=brak synchro L=synchro OK
Declare Sub Mb_r
Declare Sub Mb_na
Declare Sub Zegarek1
Declare Sub Zegarek2
Declare Sub Le_pulse
P0 = &B11111111
Ld = 1
Ps = 1
Led1 = 1
Led2 = 1
Vco = 1
Pa = 1
Ptt1 = 1
Err1 = 1
Tmp = 1
Azw = 1
Set Clk
Set Data
Set Le
'------------------------------------------------------------- glowna petla
Do
Azw = 0
If Tmp = 0 Then
If Ptt1 = 0 Then ' jesli PTT wlaczone idz dalej
Vco = 0
Ps = 0
Led1 = 0
Waitms 10 ' czekaj 10 ms az zalapie VCO
Gosub Mb_r
Delay
Gosub Mb_na
Waitms 50 ' odczekaj 50ms na synchro PLL
Pa = 0
Tmp = 1
End If
End If
If Tmp = 1 Then
If Ptt1 = 1 Then
Vco = 1
Ps = 1
Led1 = 1 ' wylacz LED PTT
Pa = 1
Tmp = 0
End If
End If
Azw = 1
Loop
End
'------------------------------------------------------------- koniec glownej petli
Mb_r:
Restore Dat
For A = 1 To 19
Read C
If C = 1 Then
Gosub Zegarek1
Else
Gosub Zegarek2
End If
Next A
Gosub Le_pulse
Return
Mb_na:
Restore Dat1
For A = 1 To 19
Read C
If C = 1 Then
Gosub Zegarek1
Else
Gosub Zegarek2
End If
Next A
Gosub Le_pulse
Return
Zegarek1:
Reset Data
nop
Reset Clk
nop
Set Clk
nop
Set Data
Return
Zegarek2:
Reset Clk
nop
Set Clk
nop
Return
Le_pulse:
nop
Reset Le
nop
Set Le
nop
Set Data
Return
Dat:
Data 1 , 0 , 1 , 1 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1
Dat1:
Data 0 , 0 , 0 , 1 , 0 , 1 , 1 , 0 , 1 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0