Forum: Mikrocontroller und Digitale Elektronik 8051 Entwicklungsboard


von Peter D. (peda)


Angehängte Dateien:

Lesenswert?

Sehr oft wurde schon nach Entwicklungsboards zum Einstieg in
die MC-Programmierung gefragt.

Anbei eine einfache Schaltung, die man schnell auf eine Rasterplatine 
selber hinkriegt.

Mit anderen Worten, man braucht keine superteuren Boards zu kaufen.

Nur noch die Flip-Software von Atmel runterladen und los gehts.

Für die Linux-Fraktion gibt es auch eine Flip Version.


Als freier Assembler, ist der Metalink-Assembler quasi Standard.

Als freien C-Compiler gibt es den SDCC, aber damit habe ich keine 
Erfahrungen, da ich den Keil benutze.


Da bleibt mir nur noch, viel Spaß und Erfolg zu wünschen.

Peter

von Stephan (Gast)


Lesenswert?

Hallo Peter,

habe mir den Plan mal angesehen, ist klasse für'n kleines Projekt in dem 
ich die drei 16bit Timer brauche.
Habe mich bis jetzt nicht an die AVR's rangetraut, da ich die 8051 
bevorzuge.

Hast Du ein Quelle wo man den T89C51RD2 bekommen kann, evtl. auch den 
'CC01' mit CAN.
TRange sollte -40/85 oC sein.

DANKE.Gruss Stephan

von Stephan (Gast)


Lesenswert?

@Peter

Alles Klar, hat sich erledigt. Alles bei Reichelt zu
kriegen.

von Mark Bentheim (Gast)


Lesenswert?

Wirklich super,

keinerlei Kommentare, keine Beschreibung.


So stell ich mir Schaltungsbeispiele jedenfalls nicht vor.

Die sollen doch auch nachnutzbar sein und möglichst auch von nicht so 
erfahrenen Elektronikern.


So ist es nur eine Verschwendung von Forum-Platz.

von Stephan (Gast)


Lesenswert?

Mal sachte ... Mark

Fragenden Menschen kann geholfen werden.
Beim Peter auf dem Entwicklungsboard ist alles
was man so braucht.
Wenn Du einen kleinen Einstieg suchtst schau mal
bei den links oder melde Dich dann kann ich Dir
ein kleines Tutorial zusammenstellen.

von Peter D. (peda)


Lesenswert?

Was soll ich da noch mehr beschreiben, die 8 Tasten sind zum Drücken und 
die 8 LEDs zum Leuchten.

Reicht aus, um in die Grundlagen einzusteigen (LED an, aus, blinken, 
Lauflicht, Ampel, Tastenentprellung, Timer, UART usw.)

Und das man an VCC +5V gegen GND anlegen muß, dürfte auch klar sein.

"Program" bedeutet in den Programmiermodus gehen und "Reset" bedeutet 
Reset.


Mark, es würde mich mal interessieren, ob ich da zuviel vorausgesetzt 
hatte. Ist halt schwer sich in andere reinzudenken.


Peter

von Oryx (Gast)


Lesenswert?

Hallo Peter,

ich habe mir Deine Vorschläge mal kurz angesehen.

Die FLIP Software ist wohl zum Flashen.

Der Kompiler war auch ganz einfach zu finden.

Mehr braucht man wirklich nicht. Was jetzt noch ganz hilfreich wäre, ist 
ein kurzes Bespielprogramm, das mit dem Kompiler kompiliert wird und 
dann in den Controller übertragen und zum Laufen gebracht wird.

Also Mark Äußerungen sind nicht nachvollziehbar. An einem ruhigen 
Nachmittag könnte ich so einen 8051 doch mal testen. Irgendwann 
funktioniert Deine Werbung.
Wenns läuft werde ich mich mal melden. Wenn nicht, sowieso.

Oryx

von Matthias (Gast)


Lesenswert?

Hi

minimales Beispielprogramm für Peters Board für den SDCC

#define MICROCONTROLLER_T89C51RD2
#include <mcs51reg.h>

void main(void)
{
    while(1) P0 = P2;
}

Das sollte den Zustand der Taster auf den LED's ausgeben.
Taste gedrückt = entsprechende LED leuchtet

Matthias

von Benno (Gast)


Lesenswert?

Ich habe schon länger diesen uC bei mir liegen, konnte aber keine 
passsende Software dafür bei Atmel finden. Dank diesen Beitrag habe ich 
jetzt alles was ich brauche !
Gibt es eigentlich irgendwo im Internet eine Beschreibung zum AT89C51Rx2 
? Abgesehen vom normalen Datenblatt, denn da stehen nicht genügend Infos 
drin.

Wann wurde der 8051 eigentlich enwtickelt ? Im Internet findet man dazu 
recht wenig, nur dass es irgenwann in den 80er Jahren war...

von Martin (Gast)


Lesenswert?

Hallo
Ich habe noch eine Frage.
Was ist der Unterschied zwischen der FLIP-Software und der AT89ISP - 
Software, die es zum Runterladen gibt

Martin

von Michael (Gast)


Lesenswert?

@Henno:

Such mal die 8051 FAQ. Findest Du überall im Netz.
Entwickelt wurde er 1980, im Netz kursiert ein eingescanntes 
Original-UserManual von Intel, ca. 350 Seiten gross.
Ausserdem kannst Du bei Philips ein paar PDFs runterladen:
Family Architecture, Hardware Guide, Programmers Guide.

von Martin (Gast)


Lesenswert?

Hallo
Benötigt man nicht noch zusätzlich ein Startup-File für den C-Compiler?

Martin

von Matthias (Gast)


Lesenswert?

Hi

das wird automatisch vom Linker dazugebunden.

Matthias

von Oryx (Gast)


Lesenswert?

Hallo Peter,

ich habe deine Schaltung mal aufgebaut. Läuft super.
Mit dem Beispielprogramm von Mathias ist auch der Einstieg in die 
Programmierung einfach.

Also vielen Dank

Oryx

von Lugge (Gast)


Lesenswert?

HI, kann deine schaltung auch mit einem AT 89C51ED2 betrieben werden,
oder ist dazu eine umständliche modifikation der schaltung nötig?

von Robert O (Gast)


Lesenswert?

Hallo,
Hab mir das Board nach dem obigen Schaltplan aufgabaut und hab jetzt
folgendes Problem:
Wollte mit Flip von Atmel mein Programm übertragen bekomme aber immer
wieder den Fehler "Timeout error". Kann mir irgend jemand Helfen?

von Dietmar (Gast)


Lesenswert?

@peter:

Hatte mal SDCC für den PIC herunter geladen, aber Floating Point
Routinen sind da auch nicht drin. Nun ja, man braucht sie in vielen
Anwendungen auch nicht wirklich bzw. kann etwas improvisieren.

Gruß

Dietmar

von peter dannegger (Gast)


Lesenswert?

@Robert,

welche 8051-Typ benutzt Du (genaue Bezeichnung) ?

Schwingt der Quarz (f/6 oder f/3 an ALE) ?

Nimm den 8051 raus, schließe RXD mit TXD kurz, dann muß am
Terminalprogram jedes Zeichen zurück kommen.

Setz den IC rein, mache Reset mit PSEN an GND, sende ein großes "U",
muß zurück konmmen.


Peter

von Robert O (Gast)


Lesenswert?

Hab einen "AT89C51 24PI".

Ob der Quarz schwingt kann ich zur Zeit noch nicht feststellen da ich
kein passendes Messgerät habe (mach ich aber die Tage mal).

wenn ich RXD und TXD kurzschließe kommt das gesendete auch zurück, wenn
der µC drin sitzt kommt nichts zurück.

von Peter D. (peda)


Lesenswert?

"Hab einen "AT89C51 24PI"."


Da Du den nicht unter Flip auswählen kannst, kann es auch nicht gehen.

Und im Datenblatt wirst Du auch finden, daß er keinen Bootloader hat
und nur über einen Parallel-Programmer programmiert werden kann.

Man kann nicht so einfach irgend einen MC reinstecken und erwarten, daß
es funktioniert.


Peter

von Ivo (Gast)


Lesenswert?

Gutes Entwicklungsboard muss ich schon sagen. Aber ich hab da noch ne
Frage wo kann ich die Flip-Software herunterladen?

