Uhr Schaltung at89c51ed

Gast #2458553
Lesenswert?

Hallo,

ich wollte meine erste Schaltung mal real aufbauen.
Ich habe den Schaltplan mal angehangen.

Backgroundinformationen:

Es soll eine Binäruhr werden, wobei Stunden und Minuten, sowie eventuell 
noch angezeigt wird ob es am oder pm ist. Die Leds werden Lowaktiv 
angesteuert.
Außerdem soll über einen Taster die Uhr gestellt werden können, wenn der 
Port 0.0 auf 0 gezogen wird(P0 hat ja interne Pullups).
Außerdem habe ich eine Uhrenquarz genommen, der soll ja am weigsten 
Strom verbrauchen, daher 22pF Kondis genutzt(Quarz CL=12.5 pF). 
Spannungsversorgung realisiere ich über 2* 3V Batterien(Jene, welche ich 
nutze liefern mir grad laut Multimeter sogar genau 2*~2,53V) in Reihe.

Ich habe das ganze jetz mal so aufgebaut und es funktioniert nicht 
wirklich, es kommen nur ca 2,7V an, wenn ich zwischen VDD & GND messe. 
Habe auch mal gelesen einige Kondensatoren zwischen VDD & GND zu 
schalten. Hat aber auch keine wirkliche Verbesserung gebracht.

Seht ihr denn irgendwelche Fehler? Wird die Spannugsversorgung irgendwie 
besonders realisiert?

PS: Am Code dürfte es nicht liegen, hab das ganze schon an nem eval 
board mal getestet.

Vielen Dank schonmal!
Angehängte Dateien:
#2458666
Lesenswert?

> Ich habe das ganze jetz mal so aufgebaut und es funktioniert nicht
wirklich, es kommen nur ca 2,7V an

Da werden dann halt deine Batterien nicht mehr die frischesten sein.
Wieviele LED waren denn an, als du gemessen hast?

> realisiere ich über 2* 3V Batterien(Jene, welche ich
> nutze liefern mir grad laut Multimeter sogar genau 2*~2,53V

Eine 3V Batterie, die nur noch 2.5V liefert, würde ich mal aus dem Bauch 
heraus als 'leer' bezeichnen.
#2458687
Lesenswert?

Es gibt 8051er ADUC die mit 32.768KHz getaktet werden, intern eine PLL 
für den Prozessor haben und gleich eine Echtzeituhr mitbringen.

Andererseits sollte ein vollstatischer 8051 auch mit 32KHz klarkommen, 
und evtl reichen die bei einem 12Clock verbleibenden zweieinhalb KIPS 
sogar für die Uhr (ohne jetzt nachzusehen ob besagter 8051 vollstatisch 
und 12clock ist).
#2458697
Lesenswert?

Andy D. schrieb:

> Andererseits sollte ein vollstatischer 8051 auch mit 32KHz klarkommen,

Sieh einen anderen Thread von gestern, in dem sich ein 
Nachwuchsprogrammierer mit genau derselben Methode (32kHz) ratz/fatz aus 
seinem µC ausgesperrt hat, weil sein Brenner die ISP Frequenz nicht mehr 
weit genug runterbekommt.

Ich verstehe ja, dass er Strom sparen will. Aber braucht ein normaler 
Quarz wirklich soviel mehr Strom als ein 32kHz?
#2458978
Lesenswert?

at89 beginner schrieb:
> nutze einen at89c51ed2

Der uc hat einen seriellen Bootloader und kann mit FLIP programmiert 
werden. Mit den 32768 Hz Quarz dürfte das jedoch nicht gehen.

Laufen würde der uc prinzipiell auch mit dieser Taktfrequenz. Ein 
Taktzyklus würde ca. 360us dauern. Da ist in einer Sekunde nicht viel zu 
schaffen, für eine einfache Uhr sollte es aber reichen. Der uc hat noch 
den X2 Mode, wo alles doppelt so schnell abgearbeitet wird.

Ich würde aber auch einen höheren Quarz nehmen, einen womit FLIP noch 
ordentlich zurecht kommt.
Gast #2459051
Lesenswert?

> P0 hat ja interne Pullups
Datenblatt komplett lesen: Gilt nur bei Verwendung von 
MOVX/MOVC-Befehlen, die auf den externen Daten-/Programmspeicher 
zugreifen.
Bei Verwendung als normaler Port ist da nüscht mit internen Pull-Ups, 
braucht's externe.

Ralf
#2459842
Lesenswert?

Karl Heinz Buchegger schrieb:
> Ich verstehe ja, dass er Strom sparen will. Aber braucht ein normaler
> Quarz wirklich soviel mehr Strom als ein 32kHz?

Nicht der Quarz verbraucht mehr Strom, sondern der Controller. Die 
Stromaufnahme des Controllers steigt proportional zur Taktfrequenz mit 
an. Und das macht zwischen 32768Hz und ein paar MHz schon einen 
deutlichen Unterschied.

Aber ich halte es trotzdem nicht für Sinnvoll, den Controller so niedrig 
zu takten. Ich würde da eher einen 1MHz Quarz nehmen. Dann könnte man 
den Controller zeitweise schlafen legen und durch einen Timer aufwachen 
lassen. Da hat man immer noch genug Rechenleistung um in kurzer Zeit die 
Uhr zu aktualisieren und anschließend wieder in den Suspend Modus zu 
gehen. Das macht mehr Sinn als den Controller nur mit 32768Hz zu takten.

Ciao,
     Rainer
Gast #2460083
Lesenswert?

Fox Mulder schrieb:
> Aber ich halte es trotzdem nicht für Sinnvoll, den Controller so niedrig
> zu takten. Ich würde da eher einen 1MHz Quarz nehmen. Dann könnte man
> den Controller zeitweise schlafen legen und durch einen Timer aufwachen
> lassen. Da hat man immer noch genug Rechenleistung um in kurzer Zeit die
> Uhr zu aktualisieren und anschließend wieder in den Suspend Modus zu
> gehen. Das macht mehr Sinn als den Controller nur mit 32768Hz zu takten.

100% ACK
Wobei der 89c51ED2 nicht die beste Wahl ist wenns um Batteriebetrieb 
geht.
#2460114
Lesenswert?

Peter Dannegger schrieb:
> Stephan schrieb:
>> Wobei der 89c51ED2 nicht die beste Wahl ist wenns um Batteriebetrieb
>> geht.
>
> Bei LEDs an 100 Ohm dürfte der Stromverbrauch des MC egal sein.

:-)
Ich geh ja doch davon aus, dass er einen der Taster als 'Ich will sehen' 
Taster benutzt.

