' Hardware Pwm Abstimmung für das Pollin Tunermodul $regfile = "m16def.dat" $crystal = 1000000 Dim A As Integer 'Variable für Abstimmschritte bei Stoppsignal Dim B As Bit Dim E(10) As Eram Integer Dim Zaler As Byte 'Senderspeicherplatz 10 Config Pind.5 = Output 'Pwm out Config Portd.6 = Output Config Portd.1 = Output 'Led Config Pind.3 = Input Config Pind.4 = Input Config Pind.2 = Input 'Anschluss für das Stoppsignal vom Tunermodul Config Pind.0 = Input 'Interne Pullups einschalten Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Up , Prescale = 1 'Timer konfigurieren Waitms 100 Tuning: Do If Pind.3 = 1 Then 'Wenn Taster gedrückt... Portd.1 = 0 Portd.6 = 1 Do If A < 1023 Then A = A + 1 'Abstimmspannung um 1 Stufe erhöhen Compare1a = A Waitms 20 Loop Until Pind.2 = 0 Or Pind.4 = 1 'Audio muting einschalten End If Portd.6 = 0 'Led zeigt das laufende Tuning an Portd.1 = 1 End If If Pind.4 = 1 Then Do If A > 1 Then A = A - 1 'Abstimmspannung um 1 Stufe senken Portd.1 = 0 'Audio muting einschalten Portd.6 = 1 'Led zeigt das laufende Tuning an Compare1a = A Waitms 20 Loop Until Pind.2 = 0 Or Pind.3 = 1 Portd.6 = 0 'Tuningled ausschalten Portd.1 = 1 End If End If If Pind.0 = 1 Then 'wieder verändern Waitms 1000 'ein bisschen vergrößert If Pind.0 = 1 Then Zaler = 0 Do Zaler = Zaler + 1 If Zaler = 10 Then Goto Tuning End If Loop Until E(zaler) = -1 E(zaler) = A Do Loop Until Pind.0 = 0 Goto Tuning Else Do Loop Until Pind.0 = 0 Zaler = 0 Do If Pind.0 = 1 Then Goto Tuning End If If Pind.3 = 1 Then Zaler = Zaler + 1 If Zaler = 10 Then Zaler = 1 A = E(zaler) Compare1a = A Do Loop Until Pind.3 = 0 End If If Pind.4 = 1 Then Zaler = Zaler - 1 If Zaler > 10 Then Zaler = 1 A = E(zaler) Compare1a = A Do Loop Until Pind.3 = 0 End If Loop End If End If Loop End