Gruss

von Thorsten F. (thorsten)


Lesenswert?

bei atmel.com

products -> 8051 -> tools&software

gruß

von Robert O (Gast)


Lesenswert?

Ich bin's nochmal, hab jetzt einen "AT89C51ED2" eingestzt und bekomm
jetzt auch endlich ne Verbindung zu Flip. Allerdings wenn ich was
übertragen löschen ect. will kommt wieder die Fehlermeldung
"timeout error". Hat da jemand noch mal eine Idee zu?

von Stephan H. (stephan-)


Lesenswert?

geht mir auch so. Erneuter Verbindungsversuch und gut !!

von Marc M. (bytewood) Benutzerseite


Lesenswert?

abo

von Robert O (Gast)


Lesenswert?

Ein erneuter Verbindungsaufbau hilf bei mir auch nicht.

von Dieter (Gast)


Lesenswert?

Müsste eigentlich gehen - spiel mal ein bischen mit der Baudrate, sollte
aber mit fast jeder Rate gehen. Prüf mal nach, ob da irgendwelche
Wackelkontakte oder schlechte Leitungen vorhanden sind.

von Robert O (Gast)


Lesenswert?

So hab endlich den Fehler gefunden, zwei drei Kondensatoren paralel zur
SPannungsquelle und schön funktionierte es. ;-)

Allerdings hab ich festgestellt das ich dei Ports P1.5 - P1.7 nicht
ansteuern kann,die sind wenn ich sie ansteuern will immer auf Low und
wenn ich den port nicht anspreche ganz normal auf 5V wegen den Pull
Up's. Wenn ich die Ports einlesen will und auf einen der Drei high
pegel lege gehen all drei auf high und bei Low eben alle auf Low. Hab
im Datenblatt gelesen das die noch für einen Bus gut sind (glaub es war
SPI) muss man den erst Deaktivieren oder so?

von Stephan H. (stephan-)


Lesenswert?

Kurzschluß !!!!
>> Hab mir das Board nach dem obigen Schaltplan aufgabaut....

anscheind nicht.... Port 1 ist in Peters Plan nicht beschaltet.
Ergo.... keine Pull UP´s da, Werden auch nciht gebraucht.
Sind nämlich schon drin....

Irgendwo ist da nen Kurzer drin

>>> Wenn ich die Ports einlesen will und auf einen der Drei high
pegel lege gehen all drei auf high

Wie jetzt, ???? Ich denke Du hast Pull UP und die sind schon high ??
Wie legt man die denn dann auf High ????

Alles in Ruhe noch einmal durchsehen !!!!!!!!!

von Robert O (Gast)


Lesenswert?

War mal so wie oben aufgebaut aber der eigene ergeiz läst einen eben
nicht in ruhe: Also ist an Port 1 jetzt nochmal eine reihe LED
gekommen. Die Pull UP's von denen ich Rede sind die Internen.
Einen Keurzschluss schließe ich aus, da der die ja eigendlich immer auf
low ziehen würde, und nicht high oder low in abhängigkeit davon ob ich
den Port anspreche oder nicht.

Also wenn ich den Port nicht anspreche sind die Äusgänge High,
wenn ich ihn anspreche sind sie auf Low und es ist ziemlich egal ob
oder was da dran hängt ist nähmlich immer so.

von Peter D. (peda)


Lesenswert?

"Also wenn ich den Port nicht anspreche sind die Äusgänge High,
wenn ich ihn anspreche sind sie auf Low"


Na dann funtionieren sie doch.

Wenn das Low-setzen funktioniert, aber das High-Setzen nicht, dann
liegt das Problem in Deinem Programm.


Peter

von Stephan H. (stephan-)


Lesenswert?

@Peter,
er schrieb " Wenn ich die Ports einlesen will und auf einen der Drei
high pegel lege gehen all drei auf high und bei Low eben alle auf Low.
"

Das kann nur nen Kurzer..... oder er hat sich völiig falsch
ausgedrückt.
Kommt ja vor..

@Robert,
""Einen Keurzschluss schließe ich aus, da der die ja eigendlich immer
auf low ziehen würde, und nicht high oder low "

Siehst Du da liegt Dein Prblem.... warum können die 3 Ports nicht
miteinander krz geschlossen sein ??
Macht Sinn mit deiner Aussage oben !!!!! Kurzschlüsse gibts nicht nur
nach Masse oder VCC.

von Roman Riffel (Gast)


Lesenswert?

Hallo!

Ich bin neu hier und habe mir auch das Board nach dem obigen Schaltplan
aufgebaut. Habe von nem Kumpel einen Philips 80C31. Kann ich den auch
verwenden, wenn ich ne andere Software benutze? Oder geht das Board nur
mit Atmel uC?

Danke schon mal im voraus

              Roman

von Tee oder Kaffee (Gast)


Lesenswert?

Geht nur mit µC die per Bootloader über UART sich ISProgrammieren
lassen.

P.S.
Hab ich es schön formuliert?

von Roman Riffel (Gast)


Lesenswert?

D.h. den oben angesprochenen AT89C51ED2 kann ich benutzen? Denn der uC
aus der Anleitung des Boards kann ich bei Reichelt nicht finden.

Gruß Roman

von R. Ostermann (Gast)


Lesenswert?

Ja den µC kannst du problem benutzen.
Hab hier auch schon ein paarschaltungen mit dem Aufgebaut und
Funktioniert wunderbar.

von Roman Riffel (Gast)


Lesenswert?

Alles klar, dann werd ich den mal bei Reichelt bestellen. Danke.

von dbollivo (Gast)


Lesenswert?

Hallo,

habe vor geraumer Zeit auch ein einfaches Testboard gebaut und das
Ganze etwas aufbereitet und für den Einstieg verpackt. Vielleicht kann
ja jemand was damit anfangen: www.dominik-bollivo.de -> Grundausstatung
Hardware

von Roman Riffel (Gast)


Lesenswert?

Brauche ich bei dem AT89C51ED2 eigentlich eine bestimmte include-Datei
am Anfang, welche ich einbinden muss?

von R.Ostermann (Gast)


Lesenswert?

müsste eigentlich mit der ganznormalen reg51.h gehen die nehme ich immer
und damit läuft das wunderbar. Weiß jetzt aber nicht wie weit das von
dem Compiler abhängig ist.

Mfg.: R.Ostermann

von Roman Riffel (Gast)


Lesenswert?

Ok, dann versuch ichs mal mit der. Danke.

von Roman Riffel (Gast)


Lesenswert?

Ich hab mir heut den AT89C51ED2 in das board eingebaut. Wenn ich mit der
Flip Software eine Verbindung aufbauen will, kommt immer gleich "time
out error". Hat jemand eine Ahnung woran das liegen kann?

Gruß Roman

von R. Ostermann (Gast)


Lesenswert?

Hallo,
- hast du das Board nochmal auf fehler untersucht?
- Passende Baud ausgewählt?
- Richtigen µC gewählt?
- richtige Schnitstelle?
- PSEN auf Masse gezogen damit er in den BOOTloader geht und resetet?
- TXD und RXD richt?(kannst du mit comterminal oder so ausprobieren ein
U muss aufjedenfall zurück kommen)
- Kondensatoren paralle zur spannungs versorgung? (hatte ich erst nicht
und da hat er auch nichts gesagt).

mfg.: R.Ostermann

von Roman Riffel (Gast)


Lesenswert?

Fehler hab ich keine gefunden. Ich habe zwei 1uF Kondensatoren parallel
zur Spannungsversorgung. Jetzt weiß ich aber nicht genau, ob ich Elkos
oder andere Kondensatoren brauche. Schnittstelle ist RS232. PSEN ist
auch auf Masse. Was hat es denn mit dem U und dem comterminal auf sich?
Damit kann ich irgentwie nichts anfangen.

Danke für deine Bemühungen, bin halt noch recht neu auf dem Gebiet :-)

von R. Ostermann (Gast)


Lesenswert?

