mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR Studio mit AT89C51 MPU


Autor: IGGE (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann ich den AT98c51 MPU im AVR Studio Programmieren (Assembler)?
Und wo bekomme ich die Include Datei her?

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, der Assembler, der beim AVR Studio dabei ist, ist ein reiner
AVR-Assembler.

Was gehen sollte ist, dass du das beiliegende Programmierwerkzeug
stk500.exe (lässt sich über den Programmierdialog aufrufen) benutzen
kannst, um ein vorliegendes Firmwarefile (Intel-Hex-Format) mittels
eines STK500 in einen AT89C5x zu programmieren.

Autor: Peter Diener (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

du meinst sicher den AT89c51 (>neunundachtzig).
Das ist ein 51er, kein AVR. Demzufolge kann ihn der AVR Assembler auch 
nicht. Ich weiß auch gar nicht, ob es überhaupt kostenlose Compiler 
dafür gibt. Wir verwenden für 51er einen teuren, kommerziellen Compiler. 
Du kannst es vielleicht mit ein paar Demoversionen versuchen.

Grüße,

Peter

Autor: IGGE (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die schnelle Antwort.
der MPU ist doch ISP-fähig, kann ich mein ISP USB MK2 Programmieradapter 
dafür nehmen? oder brauche ich was anderes?

Autor: Thorsten Fritzke (thorsten)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der C51 ist nicht ISP fähig.
Du braucht den S51 oder S52. Die beiden können zumindest vom STK500 
programmiert werden.

Autor: IGGE (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry ich habe oben nicht mein genauen MPU-Typ genannt, habe den 
AT89C51ED2.
Laut Datenblatt hat der ein SPI Interface mit den Üblichen ISP 
Programmierleitungen, wie bei einem Atmega8 z.B.,
bis auf das die RST-Leitung bei dem Atmega8 Negiert ist.
Eventuell verstehe ich den Unterschied nicht ganz.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
IGGE wrote:

> Laut Datenblatt hat der ein SPI Interface mit den Üblichen ISP
> Programmierleitungen, wie bei einem Atmega8 z.B.,
> bis auf das die RST-Leitung bei dem Atmega8 Negiert ist.

Dann könnte er wirklich kompatibel mit dem genannten AT89S51 sein,
d. h. du kannst ihn mit einem STK500 flashen.

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Sorry ich habe oben nicht mein genauen MPU-Typ genannt, habe den AT89C51ED2.
Wo ist dann das Problem? Lies das Datenblatt, das zeigt dir dann, dass 
der ED2 einen internen Bootloader hat, welcher über die serielle 
Schnittstelle seine Befehle erhält. D.h. du brauchst keine externe 
Hardware, um das Teil zu programmieren, sondern nur einen Assembler oder 
C-Compiler.
Programmiert wird das Teil dann über die Atmel-FLIP-Software.
Funktioniert wunderbar, wenn dein Board dafür ausgelegt ist: An den 
/PSEN-Pin muss über einen 1k-Widerstand ein Taster nach GND. Wird der 
Taster beim Einschalten gedrückt, startet der interne Bootloader, und du 
kannst über FLIP dein Programm runterschicken und brauchst wie gesagt 
keine zusätzliche Hardware, nur eben den passenden Assembler oder 
C-Compiler. Gibts in Demo-Versionen von Keil, Wickenhäuser, etc. Der 
SDCC unterstützt 8051 soweit ich weiss auch, also alles da, was du 
brauchst :)

Ralf

Autor: IGGE (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lassen wir mal den bootloader außen vor.
Der AT89C51ED2 hat, laut Datenblatt, die ISP Leitung die ich gerne zum 
flashen nehmen möchte ( SCK/MOSI/SS/und MISO ).
Das ist zur Zeit mein Verstäntnissproblem, weil ich die MPU mit dem MK2 
flashen möchte, wenn das überhaupt geht.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
IGGE wrote:

> Das ist zur Zeit mein Verstäntnissproblem, weil ich die MPU mit dem MK2
> flashen möchte, wenn das überhaupt geht.

Meines Wissens ist das entsprechende Feature der umschaltbaren
Reset-Funktionalität nur im STK500 implementiert worden.

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Anschlüsse MOSI, MISO und SCK gehören zum SPI-Interface, das 
zunächst nichts mit In-System-Programming zu tun hat! Bei den meisten 
AVRs (es gibt einige Ausnahmen, namentlich die 64-pinnigen 
ATMega128-Derivate) und bei einigen anderen µCs wird die Hardware des 
SPI für die In-System-Programmierung benutzt. Beim AT89C51ED2 ist das 
afaik nicht der Fall! Das Datenblatt sagt zur Programmierung:
There are three methods of programming the Flash memory:
1. The on-chip ISP bootloader may be invoked which will use low level routines to program
the pages. The interface used for serial downloading of Flash is the UART.
2. The Flash may be programmed or erased in the end-user application by calling lowlevel
routines through a common entry point in the Boot ROM.
3. The Flash may be programmed using the parallel method by using a conventional
EPROM programmer. The parallel programming method used by these devices is similar
to that used by EPROM 87C51 but it is not identical and the commercially available
programmers need to have support for the AT89C51RD2/ED2. The bootloader and the
Application Programming Interface (API) routines are located in the BOOT ROM.
Eine In-System-Programmierung über SPI ist demnach nicht 
implementiert. Es geht nur mit dem integrierten Bootloader (über UART), 
durch das Programm  oder parallel mit einem Programmiergerät. Mit dem 
STK500 kannst Du da nichts anfangen.

Autor: IGGE (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Johannes
Danke für die Antwort. Binn noch ein blutiger Anfänger auf der µC 
Schiene.
Also kann ich den chip nicht mit meinem MK2 flaschen.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
IGGE wrote:
> Also kann ich den chip nicht mit meinem MK2 flaschen.

Du kannst ihn doch ohne MK2 flashen, es ist völlig überflüssig.

Einfach direkt per MAX232 an die COM anschließen und per Flip flashen.


Peter

Autor: IGGE (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke für eure Hilfe Jungs.
könnt ihr mir noch ein Schaltplahn dazu Schiken?
Kann ich mit AVR Studio den Syntax für die MPU Schreiben, ich denk doch.
Und danach mit ATMEL-Flip in den Chip!

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
IGGE wrote:
> Kann ich mit AVR Studio den Syntax für die MPU Schreiben,
Was für eine "Syntax" willst Du da schreiben? Nochmal: Das AVRStudio 
heißt so, weil es für AVR-Mikrocontroller gemacht ist. Dein AT89C51 ist 
aber ein 8051er Controller und hat einen komplett anderen Befehlssatz. 
Du musst Dir entsprechende 8051er-Tools besorgen, um den programmieren 
zu können.

Autor: IGGE (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen dank für eure Hilfe und Gedult, binn jetzt um einiges schlauer.
Habe bis jetzt nen Atmega8 & 16 mit AVR Studio Programmiert, daher habe 
ich  einiges verbinden wollen was garnicht geht.
Da muss ich noch viel Lesen, bis zum nähchsten Chät, cu.

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.