mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Hilfe AT89C2051 will nicht !!


Autor: Christain (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Conlost (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

womit erzeugst du den Takt?

Gruß,
Arno

Autor: Christain (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Arno

11.05921 MHz und zwei 27p Kondensatoren.

Mit freundlichen Grüßen
Christian

Autor: Conlost (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Berti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
#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

Autor: Berti (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ach ja das Schaltbild...

Autor: Florian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich hatte ein ähnlichhes problem. Den Fehler habe ich bis jezt noch
nicht gefunden.

Gruss Florian

Autor: Juergen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Christain (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jürgen
kann ich ohne mit dem Oszilloskop zu messen sehen ob mein Quarz
schwingt? (Multimeter??)

Mit freundlichen Grüßen
Christian

Autor: Juergen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Christain (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Michael (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Juergen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
}:-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?

Autor: Christain (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Christain (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Juergen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.