Hallo Leute ich habe ein kleines Problem... Muss ich etwas beachten wenn ich einen AT89C2051 Controller programmieren will? 1) Ich habe mir ein Programmer gebaut läuft jetzt super. 2) Wenn ich den Controller auslese sehe ich das programmierte Programm. 3) Controller mit VCC und GND verbinden 4) RESET über ein 10uF/63V zu VCC Das müßte doch die Hardware Beschaltung sein oder nicht? Meine Software sieht so aus: #include <at892051.h> // Headerdatei Controller einbinden void main() { while(1) { P1_0 = 0; P1_1 = 1; P3_0 = 0; P3_1 = 1; } } Leider funktioniert das einfache Programm nicht. Was mach ich bloß falsch?? Mit freundlichen Grüßen Christian
Hallo Arno 11.05921 MHz und zwei 27p Kondensatoren. Mit freundlichen Grüßen Christian
Ich kenne den AT89C2051 Controller nicht, aber gehört an Reset nicht noch ein 10k Widerstand nach Masse? Mit C Programmen kenne ich mich nicht aus, da kann ich leider nicht helfen. Gruß, Arno
#include <at892051.h> // Headerdatei Controller einbinden sbit P1_0 = P1^0; sbit P1_1 = P1^1; sbit P3_0 = P3^0; sbit P3_1 = P3^1; void main() { while(1) { P1_0 = 0; P1_1 = 1; P3_0 = 0; P3_1 = 1; } } mit dem sbit gehts zumindest ganz sicher mit dem Keil Compiler
Hallo Ich hatte ein ähnlichhes problem. Den Fehler habe ich bis jezt noch nicht gefunden. Gruss Florian
Hab' hier noch fast die gleiche Schaltung rmfliegen, ist noch ein bischen mehr drumherum, aber nichts was die Funktion beeinflußt. Hab gerade Dein Programm genommen, und es so geändert, daß die LED an Port 3 getoggelt wird. Mit dem Oszi nachgesehen, 'blinkt' wunderbar. Schwing Dein Quarz?
Hallo Jürgen kann ich ohne mit dem Oszilloskop zu messen sehen ob mein Quarz schwingt? (Multimeter??) Mit freundlichen Grüßen Christian
Miß doch mal mit 'nem Multimeter (DC) Pin 4 und 5 gegen Masse da sollte an Beiden Pins etwa die halbe Betriebsspannung liegen, so hast Du zumindest sagen schwingt oder schwingt nicht, ob die Frequenz OK ist kannn man natürlich nicht sagen.
Hallo Jürgen ich messe 2.4V an PIN4 und PIN5 d.h. der Controller schwingt. Sollte ich vieleicht mal diesen 10k Widerstand von dem oben Erzählt worden ist einbauen? Ich kann das ja mal ausüprobieren.. Hast du vieleicht noch eine weitere Idee was das sein kann. Mit freundlichen Grüßen Christian
Hallo Christian, du machst meiner erfahrung nach folgendes falsch: 1. du musst alle Ausgänge bei der e-init auf 1 setzen P1_0 = 1; P1_1 = 1; P3_0 = 1; P3_1 = 1; 2. P1.0 und P1.1 haben keine Pull up Widerstände, diese musst du extern anbringen da es ein Komperator Eingang ist. Der Kondensator mit 27pF ist ok, leichter schwingt der Quarz aber mit 33pF.
Sorry, hab zu früh auf "Submit" geklickt :) Den Resetkreis solltest du ja schon so haben wie in meinem Schaltbild zu sehen ist, falls nicht ändere ihn so ab! Was ich in deinem Sorcecode auch nicht ganz verstehe wie du den LED Port zum Toggeln bringen willst??? Gruß, Michael
}:-O Der LED Port soll Toggeln? das halte ich bei dem Quelltext dann doch wohl eher für ein Gerücht. @Christian: Was erwartest Du denn, was Deine Schaltung mit dem oben geposteten Progrämmchen macht?
Hallo Juergen Hallo Michael vielen Dank für eure Hilfe. Das Programm soll nicht toggeln. Ich möchte nur die einzelnen Ausgänge auf HIGH oder LOW setzten. Nichts besonderes nur als Funktionstest. Ich versuche mal eure Tipps in die Praxis umzusetzten. Mit freundlichen Grüßen Christian
Hallo Leute ich habe mal die Tipp`s in die Tat umgesetzt leider ohne Erfolg. Ich habe mal meine Schaltung und die Spannungswerte die ich am Controller messe als Anhang beigefügt. Ich hoffe Ihr könnt mir weiter helfen. Quelcode sieht jetzt so aus: #include <at892051.h> // Headerdatei Controller einbinden void main() { P1 = 0xFF; while(1) { P1_7 = 0; } } Mit freundichen Grüßen Christian
ja, das sieht doch gut aus... bis auf P1.7. Besorg Dir mal einen zweiten Controller zum Testen, ich befürchte der ist im Eimer.
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.