AT89C51 Ausgänge schalten nicht

Gast #156233
Lesenswert?

Mein Versuchsaufbau umfasst LED's mit Vorwiderstand an 5V und an
P1.0-P1.7 und die anderen Anschlüsse wie Quartz, Reset, EA,... sollten
eigentlich richtig angeschlossen sein.

Und hier mal mein Testcode:

do
p1=&B10101010
waitms 500
p1=&B01010101
waitms 500
loop
Gast #156240
Lesenswert?

Bevor hier alle sinnlos rumraten, hier mal ein paar Fakten:
Es ist richtig wie die LED angeschlossen ist, (unabhängig ob der Pin
einen Pullup hat oder nicht.)
Die Software ist auch OK, funktioniert zumindest bei mir im Simulator.

Das heißt es liegt ein Hardwarefehler vor:
- Schwingt der Quarz ?
- Welche Spannung liegt am Reset und EA Pin an ?
- Mach mal (per Hand) einen Reset währen die Schaltung läuft (einfach
mit einem Stück Draht Reset an 5V legen)

Nochmal zu den Pullups: Lediglich P0 hat keine internen Pullups. Alle
anderen Ports haben eiinen.

Bascom ist ja noch schlimmer als ich gedacht hatte: Für 6 Bytes wird
ein Long Jump verwendet, wo doch ein Short Jump ausgereicht hätte.
Dasselbe gilt für die Calls...
Gast #156241
Lesenswert?

Reset liegt mit 100k an 0V und 10µF an 5V, EA an 5V
Nach Reset dauert es einen kurtzen Moment und alles ist wie zuvor.
Ich hab auch mal an die anderen Prots LED's gehängt, die flackern.
Sieht  aus, als zählen sie im BCD-Code hoch (0,1,10,11,100,101,...)
Gast #156242
Lesenswert?

Aus der Hüfte geschossen, würde ich folgendes prüfen:

Schau Dir mal die "Programm Lock Bits" an. Sind Die richtig gesetzt?
Probier mal anstelle des 100k einen 10k Widerstand zum Reset.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren