Forum: Mikrocontroller und Digitale Elektronik Assembler für AT89C51ED2


von Michael B. (gm8816)


Lesenswert?

Hallo,
ich möchte einen AT89C51ED2 von Atmel programmieren. Leider finde ich 
keinen passenden Assembler dafür. Ich habe zwar den 8051 CROSS ASSEMBLER 
gefunden aber ich weiß nicht so recht ob der auch alle Befehle für 
meinen Controller kennt. Kann mir da vielleicht jemand helfen. Ich suche 
außerdem eine gute Entwicklungsumgebung. Ich habe schon MIDE-51 versucht 
aber beim Kompilieren hängt sich das Programm auf und mein Controller 
ist dort ebenfalls nicht aufgeführt.

von E. B. (roquema) Benutzerseite


Lesenswert?

Der AT89C51ED2 ist ein 8051 Kompatibler, d.h. er hat den gleichen 
Befehlssatz wie alle anderen Controller dieser Gattung.
Willst du in C oder Assembler programmieren?
Für Assembler gibts z.B. Batronix Progstudio IMHO ganz ordentlich zu 
gebrauchen.
Für C ist der SDCC (mit MIDE als GUI) doch ok?!
Wenn kein passendes include-file da ist nimm halt eins für einen anderen 
89X51. So viele Unterschiede gibts da nicht, oder pass dir so eins an. 
Siehe Datenblatt für die zusätzlichen Fetures.
Was geht den bei MIDE nicht?

von Michael B. (gm8816)


Lesenswert?

Ich programmiere in Assembler. Also kann ich praktisch den 8051 CROSS 
ASSEMBLER benutzen? Ist ja alles der gleiche Befehlssatz obwohl das 
Programm von 1990 ist. MIDE hängt sich immer auf wenn ich kompilieren 
will. Habe einfach mal ein simples Programm ohne include Dateien 
geschrieben. Habe auch einfach mal nur ganz viele nop Befehle benutzt 
aber es stürzt immer ab.

von norad (Gast)


Lesenswert?

Benutze Batronix Progstudio! Ist voll Easy und dort kannst Du den 
AT89C51ED2 über Serielle Schnittstelle programieren.

http://www.progshop.com/versand/software/prog-studio/index.html

Lade dir einfach mal die Demoversion runter.

Alternative ist Ride bis 8k.
http://www.raisonance.com/download/index.php
Brauchst nur "Eval51 (all vendors)" downloaden und von Atmel den Flip
http://www.atmel.com/dyn/products/tools.asp?family_id=604


Gruß
norad

von Michael B. (gm8816)


Lesenswert?

Leider bin ich noch Schüler und kann mir keine Programme für 200€ 
leisten obwohl Prog Studio 2007 sehr Leistungsfähig aussieht. Ich will 
jetzt eigentlich nur noch wissen ob ich diesen Cross Assembler von der 
Atmel Seite     benutzen kann oder nicht. Ich muss dann wohl bei einem 
Texteditor bleiben. Ist zwar umständlich aber es führt ja auch zum Ziel.

von Michael W. (michelw)


Lesenswert?

Hallo,
ich nehme den Asem51, ist Kostenlos.
Dazu ein Texteditor und ein Paar Batchdateien.
Ich kann sogar über meinen Texteditor die soft in den Controller 
schiessen.
Includefile und die Batchdateien kann ich hier reinstellen.

von Michael B. (gm8816)


Lesenswert?

Das wäre wirklich sehr nett mir die Dateien zu schicken. Damit ist mir 
auf jeden fall weitergeholfen.

von Michael W. (michelw)


Angehängte Dateien:

Lesenswert?

Hallo,
hier die include Datei.
ASEM gibts unter :
http://plit.de/asem-51/download.htm

Hier mal der Header einer Assembler Datei:

$DATE(JULY 2005)      ;SET DATE STRING
$DEBUG                ;GENERATE DEBUG INFORMATION (OMF-51 OUTPUT ONLY)
$PAGELENGTH (1000)      ;SET LIST FILE PAGE LENGTH TO 60 LINES
$PAGEWIDTH (100)      ;SET LIST FILE LINE WIDTH TO 110 COLUMNS
$NOTABS               ;EXPAND ALL TAB CHARACTERS TO BLANKS
$NOSYMBOLS            ;DON'T GENERATE A SYMBOL TABLE
$XREF                 ;GENERATE A CROSS REFERENCE LISTING
$NOBUILTIN            ;DO NOT LIST PREDEFINED SYMBOLS (SFR)
$NOMOD51              ;DISABLE PREDEFINED STANDARD 8051 SFR SYMBOLS

; 2. GENERAL CONTROLS:
; --------------------

$TITLE(DMX-PWM 5CH)
$INCLUDE (89C51RX2.MCU)   ;INCLUDE 8052 SFR SYMBOL DEFINITIONS
; 3. ANSCHLUSSZUWEISUNG
; ---------------------
  BCD    DATA  020H  ;BCD STELLUNGEN
  AKT_KAN  DATA   022H  ;AKTUELLER KANAL
  FLAGS    DATA   023H  ;STATUSFLAGS
  TEMP     DATA   024H    ;TEMPORÄRE AUSGABE
  BCD_HEX  DATA   025H  ;Hunderter stelle
jetzt kommt das Programm....

Hier die Batchdatei zum Assemblieren
----------------------------------------
PATH=D:\ASEM51
PATH=D:\ASEM51\SOURCE
PATH=D:\ASEM51\mcu
Path=D:\Asem51\DMX-PWM-5CH-24V

SET ASEM51INC=D:\ASEM51\MCU;D:\ASEM51

D:\asem51\ASEMW.EXE DMX_LED_5CH.asm
D:\asem51\hexbinw.exe DMX_LED_5CH.hex
PAUSE
------------------------------------------

Jetzt was zum brennen via Flip:
-------------------------------------------------------
"D:\Asem51\"batchisp.exe -cmdfile 
"D:\asem51\DMX-PWM-5CH-24V-LC\batch.isp"
--------------------------------------------------------

und hier die batch.isp für flip:

-----------------------------------------------------------
-device AT89C51ED2
-autoisp

-hardware RS232
-port COM1
-baudrate 57600

-operation

loadbuffer
"D:\ASEM51\DMX-PWM-5CH-24V-LC\DMX_LED_5CH.hex"
program
verify
start reset 0
----------------------------------------------------------

Als Editor nutze ich Ultra Edit, gibt ne Eingeschränkte Version.
Da kann ich die Batchdatein auf einen Button legen.

Ich hoffe das hilft Dir weiter.

von Michael W. (michelw)


Lesenswert?

Ach so, zum Brennen benötigst Du natürlich ein Interface, besteht aus 
ein paar Bauteilen. Findest Du hier im Forum.
Ich habe alles auf Auto ISt stehen, also Flip steuert Reset und PSEN.

Die Pfade der Batchdateien musst Du natürlich an Deine gegebenheiten 
anpassen.

von Michael W. (michelw)


Lesenswert?

Sollte heissen Auto ISP

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
Noch kein Account? Hier anmelden.