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!
PS: nutze einen at89c51ed2, nicht wie in der Schaltung bezeichnet Pin Belegung ist aber die gleiche.
sieht auf den 1. Blick brauchbar aus. Was sind das für Batterien ? Halten die den Strom aus ? Wie hoch ist die ges. Stromaufnahme ?
Du willst wirklich deinen µC mit 32kHz takten? Mit Verlaub, aber das ist Blödsinn!
> 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.
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).
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?
Ok, da werde eure Ideen mal nachher in die Tat umsetzen, hab noch andere Batterien und einen 12Mhz Quarz, da werde ich den nachher mal umlöten. Danke
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.
> 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
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
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.
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
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 :-)
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
at89 beginner (Gast), kannst Du überhapt was mit hexadezimalen Zahlen anfangen und die ohne Tabelle umrechnen?
Pieter schrieb: > at89 beginner (Gast), > kannst Du überhapt was mit hexadezimalen Zahlen anfangen und die ohne > Tabelle umrechnen? Peter, was soll er umrechnen, er git binär aus. Nur fehlen dafür noch 2 LED(s) sehe ich gerade. Habe jetzt erst mal nachgezählt. Das wird eng mit 11 Bit.
Stephan Henning schrieb: > Habe jetzt erst mal nachgezählt. Das wird eng mit 11 > Bit. Wieso? Wenn das eine richtige Binäruhr ist dann reichen 5 Bit für die Stunden und 6 Bit für die Minuten.
skua schrieb: > Stephan Henning schrieb: >> Habe jetzt erst mal nachgezählt. Das wird eng mit 11 >> Bit. > > Wieso? Wenn das eine richtige Binäruhr ist dann reichen > 5 Bit für die Stunden und 6 Bit für die Minuten. 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 sind bei mir 13 Bit.
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
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
Ein Beispiel dafür das es sowas wirklich gibt: www.zeichenderzeit.de/uhrenbilder/k/KT102B1.jpg LG
at89 beginner schrieb: > ...funktioniert das nicht, Pins alle auf high. Vermutlich noch im Programmiermodus. Entweder "Start Application" oder BLJB Häkchen weg. Peter
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?
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.
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.
Das Problem war übrigens nur ein Taster für den Reset, der um 90° falsch eingebaut war, so dass der µc immer im Reset war. dämlichdämlich...^^
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.