Hallo,
nachdem ich die gleichen Probleme mit dem Chip hatte und ich ihn fast schon aus Wut in die Tonnen gehauen hätte, fand ich dann doch noch die? (eine) Lösung. Der Bascom Code nutzt die Binär!-Ausgabe des Chips. Unscheinbar im "Handbuch" versteckt, steht aber unter PIN1-Mode: unbeschaltet wird die Ausgabe als Text ausgegeben!
Hammer, das war's. Nachdem ich den PIN 1 mit GND verbunden habe, kam fast zeitgleich die richtige Ausgabe auf meinem LCD.
Anbei mein Bascom-Code
Declare Sub Dcf_uhrzeitlesen()

'$programmer = 12 'MCS USB (Zeile weglassen wenn anderer Programmer)
'$prog &HFF , &HFF , &HD9 , &HFE 'Fusebits richtig programmieren (Quarz ein,Jtag aus)

$regfile = "m8adef.dat"
'$framesize = 32
'$swstack = 32
'$hwstack = 64

$framesize = 128
$swstack = 128
$hwstack = 128

$crystal = 3686400 'Quarzfrequenz

$baud = 9600 'Baudrate (Übertragungsgeschwindigkeit)
Baud = 9600


Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2

Config Lcd = 20x4
Cursor Off Noblink
Cls

Config Pinb.3 = Output 'LED
Led1 Alias Portb.3



'Diese Variablen enthalten nach dem Abruf die Uhrzeit und Datum Informationen
Dim Uhr_sek As Byte
Dim Uhr_min As Byte
Dim Uhr_std As Byte
Dim Uhr_tag As Byte
Dim Uhr_monat As Byte
Dim Uhr_jahr As Byte
Dim Uhr_wochentag As Byte
Dim Uhr_sommerzeit As Byte
Dim Uhr_zeitumschaltung As Byte
Dim Uhr_sync As Byte

Dim Bstart As Byte 'Enthaelt Byte Zeilenanfang immer 126
Dim Bende As Byte 'Enthaelt Byte Zeilenanfang immer 127

Dim Zeitgueltig As Byte

Wait 1
Zeitgueltig = 0
Do
Dcf_uhrzeitlesen
If Zeitgueltig = 1 Then
Locate 1 , 1
Lcd "abgeglichen "
Print "Heute haben wir den: " ; Uhr_tag ; "." ; Uhr_monat ; "." ; Uhr_jahr ; " " ; Uhr_std ; ":" ; Uhr_min ; ":" ; Uhr_sek ; " Wochentag:" ; Uhr_wochentag
Locate 2 , 1
Lcd Uhr_tag ; "." ; Uhr_monat ; "." ; Uhr_jahr
Locate 3 , 1
Lcd Uhr_std ; ":" ; Uhr_min ; ":" ; Uhr_sek ;
Locate 4 , 1
Lcd "Wochentag: " ; Uhr_wochentag
If Uhr_sommerzeit = 1 Then Print "Es gilt Sommerzeit!"
Print "Die Uhr wurde von " ; Uhr_sync ; " Minuten per Funk abgeglichen"
Print
Else
Locate 1 , 1
Lcd "nicht abgeglichen"
End If
Wait 3
Toggle Led1
Loop




'Hilfsfunktionen



'Diese Funktion ruft der Zeit im binären Modus ab
'und uerbergibt diese den globalen Uhr Variablen
Sub Dcf_uhrzeitlesen()
Config Pinb.2 = Input
If Pinb.2 = 1 Then 'DCF Uhrzeit bereits vorhanden?
'Kurz auf GND setzen um DCF Decoderzeit ausgeben zu lassen
Config Portb.2 = Output
Portb.2 = 0
Waitus 1
Config Pinb.2 = Input

Open "comB.2:2400,8,n,1" For Input As #1
Inputbin #1 , Bstart , Uhr_tag , Uhr_monat , Uhr_jahr , Uhr_std , Uhr_min , Uhr_sek , Uhr_wochentag , Uhr_sommerzeit , Uhr_zeitumschaltung , Uhr_sync , Bende
Close #1
Config Pinb.2 = Input
Uhr_tag = Uhr_tag - 65
Uhr_monat = Uhr_monat - 65
Uhr_jahr = Uhr_jahr - 65
Uhr_std = Uhr_std - 65
Uhr_min = Uhr_min - 65
Uhr_sek = Uhr_sek - 65
Uhr_wochentag = Uhr_wochentag - 65
Uhr_sommerzeit = Uhr_sommerzeit - 65
Uhr_zeitumschaltung = Uhr_zeitumschaltung - 65
Uhr_sync = Uhr_sync - 65
Zeitgueltig = 1
Else
Print "Zeit noch nicht verifiziert!"
End If

End Sub
tschau
Wolfgang