ja is kein problem bin auch och nicht so lange dabei und hatte am anfang
auch dieverse probleme. Is eben so.
Mit dem Comterminal und U hat es das folgende aufsich:
Mit comterminal kannst du daten über die RS232 schnittstelle senden und
sehen was dort ankommt. Wenn du die ädern 2 und 3 brückst siehst du im
terminal genau das was du gesendet hast. Wenn du hinter Pegelwandler
TXD und RXD brückst kannst du damit überprüfen ob der Pegelwandler
richtig arbeitet ( dann müsste auch ganau das zurück kommen was du
gesendet hast) und mit dem U kannst du überprüfen ob dein µC richtet
arbeite ein U muss er aufjeden fall zurück senden. Wenn er das nicht
tut kann es sein das er defekt ist.
Und die Elkos müssten eigentlich reichen.

von Roman Riffel (Gast)


Lesenswert?

Ist das ein eigenes Programm, welches ich runterladen muss, oder ist das
bei dem Flip dabei?

von Roman Riffel (Gast)


Lesenswert?

Ok, hat sich gerade erledigt, habs gefunden :-)

von Roman Riffel (Gast)


Lesenswert?

Hallo!

Ich hab das mal mit dem comterminal probiert. Wenn ich TXD und RXD
brücke, kommt nicht das selbe zurück, was ich gesendet habe, nur
irgentwelche komischen Zeichen. Kann es sein, dass der Pegelwandler
nicht richtig arbeitet oder defekt ist?

von R. Ostermann (Gast)


Lesenswert?

hallo,
ja kann sein das der pegelwandler nicht richtig arbeitet. Probier mal
aus TXD und RXD vor dem wandler zu brücken dann müsste das gleiche
zurück kommen. Sonst kann es sein das schnittstelle am pc nicht richtig
arbeitet.

von Lukas R. (Gast)


Lesenswert?

hallo leuts

ich habe eine kleine frage zur programmierung des AT89C51RD2....mir is
klar das ich das programm von atmel laden muss...aber wie muss ich den
ic am pc anschliessen??? brauche ich nicht wie bei eeproms ein
spezielles gerät um die software draufzuladen??

Ich gebe zu, hab mich sonst noch nirgends schlau gemacht (hab leider
zurzeit viel um die ohren), vielleicht kommt euch die frage dumm vor,
aber bitte gebt mir eine antwort...

gruss lukas

von Peter D. (peda)


Lesenswert?

@Lukas

Nein, Du brauchst kein Programmiergerät.

Das ist ja gerade das bequeme bei den 8051 mit Bootloader.

Einfach nur mit der COM des PC verbinden. Der Schaltplan ist für ein
1:1-Kabel. Für ein Nullmodemkabel mußt Du 2 mit 3 vertauschen.


Peter

von Roman Riffel (Gast)


Lesenswert?

Hallo!

Ich habe bei meinem Board mal den Pegelwandler ausgetauscht. Jetzt kommt 
auch das Gesendete beim Comterminal wieder zurück, aber die 
Flip-Software erkennt das Board trotzdem nicht. Weiß jemand, woran das 
noch liegen kann? Muss ich vielleicht noch ein paar Kondensatoren 
parallel schalten oder so?

Gruß Roman

von Daniel W. (danny84)


Lesenswert?

Hallo... ich wollte mir das Boar auch Bauen.
Was benötige ich?

- AT 89C51ED2 PDIP
http://www.reichelt.de/?SID=27p0sh@qwQARsAAEbrYuc0081c6d63f9dcb2d60c7e3ba97540faa;ACTION=3;LA=5;GROUP=A364;GROUPID=2960;ARTICLE=48459;START=0;SORT=preis;OFFSET=16 
<-Richtig?

- MAX 202 CPE
http://www.reichelt.de/?SID=27p0sh@qwQARsAAEbrYuc0081c6d63f9dcb2d60c7e3ba97540faa;ACTION=3;LA=5;GROUP=A217;GROUPID=2914;ARTICLE=39578;START=0;SORT=preis;OFFSET=16 
<-Richtig?

- Widerstände
- Quarz
- Kondensatoren
- Taster
- Jumper (Dip-Schalter)
- D-Sub Buchse

Sonst noch etwas?

Die Tasten aus dem Layout brauch ich auch, anstatt der Led's will ich 
aber ein LCD-Display ansteuern, müßte doch Problemlos möglich sein oder?

von Pieter (Gast)


Angehängte Dateien:

Lesenswert?

moin moin,

so etwas wie im Anhang?

mfg
Pieter

von Pieter (Gast)


Angehängte Dateien:

Lesenswert?

und ohne LCD (4x20Zeichen), statt des ED2 kann in die freie Fassung ein 
89C5131AM (5V/USB) verwendet werden.

mfg Pieter

von Daniel W. (danny84)


Lesenswert?

Sieht schön aus ^^ hilft mir aber jetzt nicht weiter!

von Pieter (Gast)


Angehängte Dateien:

Lesenswert?

hilft den der Schaltplan weiter?

von Daniel W. (danny84)


Lesenswert?

Das ist nett von dir aber im vergleich zu dem oben in der PDF von 
"Peter" (1.beitrag / thread ersteller)ist deine Schaltung viel 
komplizierter! Hat vielleicht auch viel mehr funktionen! Ich wollte die 
Schaltung auf einer Lochraster Platine oder so anfertigen, das wird bei 
deiner Schaltung etwas schwer, trotzdem nett von dir!

Wollte ja mehr oder weniger nur wissen ob ich da die richtigen Bauteile 
habe... 89c51ed2 im Dil gehäuse ist auf einer Lochraster platine 
bestimmt sinnvoller als im PLCC gehäuse!

Und ob der Max202 richtig ist, gibt soviele! Und warum ne max202 und 
nicht max232! Die habe dann auch alle noch zu komische änderungen!

Der Aufbau nach Peters Schaltplan sieht ja relativ leicht aus.

von Pieter (Gast)


Lesenswert?

die Schaltung ist nicht komplizierter, sieht nur so aus. Ausserdem sind 
da Bestückungsvarianten vorgesehen. Die selbe Leiterplatte kann also für 
verschiedene Aufgaben genommen werden.
Den ED2 in PLCC verwende ich für Testboard lieber, da er 2 zusätzliche 
Ports hat. Damit ist debuggen leichter.

Max202 braucht 100nF, Max232 1µF.

mfg Pieter

von Martin (Gast)


Lesenswert?

Nö, Max232 geht auch mit 100n,
ist zwar außerhalb der Spezifikation,
aber Du willst NUR RS232 und nicht noch neg. Spannung
für Kontrast für LCD machen.

von Peter D. (peda)


Lesenswert?

Daniel W. wrote:

> Sonst noch etwas?

Nö, das ist alles

> Die Tasten aus dem Layout brauch ich auch, anstatt der Led's will ich
> aber ein LCD-Display ansteuern, müßte doch Problemlos möglich sein oder?

Dann aber bei Benutzung von P0 beachten, daß man noch externe Pullups 
braucht. Oder P1..P3 fürs LCD benutzen.


Peter

von Daniel W. (danny84)


Lesenswert?

@peter
da nehm ich dann einfach nen anderen port ist ja einfacher =)
danke

Also kann ich den max202 ruhig nehmen, von reichelt ?

thx

von Daniel W. (danny84)


Lesenswert?

Achso wie wird der MC betrieben im normal modus oder x2?
Und kann ich auch einfach einen schnelleren quarz nehmen oder muss ich 
dabei sonst noch etwas beachten ?

Wenn ich vor P0 Pullups schalte, gibt es da bestimmte Werte ? oder sind 
die immer gleich groß?

von Daniel W. (danny84)


Lesenswert?

Kann mir jmd vll noch netter weise meine Fragen schnell beantworten, 
dann kann ich die Bauteile bestellen =)

von Pieter (Gast)


Lesenswert?

mit dem 11,0592MHz Quarz kannst Du im Normal und im X2 Modus arbeiten.
Ich arbeite auch mit 22,1184MHz im normal und X2 Modus.
Oberhalb 22MHz können in der Ansteuerung einer LCD eventuell ein paar 
NOPs notwendig sein.

mfg Pieter

von Daniel W. (danny84)


Lesenswert?

Also könnte ich einfach einen 22,1184 MHz nutzen und an der schaltung 
ändert sich nichts ?

Wozu ist in Peter's PDF , die kondesatoren C3 und C5???

von Holger K. (krulli) Benutzerseite


Lesenswert?