Was natürlich den ersten paar Batterie-Sätze nichts hilft, denn wenn was 
neu ist, muss man alle 10 Sekunden drauflinsen :-)
Gast #2460164
Lesenswert?

Peter Dannegger schrieb:
> Stephan schrieb:
>> Wobei der 89c51ED2 nicht die beste Wahl ist wenns um Batteriebetrieb
>> geht.
>
> Bei LEDs an 100 Ohm dürfte der Stromverbrauch des MC egal sein.
>
>
> Peter

Das ist wohl wahr. Das ganze Konzept ist etwas unstimmig.
LED und Batterie passen nicht so richtig zusammen.
Deswegen ja die Frage nach dem Strom. Auch hätte ich einen 2051 
genommen. Nicht solch einen Boliden.
Trotzdem gibts für Batteriebetrieb deutlich bessere Sachen als AT89Cxxx
Gast #2460481
Lesenswert?

Hallo, danke für rege Beteiligung!

Also die Spannungsversorgung klappt, warern die Batterien.Hab jetz 
einfach erstmal ein Netzteil drangehangen!

Zu euren Einwänden: Ja ist schon korrekt, das LED+Vorwiderstand auch 
viel Strom brauchen, es sollte ja nur ein erstes Projekt werden um sich 
reinzufinden, wollte mir das nicht um den Arm binden^^ Aber trotzdem gut 
zu wissen!

Und den 32KHz Quarz wegzulassen verstehe ich auch, ist wahrscheinlich 
sinniger diese zu nutzen, wenn man eine rtc benutzt.

Die LEDs müssten doch reichen, habe nur in der Beschriftung im 
Schaltplan hour & min vertauscht(Asche auf mein Haupt^^).
Will ja kein BCD Code.


-----------------------------------------------------------------------

So also ich habe jetzt einen 12Mhz Quarz (CL=32pF) an der Schaltung. 
Wenn ich jetz allerdings ein einfaches Programm auf den µC lade

#include "AT89C51xd2.h"

void main(void)
{
  P1=0x00;
  P2=0x00;
  P3=0x00;
  while(1);
}

...funktioniert das nicht, Pins alle auf high.

Könnte das jetz daran liegen, dass ich die CL´s bei 22pF gelassen hab 
oder hab ich einfach irgendwas falsch verdrahtet?

LG
Gast #2460616
Lesenswert?

Also: ich Programmiere das ganze über den Flip, wenn der µC im Eval 
Board steckt, dort gehen die Ports auch auf 0.
Dann nehme ich ihn raus und setze ihn in die Schaltung. Deshalb müsste 
die Application ja schon gestartet sein.


Was ist BLJB?
#2460651
Lesenswert?

skua schrieb:
> Stephan Henning schrieb:
>> 00 0000 000 0000
>>     1 1001 000 0000  19:00 Uhr
>>    10 0000 000 0000  20:00 Uhr
>>    10 0011 101 1001  23:59 Uhr
>
> Schon klar aber das ist die einzelziffern Variante für die breite Masse.
>
> skua schrieb:
>> richtige Binäruhr
>
> So bei der 11 Bit Variante.
>
>     10111 111011 23:59
>
> MfG

o.k. Auch ich lerne dazu. Alles eine Frage der Darstellung.
Ich bin nicht drauf gekommen. Erst das Bild der Uhr hat es mir 
offenbart.
Ich stamme eben von den 8 Bit Microcontrollern ab.
Die betrachten alles Byte oder Wortweise. Ich auch.

Eine gute Knobelaufgabe für eingerostete Gehirnzellen ab 40+.   :-)))

Danke.
#2460781
Lesenswert?

at89 beginner schrieb:
> Also: ich Programmiere das ganze über den Flip, wenn der µC im Eval
> Board steckt, dort gehen die Ports auch auf 0.
> Dann nehme ich ihn raus und setze ihn in die Schaltung. Deshalb müsste
> die Application ja schon gestartet sein.
>
>
> Was ist BLJB?

Teste nicht auf Null oder High.
Nimm irgendeine Bitkombination. die ist nach vollziehbar.
zB. 01010101 oder 11110000 etc.pp

Dann weist Du ob der Controller arbeitet.
Gast #2479152
Lesenswert?

Nochmal eine Frage:
weiter oben schrieb Karl Heinz Buchegger von einem Ich will sehen 
Schalter.
Wie nennt man denn diese Art der Nutzung für den Schalter?
Da ich das nicht weiß, konnte ich auch bei der Suche im Forum nix zur 
Realisierung finden.
Also wenn der Taster gedrückt wird sollzen die jeweiligen Leds so 5 
sekunden lang leuchten.

Kann mir da jmd. weiterhelfen?

Danke

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