Ah gut zu wissen! Hm man sollte nicht alles glauben was man hier so geraten bekommt. Hatte diese Version halt versucht. Hatte vorher dem Prescaler eine Zahl zugewiesen, wie bei der ersten Initializiereung, das ging aber auch nicht.
Nun die große Frage...wie geht dem???

so habe es mal geändert:

Code:
'*******************************************************************************
'Frequenzgenerator
'Prozessor: Atmel Mega 32
'Programm: Test_Prescaler verändern
'*******************************************************************************
'$sim
$regfile = "M32DEF.DAT"
$crystal = 16000000
$baud = 9600

'-----------------------------Variablendeklaration--------------------------------
Dim Rel_flag As Bit
Dim S As String * 10

'------------------------Variablen zur Frequenzberechnung-------------------------
Dim F As Single
Dim Fein As Single
Dim Fcalc As Single
Dim Check As Single
Dim Calc As Single
Dim Pre As Integer                                          'Prescaler
Dim Presc As Byte                                           'Prescaler Uebergabewert
Dim Vorteiler As Long                                       'Prescaler berechnet
Dim Reload1 As Word
Dim Count0 As Byte
Dim Count1 As Byte
Const Fosc = 16000000                                       'Frequenz µC
Const Aufl = 65536                                          'Timeraufloesung
Dim T As Single                                             'Periode
Declare Sub Aus
Declare Sub Neue_frequenz
Declare Sub Reloadsub

'-----------------------------Portkonfiguration-----------------------------------

'Der PortC wird als Ausgang programmiert
Config Pinc.0 = Output
Config Pinc.1 = Output
Config Pinc.2 = Output
Config Pinc.3 = Output
Config Pinc.4 = Output
Config Pinc.5 = Output
Config Pinc.6 = Output
Config Pinc.7 = Output
Config Pina.7 = Output
Config Pina.6 = Output
Config Pina.5 = Output
Config Pina.4 = Output

'Der Port B und D wird als Eingang programmiert
Config Pinb.0 = Input
Config Pinb.1 = Input
Config Pinb.2 = Input                                       ' Interrupt 2 für Zuendung Slave IN sync
Config Pinb.3 = Input
Config Pinb.4 = Input
Config Pinb.5 = Input
Config Pinb.6 = Input
Config Pinb.7 = Input
Config Pind.2 = Input                                       ' Interrupt 0 für ON/OFF
Config Pind.3 = Input                                       'Interrupt 1 Sammelinterrupt Stoerung
Config Pind.4 = Input
Config Pind.5 = Input
Config Pind.6 = Input
Config Pind.7 = Input

'Pullup einschalten nur bei PD3 noetig!
Portd.3 = 1

'Hier geben wir der Definition einen schoeneren Namen
_out Alias Portc.0
Sync Alias Portc.1
_rdy Alias Portc.2
Reserve_out Alias Portc.3
Stoerung_out Alias Portc.4
Outp Alias Portc.5
Led1 Alias Portc.6
Led2 Alias Portc.7
Led3 Alias Porta.7
Led4 Alias Porta.6
Ok Alias Porta.5
Relais Alias Porta.4

'-----------------------------Timerkonfiguration----------------------------------
'Hier wird der Timer und der Teiler festgelegt
Config Timer0 = Timer , Prescale = 64
Config Timer1 = Timer , Prescale = 8

'Hier wird das Unterprogramm festgelegt, das
'in dem eingestellten Intervall aufgerufen wird
On Timer0 Timer0_irq                                        'Nosave
On Timer1 Timer1_irq                                        'Nosave

Const Reload0 = 6
Reload1 = 30534

'Hier werden die Timer aktiviert
Enable Timer0
Enable Timer1
Enable Interrupts


Call Aus
Start Timer1

Do
  If Ischarwaiting() <> 0 Then Call Neue_frequenz
   nop
Loop

Timer0_irq:                                                 '1 Pausenteil 1ms
  Timer0 = Reload0
    Outp = 0                                                'EIN
    Stop Timer0
    Waitus 500
    Outp = 1                                                'AUS
    Waitus 1000                                             '2.Pausenteil 1ms
    Led1 = 0
    Start Timer1

   Return


Timer1_irq:                                                 'lange Zeit 17,5ms
    Timer1 = Reload1
    Led1 = 1
    Stop Timer1
    Start Timer0
   Return

'----------------------------Funktion Ausschalten---------------------------------

Sub Aus

Portc = &HFF                                                ' alle LEDs aus
Led1 = 1
Led2 = 1
Led3 = 1                                                    ' alle LEDs aus
Led4 = 1                                                    ' alle LEDs aus
Ok = 1
Outp = 1                                                    ' alle LEDs aus
Waitms 200

  If Rel_flag = 0 Then
      Relais = 1                                            ' alle LEDs aus
  End If

End Sub

'--------------------------Funktion Frequenzberechnung----------------------------
Sub Neue_frequenz
 Stop Timer0
 Stop Timer1
 Waitms 200

 Call Aus
 S = Inkey()
 Print "Frequenz ohne dezimale eingeben, d.h 500 entspricht 50Hz"
 Eingabe:
 Input " neue Frequenz: " , Fein

 If Fein > 500 Then
   Print "Fequenz zu Gross!!!"
   Goto Eingabe
 End If
    F = Fein / 10
    Check = Frac(f)                                         'nur Nachkommastelle
 If Check = 0.5 Or Check = 0 Then
   Print " neue Frequenz: " ; F ; "Hz"
 Else
   Print "falsche Eingabe! Nur 0,5Hz Schritte moeglich!"
   Goto Eingabe
 End If

 T = 1 / F
 T = T - 0.0025
 Fcalc = 1 / T
 Vorteiler = T * Fosc
 Vorteiler = Vorteiler \ Aufl

 If Vorteiler <= 1 Then
     Pre = 1
     Presc = &B00000001
     Call Reloadsub
     Reload1 = Round(calc)
 End If

 If Vorteiler > 1 And Vorteiler <= 8 Then
     Pre = 8
     Presc = &B00000010
     Call Reloadsub
     Reload1 = Round(calc)
 End If

 If Vorteiler > 8 And Vorteiler <= 64 Then
     Pre = 64
     Presc = &B00000011                                     'Prescaler
     Call Reloadsub
     Reload1 = Round(calc)
 End If

 If Vorteiler > 64 And Vorteiler <= 256 Then
     Pre = 256
     Presc = &B00000100                                     'Prescaler
     Call Reloadsub
     Reload1 = Round(calc)
 End If

 If Vorteiler > 256 And Vorteiler <= 1024 Then
     Pre = 1024
     Presc = &B00000101                                     'Prescaler
     Call Reloadsub
     Reload1 = Round(calc)
 End If


 Start Timer1
End Sub

Sub Reloadsub
'Berechnung von Reload1
 Calc = Fosc / Pre
 Calc = Calc / Fcalc
 Calc = Aufl - Calc
 'Tccr1b = Tccr1b And &HF8
 Tccr1b = Presc

End Sub
geht aber trotzdem nicht!

Bleibe bei dem hier schonmal erwähnten...daß Bascom da einen Bug hat, lasse mich aber gerne eines Besseren belehren.

Gruß

Sven