C3 und C5 sind doch die Abblockkondensatoren für die Schaltkreise....

von Daniel W. (danny84)


Lesenswert?

also sollen die zwischen vcc und gnd von den beiden IC's und nicht 
irgendwo zwischen vcc und gnd? THX schonmal

von Holger K. (krulli) Benutzerseite


Lesenswert?

Martin wrote:
> aber Du willst NUR RS232 und nicht noch neg. Spannung
> für Kontrast für LCD machen.

Keine schlechte Idee.... Wo zweigt man die am MAX ab? Pin 6?

von Daniel W. (danny84)


Lesenswert?

Mein Display benötigt keine Negative spg.

von Hans (Gast)


Lesenswert?

Kann mir vielleicht jemand eine Adresse mitteilen, die zu dem Standard-
Assembler für die 8051er führt.

Habe keine eMail-Adresse, bitte ins Forum schreiben.
                                                      Hans

von Peter D. (peda)


Lesenswert?

Hans wrote:
> Kann mir vielleicht jemand eine Adresse mitteilen, die zu dem Standard-
> Assembler für die 8051er führt.


http://www.metaice.com/ASM51/ASM51.htm


Peter

von Daniel W. (danny84)


Lesenswert?

Nochmal gefragt, wie groß müssen die Pull Up Widerstände sein? Unter 
Pull Up finde ich weder bei reichelt noch bei conrad etwas... kann mir 
jmd sagen wo oder wie ich sie finde?

von Pieter (Gast)


Lesenswert?

PullUp ist die gängige Bezeichnung für einen "Hochziehwiderstand" dessen 
genauer Wert erstmal Nebensache ist.
Der Wert hängt vom genauen Einsatzzweck ab.
Meist verwende ich da 10KOhm.

mfg Pieter

PS: es gibt auch PullDown...zum runterziehen...

von Daniel W. (danny84)


Lesenswert?

Hi Pieter,
Was ein Pull Up Wid. ist habe ich verstanden und was er macht.
Dennoch finde ich keinen zu kaufen bei reichelt oder conrad.
Das kann aber ja nicht sein oder?
Der AT 89C51 ED2 hat am P0 ja keine integrierten Pull Ups, daher müssen 
Sie Extern vorgeschaltet werden! Der port soll für Taster genutzt 
werden, die gegen GND geschaltet sind! Ist die größe da egal?
Aber erstmal muss ich sie ja zum kaufen finden!

von Rahul, der Trollige (Gast)


Lesenswert?

>Dennoch finde ich keinen zu kaufen bei reichelt oder conrad.
>Das kann aber ja nicht sein oder?
>Aber erstmal muss ich sie ja zum kaufen finden!

lol
Wieso wusste ich, dass sowas kommt?

von Daniel W. (danny84)


Lesenswert?

Weil du Rahul, der Trollige bist ^^

Hilfst mir trotzdem ;)

von Rahul, der Trollige (Gast)


Lesenswert?

>Hilfst mir trotzdem ;)
Guck einfach bei Reichelt oder Conrad nach Widerständen.
Je nachdem, an welches Potential (GND oder VCC) sie angeschlossen 
werden, nennt man sie Pull-Up (VCC) oder Pull-Down (GND).

Wie Pieter schon schrieb:
>Meist verwende ich da 10KOhm.
Duck einfach mal nach Widerständen in dieser Grösse (dürften im 
einstelligen Cent-Bereich liegen).

Noch eine Suchaufgabe: Unter welcher Bezeichnung findet man 
"Vorwiderstände" bei Reichelt?

PS: Ich empfehle dir. dich mal mit elektrotechnischen Grundlagen zu 
beschäftigen.

von Rahul, der Trollige (Gast)


Lesenswert?

>Hat nichts mit ET Grundkenntnissen zu tun

Womit dann?

von Pieter (Gast)


Lesenswert?

das hat schon was mit ET-Grundkenntnissen zu tun.
Für jeden Schalter ist ein gewisser Mindeststrom im Datenblatt 
angegeben.
Dieser soll dann durch den PullUp-Widerstand bereitgestellt werden.
Meist wird dieser Mindestrom ignoriert.
Mit 10KOhm sind das 0,5mA (bei 5V) und sollte für einen guten Schalter 
reichen.
Das Prellen eines mechanischen Schalters kann durch die Software 
umgangen werden.
Mein Schaltplan war Dir ja zu kompliziert, neben den 
Bestückungsvarianten sind da auch PullUps drin. Und je vollständiger ein 
Schaltplan ist, um so mehr wird es.

mfg
Pieter

von Pieter (Gast)


Lesenswert?

verzeihe bitte das wir Dir helfen...
es geht nicht um Namen (die sind Schall und Rauch) sondern um Aufgaben.

von Rahul, der Trollige (Gast)


Lesenswert?

>pull up - widerstand hat nicht mit grundkenntnissen zu tun. ich kann dir
>garantieren das du auf einer ET schule und am anfang des studium nicht
>einmal davon hören wirst. aber egal

Pull-Widerstände sind ja auch eher ein Teil der Digitaltechnik...
Während meiner Ausbildung (zum Elektroniker) fielen diese Begriffe 
gelegentlich. (Studium habe ich auch hinter mir...)

von Rahul, der Trollige (Gast)


Lesenswert?

>studiere jetzt

Von einem Student würde ich derartiges nicht erwarten...Sowas wäre mir 
ein wenig peinlich.

von Pieter (Gast)


Lesenswert?

zur Vorbereitung eines Praktikums klären wir Begriffe:

Was hat ein Mann mit Turban -> ein InderFace

von Dietmar (Gast)


Lesenswert?

Und wenn der Thread auch noch so alt ist:

Die Idee ist super!!!

Prozessorsysteme interessierten mich schon immer, von Anbeginn der 
Erfindung dieser in Halbleiterschaltkreisen in den 70-er Jahren.

Analog zur Hardware Lochrasterkarte, ebenso die Softwareentwicklung:

Richtig eingestiegen und begriffen habe ich die erst Anfang 1990 mit dem 
ersten Kauf eines Standard-8031-Bausteins, stolz wie Oskar, so einen 
Chip zu besitzen, und wenn er nur 3 Euro wert war. Bezeichnung: Intel 
8031P. Habe mich dann gezwungen, damit die erste Controllerschaltung mit 
einer blinkenden LED zu bewerkstelligen. Also, 8031-er, Multiplexer 
74373 und EPROM. Noch ohne PC, entwickelte ich eine Schaltung, mit der 
man byteweise ein EPROM brennen konnte, ohne Kontrolle über den 
aktuellen Speicherzustand. Manuelle Adressierung eines Bytes, manuelle 
Eingabe des Datenbytes. Reine Maschinenprogrammierung mit manueller 
Berechnung der Sprungadressen auf Papier, das war sehr abenteuerlich, 
aber nach ein paar Tagen funktionierte es tatsächlich! Von 
kybernetischem Code wie Laplace-Transformation, z-Transformation oder 
Signalverarbeitung, ist sowas natürlich meilenweit entfernt:-) . Die 
Ur-8051 brauchten noch keinen aufwendigen Startup-Code wie z.B. die 
ARMs.

In der Vor-Internet-Zeit:

Keine Panik, keinem von euch wäre es damals besser gegangen als mir: 
Eine KFz-Elektronik verfügte damals noch über keinen einzigen 
PN-Übergang, es sei denn, man ist über ein PNP-Schnitzel gefahren: 
Schichtenfolge PNP-Schnitzel: Paniermehl/Nicht-Paniermehl/Paniermehl.

Ich kam zur ersten Literatur mit einem Buch über Intel 8048 und 
Buch-Diskette und einem so genannten TASM, das war ein Table Driven 
Assembler für damals gängige Prozessoren wie z.B. 8085, 8048, 6502, 
6800.

Anfang 1990 besaß ich den ersten PC und eine Sammlung der damals 
gängigen Bausteine aus Industrieschrott (ausgeschlachtete Drucker, 
Kopierer, Videorekorder, Heizung, Motronik, ABS) von 8085-Schaltungen: 
Gigantische Mengen. Dazu gehörte der 8085 selbst, ein 32k RAM, 32k 
EPROM, ein 8255 I/O-Port und ein Timer 8253.

