Hallo,
ich bin gerade bei und versuche die Uhr mit einem DCF77 Signal zu stellen. Nun benutze ich folgendes Beispiel über Bascom:
Code:
$eeprom
$eepromhex
$regfile = "m32def.dat" ' Prozessortyp ATmega32
$crystal = 1000000 ' Taktrate
$hwstack = 32
$swstack = 10
$framesize = 40
$baud = 4800
Config Lcd = 20 * 2
Config Lcdpin = Pin , Db4 = Porta.0 , Db5 = Porta.1 , Db6 = Porta.2 , Db7 = Porta.3 , E = Porta.5 , Rs = Porta.4
Cls
Cursor Off
Config Dcf77 = Pind.6 , Inv = 0 , Upd = 0 , Timer = 1 , Timer1sec = 0 , Debug = 1 , Check = 2 , Switchpower = 0 , Powerlevel = 1
Enable Interrupts
Config Date = Dmy , Separator = .
Dim I As Integer
Dim Sec_old As Byte , Dcfsec_old As Byte
Sec_old = 99 : Dcfsec_old = 99
Do
For I = 1 To 78
Waitms 10
If Sec_old <> _sec Then
Exit For
End If
If Dcfsec_old <> Dcf_sec Then
Exit For
End If
Next
Waitms 220
Sec_old = _sec
Dcfsec_old = Dcf_sec
Locate 1 , 5
Lcd Time$ ; " "
Locate 2 , 5
Lcd Date$ ; " "
Locate 2 , 15
Lcd Bdcf_impuls ; " "
Loop
End
Am Display zählen die Sekunden fröhlich hoch und die Variable "Bdcf_impuls" zeigt zwischen 35-40 einen Wert an! Scheint die Empfangsstärke zu sein??
Leider ist die Uhr nach 30min immer noch nicht gestellt. Ist das mit dem Code so überhaupt möglich? Ist ein Bascom Beispiel.
Den DCF77 Empfänger habe ich aus einem Wecker und mit einem BC547b verstärkt. Laut "Bdcf_impuls" passiert ja auch was. Habe leider kein Ossi zur Signal überprüfung hier.
Hoffe ihr habt noch eine Idee.
Gruß
Stefan
Lesezeichen