' Hardware Pwm Abstimmung für das Pollin Tunermodul $regfile = "m32def.dat" $crystal = 1000000 Dim A As Integer 'Tuningvariable Dlen Alias Portc.0 'Dlen Leitung = Portc.0 'Anschluss 13 Dat Alias Portc.1 'Data Leitung = Portc.1 'Anschluss 12 Clb Alias Portd.7 'Clock Leitung = Portd.7 'Anschluss 14 Config Dat = Output 'Data Leitung als Ausgang Config Pind.3 = Input 'Taster vorheriger Sender Config Pind.4 = Input 'Taster Nächster Sender Config Pind.2 = Input 'Anschluss für das Stoppsignal Config Portd.6 = Output 'Led zeigt laufendes Tuning an Config Portd.1 = Output 'Muting 'Programm starten Waitms 100 'MC hochfahren lassen Dat = 0 'Anführende Null Dlen = 0 Clb = 0 'Saa1057 initalisieren Dlen = 1 'Datenübertragung beginnen Gosub Uebertragen 'Bit übernehmen Dat = 1 'Latch B auswählen Gosub Uebertragen Dat = 1 'Fm Bit: Fm Modus auswählen Gosub Uebertragen Dat = 1 'REFH: Zweites Bit Abstimmschritte 12,5khz auswählen Gosub Uebertragen 'Current Amplifier programmieren (0,07 mV) Dat = 1 'Cp 3:=0 Gosub Uebertragen Dat = 1 'Cp 2:=0 Gosub Uebertragen Dat = 1 'Cp 1:=0 Gosub Uebertragen Dat = 0 'Cp 0:=1 Gosub Uebertragen 'Currentamplifier programmieren Ende Dat = 0 'SB2: Letzten 8 Bits (werden nich benötigt) automatisch auf 0 setzen Gosub Uebertragen Dlen = 0 'Datenübertragung beenden Clb = 0 Waitus 20 Dat = 0 'Führende Null 'Saa1057 initalisieren Ende Waitus 20 'Beginn des Tuningparts Dlen = 1 'Datenübertragung beginnen Gosub Uebertragen 'Null übernehmen Dat = 0 'Latch A auswählen Gosub Uebertragen 'Teilerwert für Startfrequenz in Binärform übertragen () Dlen = 1 A = 8120 'Teilerwert für 90,8 Mhz Shiftout , Dat , Clb , A 'Teilerwert auf Dat ausgeben Portd.1 = 1 'Audio muting aus Waitus 20 'Hauptschleife des Programmes Do 'Tuninghoch Portd.6 = 0 If Pind.3 = 1 Then 'wenn Pind.3 gedrückt und losgelassen Portd.6 = 1 'Led an Portd.1 = 0 'Muting an Do If A < 8460 Then 'Begrenzung nach oben A = A + 8 Dat = 0 'Leading Zero Dlen = 1 'Datenübertragung beginnen Gosub Uebertragen Dat = 0 'Latch A auswählen Gosub Uebertragen Shiftout , Dat , Clb , A 'Teilerwert als Binärzahl auf Dat ausgeben Dlen = 0 'Datenübertragung beenden Loop Until Pind.2 = 0 Or Pind.4 = 1 End If Portd.6 = 0 'Led aus Portd.1 = 1 'Muting aus End If 'Tuningrunter If Pind.4 = 1 Then '... Portd.6 = 1 'Led an Portd.1 = 0 'Muting an Do If A > 7000 Then 'Begrenzung nach unten A = A - 8 Dat = 0 'Leading Zero Dlen = 1 'Datenübertragung beginnen Gosub Uebertragen Dat = 0 '...A Gosub Uebertragen Shiftout , Dat , Clb , A Dlen = 0 'Datenübertragung beenden Loop Until Pind.2 = 0 Or Pind.3 = 1 End If Portd.6 = 0 'Led aus Portd.1 = 1 'Muting aus End If Loop Uebertragen: 'Routine um Data an den Saa zu übertragen Waitus 15 'Warten Clb = 0 Waitus 15 '"" Clb = 1 Waitus 15 '"" Clb = 0 Waitus 15 '"" Return End