Natürlich brannte ich dann darauf, ein älteres System zu entwerfen und 
in Betrieb zu nehmen, hatte ich doch alle Bausteine vor Ort. Kein 
Demo-Board, keinen Demo-Code, nur den Befehlssatz des 8085 und etwas 
Beschreibung aus dem Buch.

Und da ich, bis in die heutige Zeit, nie mehr ein 8085-Demoboard fand:

Eine Lochrasterkarte!!!

Um mit dem neueren Ur-8031 zu experimentieren, hatte ich nach dem ersten 
PC später auch einen EPROM-Brenner, und den alten Assembler auf PC. 
Flash Download gab es überhaupt noch nicht, und ROM-Monitore erst 
später. Für jede Software-Änderung mußte ein EPROM gelöscht und wieder 
gebrannt werden. Aber das ging, ich beschwerte mich nicht. Die Technik 
war noch ehrlich und durchschaubar, keine Boot-Loader mit Re-Map-ten 
Interruptvektoren und geschütztem versteckten Boot-Sektor oder 
dergleichen.

Für die Bestückungsseite einer Lochrasterkarte der 8085-Schaltung baute 
ich einen Kabelbaum aus Schaltdraht 0,4mm. Mit Quarz und Taktfrequenz 2 
MHz (fast Gleichstrom!!!) ist das gerade noch so unkritisch vom Aufbau 
her. Das Ding funktionierte tatsächlich auf Anhieb, und bot mir auch 
gleich die Möglichkeit einer bescheidenen Experimentierplattform: 1 
Taster an einem Interrupt-Eingang zur Programmwahl, 16 LED's am I/O-Port 
8255, z.B. zur Ausgabe des Stack-Pointers.

Und der externe 8253 konnte nach einmaliger Initialisierung z.B. 
3-Phasen-PWM, ohne daß der Prozessor darin involviert ist. Ich schaltete 
einen der 3 Timer auf einen Interrupt-Eingang des 8085, das war dann ein 
Timer-Interrupt.

Hier sind mir auch die ersten Gegensätze verschiedener Architekturen 
alter und neuerer Systeme klar geworden: Harvard (8051) gegen von 
Neumann (8085), der 8085 mit gigantischem Stack 32 kByte gegen 8051 mit 
"nur" 128 Byte Stack, z.B. für rekursive Programmierung. Als 8-Bitter 
hat der 16 Bit-Register. 6 Byte internes RAM, gegen immerhin 128 Byte 
beim 8051. Keinen internen Stack. Ohne externes RAM, konnte man gerade 
so ein bescheidenes Programm laufen lassen, daß keine Unterprogramme 
hatte.

Lochrasterplatte für ein Einzelstück aus 08/15-Bausteinen, man ist von 
nichts abhängig, kein Bestücker, keine Platine, keine Lieferung. Nur 
etwas Draht, guten Willen, etwas Zeit, etwas Lötzinn. Und etwas 
Vertrauen, daß es funktionieren wird. Das würde ich jederzeit wieder so 
lösen.

Der steinalte 8085 hat sogar die Zeiten überlebt, und ist 30 Jahre nach 
Einführung der meist produzierte Prozessor bei Intel (Quelle: 
Wikipedia).

Dietmar

von Dietmar (Gast)


Lesenswert?

@Forum:
>Hinweis: Der Beitrag den Sie beantworten möchten ist mehr als
>6 Monate alt.

Das macht nichts, auch der Thread ist fast 4 Jahre alt. Und wie man 
sieht, sorgt der noch immer für interessanten Stoff.

Dietmar:-)

von Daniel W. (danny84)


Lesenswert?

Hi haben das Board nach Peda's Schaltplan auf gebaut.
Bin vorhin fertig geworden. Leider wenn ich die Flip Software starte und 
mich verbinden will bekomme ich ein Timeout Error.

Kann mir jmd sagen wo der Fehler liegt, bzw. was ich tun kann?
Chip: AT 89C51 ED2

Habe schon hier im Thread schon was gelesen von RXD und TXD kurz 
schliessen um zu gucken ob die Daten zurück kommen. Leider kann ich 
irgendwie nur nichts in mein Terminal-Programm eingeben. Was ich aber 
bei meinem alten uC konnte.

mfg danny

von Peter D. (peda)


Lesenswert?

Daniel W. wrote:
> Hi haben das Board nach Peda's Schaltplan auf gebaut.
> Bin vorhin fertig geworden. Leider wenn ich die Flip Software starte und
> mich verbinden will bekomme ich ein Timeout Error.

Versuchs mal mit ner kleineren Baudrate.
Den PSEN Jumper hast Du gesteckt beim Reset ?


> Habe schon hier im Thread schon was gelesen von RXD und TXD kurz
> schliessen um zu gucken ob die Daten zurück kommen. Leider kann ich
> irgendwie nur nichts in mein Terminal-Programm eingeben. Was ich aber
> bei meinem alten uC konnte.

Die UART kann nur einer haben.
Also Flip beenden, BEVOR man das Terminalprogramm startet und umgekehrt.

Peter

von Daniel W. (danny84)


Lesenswert?

Hat sich erledigt klappt alles... hatte den vcc des atmel vergessen ^^ 
schande über mein haupt!

Aber danke für die schnelle antwort

von Daniel W. (danny84)


Lesenswert?

Ich hab jetzt aber noch paar allgemeine fragen!

- ich schreibe in Keil uVision3, wie bekomme ich die Hex-File in den uC?
  Nutze Flip. Hab die Hex File schon geladen...

- gibt es sonst noch einstellungen zu beachten?

- der Jumper an Psen ist fürs ISP oder? Heißt ist das Programm drin 
Jumper raus nehmen?

- wenn ich den mc von strom nehme und später wieder dran hänge staret er 
das programm dann automatisch?

Sorry, für die vielen fragen.

mfg Danny

von Daniel W. (danny84)


Lesenswert?

Kann keiner meine Fragen beantworten?

von Joe (Gast)


Lesenswert?

Die Keil Demo Version arbeitet mit einem offset 0x8000.

Schreib doch mal ein simples "toggle p3.3" Programm, läuft das ? 
ansonsten liegts vielleicht an der Keil Demo Version.

Versuchs mal mit dem SDCC.

von Daniel W. (danny84)


Lesenswert?

hab den sdcc jetzt! einstellen muss ich dann ja nichts...
als include und define?

#define MICROCONTROLLER_T89C51RD2 ?? (hatte einer hier im thread beim 
beispiel programm verwendet oder muss es T89C51ED2 sein??)
#include <mcs51reg.h> ??

kann man die port-pins direkt an sprechen, also sind diese schon fest 
gelegt? oder muss ich das noch machen?

von Joe (Gast)


Lesenswert?

#include <P89c51RD2.h>

muß nicht aber die *.h sollte schon beim SDCC dabei sein (bei mir 
jedenfalls).

Schau mal in die *.h Datei, Auszug:

/*  P3  */
__sbit __at (0xB7)    P3_7;
__sbit __at (0xB6)    P3_6;
__sbit __at (0xB5)    P3_5;
__sbit __at (0xB4)    P3_4;
__sbit __at (0xB3)    P3_3;
__sbit __at (0xB2)    P3_2;
__sbit __at (0xB1)    P3_1;
__sbit __at (0xB0)    P3_0;

#define  RD     P3_7
#define  WR     P3_6
#define  T1     P3_5
#define  T0     P3_4
#define  INT1   P3_3
#define  INT0   P3_2
#define  TXD    P3_1
#define  RXD    P3_0


Alles schon drin. Also,

define Ausgang P3_7

und dann setze den mal HIGH, LOW und schon haste nen Rechtecksignal.

von Daniel W. (danny84)


Lesenswert?

