Hey Uwe,
... ich habe noch welche geordert. (www.elk-tronic.de)
Aber danke für dein Angebot.
Wo hast du deine ICs gekauft?
Leider bugt Bascom schon wieder. Ich habe jetzt die Version 1.11.8.3. Ich schaffe es nicht ein Programm welches den VCO automatisch abstimmt auf den IC zu flashen. Der Universal-MCS-Programmer bleibt beim "writing ROM" bei etwa halben Fortschritt stehen und das Programm wird nicht weiter übertragen. Ich glaube ich werde mich mal wieder bei MCS melden.
PS.: Werde das Prog in zwei Tagen wieder aus dem Forum nehmen.
Code:
$regfile = "86rf401.dat"
$crystal = 18080000
'
Dim I As Byte 'Für universellen Gebrauch
Dim J As Byte 'Für universellen Gebrauch
'
Avr_config = &B01100000 'Bits 6+5=11: AVR-Takt 1/16
'
'VCO abstimmen:
Pwr_atten = &B00101101 'Minimale Sendeleistung
Tx_cntl = &B00110000 'VCO und PA ein
I = 0 'Alle Cs durchfahren
Vcotune:
If I > 31 Then 'Fehler: Höchster C plus 1 erreicht
I = 0 'Vielleicht klappt's nächstes mal
Avr_config.1 = 1 'Sleep-Modus, hier geht nichts mehr
End If
Vcotune = I 'C setzen
Lockdet1 = &B00000111 'LockDetect: 4 Fehlerzyklen...
'...erlaubt, Blackout-Erkennung aus
Lockdet2 = &B10000101 'UnlockDetect: 256 Zyklen ohne Fehler
For J = 0 To 64 'Eingestellte Anzahl von Zyklen warten
If Tx_cntl.2 = 1 Then Exit For 'PLL eingerastet: raus hier
Next J
Incr I 'C erhöhen
If Tx_cntl.2 = 0 Then Goto Vcotune 'PLL nicht eingerastet:
'nächster C
J = Vcotune And &B11000000 'VCO-VoltageDetector-Bits
'holen und isolieren
If J <> 0 Then Goto Vcotune 'Wir sind (noch) nicht im gül-
'tigen Fenster, nächster C
'
'Wenn wir hier ankommen, ist der VCO abgestimmt
Pwr_atten = &B00000000 'Maximale Sendeleistung
Do 'Hörbaren Rechteckton senden
Tx_cntl.4 = 1 'PA ein
Waitus 35 'Echte Dauer abh. vom AVR-Takt!
Tx_cntl.4 = 0 'PA aus
Waitus 35 'Echte Dauer abh. vom AVR-Takt!
Loop
'[Listing zum AVR-Mikrocontroller-Lehrbuch von Roland Walter, www.rowalt.de]
Timo
Lesezeichen