Also...
Eben hat es einmal geklappt, jetzt will sdcc keine files mehr erstellen 
weil es immer ein fehler gibt! Leider kann ich diesen aber nicht lesen 
da sich das DOS fenster direkt wieder schließt. :(
Habe  die include datei einmal geändert weil ich dachte das andere müßte 
doch auch gehen.
Denke mal es liegt an der include datei...

-----------------geht nicht-------------------------
#define MICROCONTROLLER_T89C51RD2
#include <mcs51reg.h>
#define Ausgang P2_0

void Main (void)
{
Ausgang =0;
while(1);
}


--------------geht auch nicht------------------------------
#include <P89c51RD2.h>
#define Ausgang P2_0

void Main (void)
{
Ausgang =0;
while(1);
}

achso aber ne asm file spuckt er ab und zu aus mehr aber auch nicht!

von Joe (Gast)


Lesenswert?

void main (void)

Main

main

geht dir ein Licht auf.

von Daniel W. (danny84)


Lesenswert?

ohh mann... ja.
aber dein include geht nicht der obere schon, aber egal hauptsache einer 
^^

von Joe (Gast)


Angehängte Dateien:

Lesenswert?

Also meiner geht schon, deiner geht nicht ;-))

Welche SDCC Version verwendest du ?

Mal nen Tip für dich (da du mit DOS auf Kriegsfuß stehst).

http://www.opcube.com/home.html

Da gibts ne IDE für den SDCC

!"Windows 95, 98, ME, NT, 2000 or XP (i586-mingw32msvc)"! saugst du hier

http://sdcc.sourceforge.net/snap.php

Damit hast du nen aktuellen SDCC, den entpackst du nach C:/Mide (sofern 
du die Defaultinstallation durchgeführt hast).

Dann versuchs noch einmal.

Im Anhang die .h Datei.

von Hans (Gast)


Lesenswert?

Den freien Asssembler und freien C-Compiler, die im Anfangsbeitrag 
dieses
Betreff´s angefuehrt sind habe ich im Internet bisher nicht finden 
koennen.
Kann mir da jemand die Adressen mitteilen.
                                                 Hans

von Daniel W. (danny84)


Lesenswert?

Joe wrote:
> Also meiner geht schon, deiner geht nicht ;-))
>
> Welche SDCC Version verwendest du ?
>
> Mal nen Tip für dich (da du mit DOS auf Kriegsfuß stehst).
>
> http://www.opcube.com/home.html
>
> Da gibts ne IDE für den SDCC
>
> !"Windows 95, 98, ME, NT, 2000 or XP (i586-mingw32msvc)"! saugst du hier
>
> http://sdcc.sourceforge.net/snap.php
>
> Damit hast du nen aktuellen SDCC, den entpackst du nach C:/Mide (sofern
> du die Defaultinstallation durchgeführt hast).
>
> Dann versuchs noch einmal.
>
> Im Anhang die .h Datei.

Nutze sdcc von http://sdcc.sourceforge.net/snap.php mit mingw32
Habe aber Vista ^^
Aber mit dem anderem include geht es ja reicht ja.

Aber habe ein anderes problem!
Habe ein Programm geschrieben welches, einen text auf mein lcd aus gibt. 
funktioniert auch. jetzt hab ich danach in na while schleife ne tasten 
abfrage gestartet und wenn Sie gedrückt wird macht er einen clearscreen 
und gibt einen anderen text aus.
Jetzt hab ich das Problem das er nach der text ausgabe direkt 
clearscreen macht und den anderen text ausgibt aber nicht immer. wenn 
ich meinen finger auf vcc oder gnd halte funktioniert es einwandfrei????
Das ist mir per zufall aufgefallen. woran kann das liegen???
Die tasten liegen an P0.

siehe hier:
P0 --- 10K --- Taster --- GND

von Joe (Gast)


Lesenswert?

Dann ist dir nicht zu helfen ;-)) siehe Links in meiner letzten Antwort, 
Thread über deiner Frage !!!

http://plit.de/asem-51/

Hier noch einmal den ASM, der ist aber in der MIDE enthalten.

von Joe (Gast)


Lesenswert?

P0 benötigt einen Pullup.

Die Antwort zuvor bezog sich auf Hans.

von Daniel W. (danny84)


Lesenswert?

Hab ich doch,..

von Joe (Gast)


Lesenswert?

Für mich nicht erkennbar ;-)

Entprellung etc... ? wie wäre es mit code und nem neuen Thread, dieser 
bezieht sich auf Peters Board.

von Daniel W. (danny84)


Angehängte Dateien:

Lesenswert?

so solle es sein oder ? dann hab ich was falsch gemacht!
Bild im anhang..

von Joe (Gast)


Lesenswert?

Ja, aber ohne Code ist Rätselraten, hast du in P0 ein 0xFF geschrieben ? 
Ansonsten kann der Pin nicht korrekt abgefragt werden.

Die 1 am Ausgang soll ja nach GND gezogen werden.

von Daniel W. (danny84)


Lesenswert?

Hab es falsch gemacht habe den 10k zwischen p0 und den taster an gnd 
gehangen und garnicht an vcc! Hab ich etwas falsch verstanden gehabt.

von Daniel W. (danny84)


Lesenswert?

muss also nur etwas um löten danke dir ;)

von hans (Gast)


Lesenswert?

Wieder zu Joe.
Habe den ass jetzt doch gefunden, runtergeladen, entzippt, finde aber
kein set up Datei.
Oder das Anfängerproblem mit der Installation.....

von Joe (Gast)


Lesenswert?

Hans,

http://www.opcube.com/home.html

dann gehst du zu "dowmload packed file", saugst dir die SW und klickst 
setup.exe, kann doch nicht so schwer sein.

von hans (Gast)


Lesenswert?

Zu Joe
Über deinen letzten Adressentip habe ich dann den Assembler dann ganz 
einfach in den Kasten
bekommen.
Gehe ich jetzt richtig in der Annahme, dass da der Asem 5113 vom 
vorhergehenden
Douwnload nicht mehr nötig war?
Was mir auffiel war, dass unter den Erstellernamen lauter deutsch 
klingende Namen waren. -
Kann es sein, dass es auch eine deutschsprachige Version gibt, oder ist 
das eher bei
Shareware-Assemblern der Fall?
So nebenbei, vor rund 20 Jahren habe ich mir den Assembler für die 
8048er Familie noch
selber geschrieben, dann aber mal 10 Jahre computermäsig nicht mehr viel 
gemacht, was
sich in den Englischkenntnissen ganz schön bemerkbar macht.

von blicknix (Gast)


Lesenswert?

Hi Folks,

wollt mal fragen ob dieses Board auch geeignet ist um einen AT89C2051 
bzw. AT89C4051 zu programmieren? Hab mir das Datenblatt mal kurz 
angeschaut, konnte aber nich finden ob der per Bootloader über UART sich 
ISProgrammieren
lässt. Und kann ich für diese uC auch die oben genannte Flip-Software 
verwenden.
Danke schon mal für die Antworten

Gruß blicknix

von Pieter (Gast)


Lesenswert?

moin moin,

für die 89Cx051 braucht man einen 12V-Programmer, sind also zu 
experimentieren nicht wirklich geeignet.

Mit Gruß
Pieter

von Joe (Gast)


Lesenswert?

> Gehe ich jetzt richtig in der Annahme, dass da der Asem 5113 vom
> vorhergehenden Douwnload nicht mehr nötig war?

So ist es.

> Was mir auffiel war, dass unter den Erstellernamen lauter deutsch klingende 
Namen waren.

Wen meinst du ?? Wolfgang Werner Heinz ? ja, ziemlich deutsch und der 
Autor des besten freeware Assemblers für 8x51 Derivate.

Marteen und die SDCC Bande ist eher international.

> Kann es sein, dass es auch eine deutschsprachige Version gibt

Nein, eigentlich schreiben alle in englisch, ist so üblich denn nur so 
kann man Weltweit ein solches Projekt zum laufen bringen.

> ...was sich in den Englischkenntnissen ganz schön bemerkbar macht.

Ja, aber englisch ist ein muß !!! denn alle Datenblätter sind eben nur 
in dieser Sprache zu haben.

Übrigens hast du ja mit der MIDE den SDCC gleich mit dabei.

Viel Erfolg beim wiedereinsteigen.

von hans (Gast)


Lesenswert?

@Joe
>Englisch ein Muss
Soweit es das Datenblatt und den Befehlssatz betrifft, ist es kein
so grosses Problem, wenn man mit der Vorgängerfamilie vertraut ist.
Wenn auch der Befehlssatz ca. doppelt so gross ist, erkennt man an
den Gemeinsamkeiten schnell wo es lang geht.
Den Assembler auf die Reihe zu kriegen, dürfte auch möglich sein,
es ist halt in erster Linie zeitaufwendiger sich durch das
Fachenglisch zu kämpfen.
>zum SDCC
Habe erst durch deinen Hinweis bemerkt, was da alles möglich ist,
werde aber wahrscheinlich das C-Programmieren noch zurückstellen.
Zur Info mal stichpunktmäsig meine Vorgeschichte:
-1. Rechner - Casio-Pocketcomputer, 4-Zeilen-LCD-Display a 32 Z.
 ca. 1 Mhz, 40 Kbyte RAM, 36 Kbyte Rom, im BS Basic- und
 Assembler-Programmierung möglich.
-Programmiergerät für die 8048er gebaut
-Eprommer gebaut
-8048er Assembler und alle Software selbst geschrieben.
Nachdem ich bis vor einem 1/4 Jahr nie einen grösseren Rechner
hatte, sind natürlich alle höheren Programmiersprachen an mir
vorübergegangen.
Bin momentan auch mehr damit beschäftigt, die aktuelle PC-Hard-
und Software (hier Pentium III-Laptop mit ME) und das Internet
kennenzulernen, was schon eine gewaltige Umstellung mit sich bringt,
und sich jemand, der mit Windows aufgewachsen ist, wahrscheinlich
gar nicht so leicht vorstellen kann.
Als Beispiel: Für meinen Casio habe ich mir einen Disassembler
geschrieben, mit dem ich zum gesamten BS im 32K-ROM (ausser dem
CPU-internen ROM) zugang hatte. Dazu kam auch noch ein Service-
Manual mit dem Schaltplan des Rechners.
Jetzt habe ich 4,5 Interneteinführungsbücher, unter anderen eins
mit dem Titel "Den PC beherrschen", und bin nicht mal in der Lage,
eine ganz simple Text-Datei über die RS232-Schnittstelle mit meinem
kleinen Casio auszutaschen. Am Casio wäre dies einer der einfachsten
Vorgänge, ganz ohne Programmierkenntnisse.
Ich denke da an die Möglichkeit, meinen Eprommer für auf dem grossen
Rechner erstellte Files weiter verwenden zu können.
Vielleicht kennst du oder ein anderer Leser dazu eine Möglichkeit,
meine PC-erfahrenen Brüder oder ein Nachbar, Lehrer am Gymnasium,
sogar Medienbeauftragter der Schule, meinten dazu das es mit MS-
DOS gehen müsste.
Wegen meiner Programmiervergangenheit hat man mir auch zu Linux geraten.
Aber dazu vielleicht ein ander Mal.     Gruss Hans













von blicknix (Gast)


Lesenswert?

Hi,

@Pieter
Sorry, versteh nicht ganz was du mir damit sagen willst. Könntest du mir 
das näher erläutern, bitte.
Würde es funktionieren mit diesem Programmer oder nicht?
Falls nicht gibts ne ähnlich einfache Lösung für nen AT89C2051?


Hab mittler Weile entdeckt das die Keil Software, welche ich verwende, 
den AT89C2051 unterstützt, wär also super wenn jemand einen simplen 
Programmer kennt den ich mit dieser Software nutzen kann.

Danke
Grüßle blicknix

von knut (Gast)


Lesenswert?

Hi,

kann man für den Controller auch einen AT89C51 verwenden, also wenn man 
die Pinbelegung anpasst, oder muss da mehr gemacht werden?

Grüße

von Andreas K. (oldcoolman)


Lesenswert?

hallo

@blicknix

Siehe mal unter http://www.ic-proc.com

ich bin sicher, der war auch für den 2051,wenn auch nicht gelistet.

Ich hatte damals gamailt und eine Antwort bekommen. Ich hoffe,ich
finde das mal wieder. auch im eigenen Interesse.
Es ging mit einem ganz simplen Adapter direkt an der seiellen 
Schnittstelle. zum programmieren nutzt der Programmer die 12 der 
Schnittstelle und deren Handshakeleitungen. Es sind nur weinige diskrete 
Bauteile erforderlich.
Allerdings wird hier nicht In System Programmiert.


hav a fun!

gruß

Andreas

von neugierigere bastler (Gast)


Lesenswert?

dbollivo wrote:
> Hallo,
>
> habe vor geraumer Zeit auch ein einfaches Testboard gebaut und das
> Ganze etwas aufbereitet und für den Einstieg verpackt. Vielleicht kann
> ja jemand was damit anfangen: www.dominik-bollivo.de -> Grundausstatung
> Hardware


Ich hab mir gerade mal dieses Projekt angeschuat und würde das Board auc 
gerne als Grundlage für ein eigenes Board. Nur, welches IC nehm ich am 
Besten  als IC3 in der Spannungsversorgung?

Danke

von Chris T. (bonito)


Lesenswert?

Als Spannungsregler würd ich nen 7805 nehmen, der liefert die benötigten 
5V.

Was ich aber noch nicht weiss, oder einfach nur übersehen habe, was 
sollen die Abkürzungen FPSEN und FRES?
Klar, das ist malen nach zahlen -> einfach entsprechend verbinden, aber 
das allein ist ja nicht Sinn der Sache.

von dbollivo (Gast)


Lesenswert?

Hallo,

@neugierigere bastler: In der HW-Doku gibt's auch 'ne Stückliste: LM7805 
o.ä. Falls Dein Board etwas mehr Strom braucht, währe evtl. auch ein 
LM1084/LM1085 mit 5V empfehlenswert. Vorsicht jedoch, die LM10xx haben 
eine andere Pinbelegung als der LM78xx!

@bonito : FPSEN und FRES sind lediglich Labelbezeichner, die könnten 
auch abc und xyz heissen. Die Leitungen werden benötigt, um die 
ISP-Programmierung über RS232/FLIP zu ermöglichen. Dabei wird der 
Controller über FRES und FPSEN in den Bootloder gebracht. Über den 
Bootloader kann dann der interne Flash des Controllers beschrieben 
werden.

Gruß,

dbollivo

von Detlef S.aus B (Gast)


Lesenswert?

Nabend Herr Bollivo,

Sie hier!?

Schöne Grüße in den Südwesten der Republik!

Bis demnächst
Detlef S.

von Chris T. (bonito)


Lesenswert?

So, das Board ist jetzt fast fertig. Ich hab die Schaltung aber noch um 
ein 2 zeiliges LCD, nen Poti und jede Menge Schalter und LEDs erweitert. 
Ein DAC kommt dann auch noch dazu und mein 
"rundrumsorglosexperimnetierboard" wäre dann fertig.
Das ist aber bei ner Rasterkarte einiges mehr an arbeit als erwartet, 
aber Spass machts natürlich trotzdem.

Ich benutze jetzt nen AT89C51CC03UA, aber welche µCs von den Atmel 
8051ern kann ich eigentlich noch im gleichen Sockel betreiben?

Danke

MFG
Christof

von Chris T. (bonito)


Lesenswert?

Argh, wie schliet man den Quarz an richtig an? Der hat für mich 2 Pins 
"zu viel".

Hilfe.....


Danke
MFG
Christof

von dbollivo (Gast)


Lesenswert?

Hallo,

was für 'nen Quarz hast Du denn verwendet?
Evtl. 'nen ""Quarzoszillator"?

Grüße,
dbollivo

von Chris T. (bonito)


Lesenswert?


von dbollivo (Gast)


Lesenswert?

Hallo,

Oszi: Pin 14 an +5V, Pin 7 an Masse/GND evtl. zwischen den beiden noch
'nen 100nF Blockkondensator (kann [fast] nie schaden), Pin 8 geht an
XTALA1 des 8051 (Pin 19 beim 40/DIL). Pin XTALA2 des 8051 bleibt
unbeschaltet,

Grüße,
dbollivo

von Chris T. (bonito)


Lesenswert?

Hm, leider ist am Quarz keine Beschriftung, und ich kenn die Dinger 
bisher nur aus der Theorie.

Nur einen Hinweis seh ich, und zwar ist an einem Pin der Fuß nicht mit 
Kunststoff vergossen, bei den anderen schon.


MFG
Christof

von Stefan W. (wswbln)


Lesenswert?

...das ist dann der Pin 7. Wenn Du den Oszi von oben betrachtest 
(Beinchen also unsichtbar nach unten) und den Pin 7 unten rechts hast, 
dann ist Pin 1 unten links, Pin 8 oben rechts und Pin 14 oben links.

Pin 1 ist manchmal ein Enable-Eingang, die sind aber meistens so 
beschaltet, dass sie offen (unbeschaltet) den Oszillator arbeiten 
lassen.

von dbollivo (Gast)


Lesenswert?

Hallo,

Siehe R**chelt-Foto: Auf dem Gehäuse ist vor der Frequenz-Angabe
ein Punkt. Der markiert Pin 1. Zusätlich gibts vermutlich am Gehäuse
eine spitze, nicht abgerundete Ecke , ebenfalls Pin 1.
Zählweise ist dann wie bei enem DIL14-IC (einfach die fehlenden Pin's
dazu denken). Der Pin, der mit dem Gehäuse verbunden ist ist
höchstwarscheinlich Pin 7 (Masse)

Grüße,

dbollivo

von Chris T. (bonito)


Lesenswert?

Dank euch, ihr habt mir sehr weiter geholfen.


MFG
Christof

von Bernhard (Gast)


Lesenswert?

Hi,

entschuldigt,wenn ich den Thread wieder hochhole,aber ich hab ein 
Problem mit dem Entwicklungsboard.
Ich hab das Entwicklungsboard oben aufgebaut,mit ein paar Änderungen an 
den I/O Ports.
Jetzt tritt bei mir aber das Problem auf,dass ich den Port P0.7 nicht 
setzen kann(um beispielweise eine LED anzusteuern). Komischerweise 
funktioniert kann ich den I/O Port aber "löschen"(auf 0 setzen).
Für das Setzen verwende ich den Befehl SETB P0.7 bzw CLR P0.7 fürs 
"löschen".
RxD und TxD hab ich bereits (nach dem Pegelwandler) kurzgeschlossen und 
es kommen die selben Zeichen zurück,die gesendet werden.
Die Frequenz des Schwingquarzes kann ich leider nicht kontrollieren,da 
ich kein Oszi besitze.

Hat jemand eine Idee?

Danke!

Bernhard

von Peter D. (peda)


Lesenswert?

Bernhard wrote:

> Jetzt tritt bei mir aber das Problem auf,dass ich den Port P0.7 nicht
> setzen kann(um beispielweise eine LED anzusteuern). Komischerweise
> funktioniert kann ich den I/O Port aber "löschen"(auf 0 setzen).

Das ist nicht komisch sondern das typische Verhalten eines opendrain 
Ausgangs ohne Pullup.

Schau bitte mal in ein 8051-Datenblatt.
LEDs schaltet man beim 8051 gegen VCC.


Peter

von Bernhard (Gast)


Lesenswert?

Hi Peter,

für mich war das ein komisches Verhalten,aber es beruhigt mich,dass der 
µC nicht kaputt ist.
Ich glaub ich weiß was du meinst mit den Pullup Widerständen. Ich werd 
das morgen ausprobieren.

Besten Dank!

Bernhard

von guest (Gast)


Lesenswert?

Hallo miteinander,

ich habe ein Problem.
Leider habe ich bei Reichelt den AT89C51 24PI bestellt, nun kann ich ihn 
ja garnicht so einfach programmieren.
Da ich die Teile für 5 Kollegen auch bestellt habe ist es schlecht mit 
zurück schicken.

Wie kann ich den ... 24PI programmieren, was muss ich an der Schaltung 
ändern?

Gruß

Martin

von Oliver J. (skriptkiddy)


Lesenswert?

guest schrieb:
> Wie kann ich den ... 24PI programmieren,
Steht im Datenblatt.

guest schrieb:
> was muss ich an der Schaltung
> ändern?

Da ist nicht einfach mal schnell durch 2 Bauteie anlöten erledigt. Hier 
ist eine Schaltung für einen passenden Parallelport-Programmer. Schau 
dir das mal an, ob es den Aufwand wert ist.

Am besten du wirfst die µCs in die Ecke und besorgst dir welche mit 
Bootloader. Zum Beispiel AT89C51RC2.Gibts bei R noch als PLCC.

von Peter D. (peda)


Lesenswert?

Im DIP40 mit Bootloader gibts bei CSD den AT89C51RB2-3CSIM.


Peter

von guest (Gast)


Lesenswert?

Vielen Dank für die schnelle Antwort. Ich habe gleich ein paar bei CSD 
bestellt.
Nochmal eine kurze Frage zum Programmieren. So wie im Schaltplan 
verschaltet kann ich den 8051 mit Flip über die RS232 programmieren, 
ohne
weitere Leitungen zusätzlich anschliessen zu müssen (Miso, Mosi, etc.)?

Gruß
Martin

von Tobias M. (j4cky)


Lesenswert?

Hallo zusammen,
durch Mister Google bin ich auf diesn Thread gekommen.

Ich bekomme auch den "Timeout error" und verwende den 89C51ED2.
Leitungen passen, und wenn ich ein U schicke bekomme ich es auch 
zurück(wobei ich alle zeichen zurück bekomme egal was ich tippe).

mir ist aufgefallen das wenn der jumper für PSEN nicht gesteckt ist, ich 
dort 1,6V habe.

hat das jemand schonmal gesehen? kommt jemand auf meinen fehler mit den 
timeout?
gruß Tobi

von Bernhard S. (b_spitzer)


Lesenswert?

Schaltplan? Den Timeout bekommst Du in FLIP, wenn die Baudrate z.B. zu 
hoch eingestellt ist. Der ED2 hat ja einen Bootloader für die serielle 
Schnittstelle (also nicht MOSI/MISO...) und mit einem 12MHz-Quarz 
bekommt der maximal 38400 Baud auf die Reihe. Sicherheithalber lieber 
bei 9600 bleiben.
Also PSEN auf 0, dann Reset, dann Connect in FLip.

tschuessle
Berhard

von Tobias M. (j4cky)


Lesenswert?

Schaltung hab ich die von peter.
Mein Quartz ist 12 MHz.
Meine ersten Versuche waren mit 9600Baud. dann hab ich im Datenblatt 
nachgeschaut welche Baudraten er automatisch erkennt und diese 
ausprobiert.

wie gesagt, die 1,6V an PSEN finde ich merkwürdig

von Keinstein (Gast)


Angehängte Dateien:

Lesenswert?

Hi,
ich habe das im Anhang gezeigte Board, das kann ich prima über sie 
serielle Schnittstelle (Download) programmieren. Aber wenn ich dann mit 
Hyperterminal kommunizeren möchte muss ich das Kabel an RS 232 
anschliessen oder die Reset-leitung kappen. geht das nicht auch so, dass 
man Programmieren und Kommunizeren über eine leitung abwickelt? Gibts da 
vielleicht eine idee?

Danke schonmal
(K)einstein

von Bernhard S. (b_spitzer)


Lesenswert?

In FLIP auf Disconnect klicken, dann im Terminalprogramm auf Connect...

von Tobias M. (j4cky)


Lesenswert?

also ich hab meinen fehler gefunden. hatte meine schalter vertauscht
resat war bei mir PSEn und andersrum.

von Keinstein (Gast)


Lesenswert?

Hi,

@ b_spitzer

Hatte ich auch gedacht, aber so einfach ist es leider nicht. Der 
Controller bleibt stehen, wenn Hyperterminal versucht zu verbinden.

Gruß
(K)einstein

von Bernhard S. (b_spitzer)


Lesenswert?

Was macht Dein Programm?? Lasse mal an kritischen Stellen eine LED 
toggeln, dann sollte das was einzukreisen sein.
Wenn Du die printf() oder putchar() in C verwendest, dann muss TI bei 
der Initialisierung gesetzt sein. Also SCON auf 0x52 und nicht auf 0x50. 
Putchar (das auch von printf() genutzt wird) wartet, bis TI wieder auf 
'1' ist. Daher muss das (im Gegensatz zu den meisten ASM-Beispielen) 
gesetzt werden.
Bei weiteren Fragen bitte Quellcode der Initialisierung sowie der 
Datenübertragung.
Weitere Idee... hast du in Hyperterm die Flußsteuerung aus- und das 
lokale Echo eingeschaltet??

tschuessle
Bernhard

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.