Hallo liebes Forum.
ich habe mittlerweile 2 Experimentier-bords aufgebaut, auf beiden wird
der AT 89S51 gesteckt. ich könnte die "steine" auch Flashen, aber ich
finde kein Passendes wekzeug dazu. ISP 3.0 liest und schreibt, aber ich
weis nicht, was er da schreibt.
und auf dem am P0.x angeschlossenen LCD wird auch nix angezeigt.
meine fragen dazu lauten: welche Dateien benötige ich zum brennen dieses
prozessor, und wie bekomme ich die entsprechenden dateien in den chip?
pony-prog geht nich, bascom auch nicht, avr-studio auch nicht etc. das
einzige ist ISP3.0 Baut niemand mit diesem chip? frage warum findet ma
so wenig infos über den S51 - oder ist der nicht gut? oben gezeigte
schaltung ist die erste weche ich aufgebaut habe.
erbitte eure hilfe
danke und gruß peter
AT89S51 ist ein 8051er Derivat und nicht so weit verbreitet im
Hobbybereich. Von Atmel gibts kostenlose Software zum programmieren
(AT89ISP-Software) oder auch div. freie Tools z.B. dieser hier:
http://dybkowski.net/elka/ispprog.html
Der µC hat interen Flash und lässt sich in der Schaltung programmieren.
AT89S51 ist außerdem etwas veraltet, besser ist es den moderneren und
nur unwesentlich teureren Typ AT89S8253 zu nehmen.
Oder eine andere Baureihe, AT89C51(ED2), welche sich über internen
Bootloader per RS232 programmieren lassen.
hallochen erstmal,
das von der polnischen seite habe ich auch versucht. ich bekomme den
chip gelöscht und gebrannt - aber ich bekomme irgendwie kein ergebnis.
weder eine blinkende LED noch einen Text auf dem Display. (16*2 / 8bit
mode an port 0). dumm ist gerade, das ich die zweite schaltung jetzt
nicht finde, wo das display "dranhängt".
in Bascom habe ich die LCD_test Compiliert und simuliert - das geht. nur
ich bekomm das nicht auf dem Display angezeigt. warscheinlich weil die
Datei 51reg.h oder sowas fehlt. in ISP3.0 kann ich auch nur die Hex
öffnen - mehr nicht.
ich verzweifle hier fast...
mfg (AVR-Anfänger) peter
übrigends AVR ist was anderes als die 8051er.
also du verwendest diese Platine?
http://www.sixca.com/eng/articles/at89s_isp/index.html
das ISP ist auch nur zum downloaden der Hex gedacht, was den sonst.
Benutzt du einen echten Parallelport? mit den USB Teilen wirds nicht
gehen.
Wenn du die Hex Datei auf den Controller brennst und über verify
überprüfst, ist dann alles ok?
Wieso willst du eigentlich mit 8051er basteln? Wenn du die nicht gerade
in der Schule oder im Beruf brauchst, gibts komfortablere Controller
Familien
hallochen,
ich benutze einen echten 25 pin pra-port. mit oder auch ohne 74HCT541
mit oder auch ohne MAX 232. habe auch schon isp-kabel direkt
angeschlossen am chip.
ja - isp sagt "programming/verify ok. lock bits hab ich noch nicht
gesetzt (warum auch - passiert ja eh noch nix)
aber wie gesagt, ich kann nur die Hex datei schreiben, sonst nix.
es soll mal ein DMX-controller draus werden...
schule - ja (umschulung zum Mechatroniker)
Beim AVR ISP mkII Programmer steht der AT89S51 mit in der Liste.
Ich benutze aber nur noch 8051 mit UART-Bootloader, z.B. AT89C51CC03 und
AT89C51RE2.
Schlecht ist der 8051 überhaupt nicht. In Assembler kann man sehr schön
mit den Bitbefehlen programmieren.
Er ist halt für Steuerungsaufgaben (Statemachines) optimiert.
Der P0 braucht externe Pullups.
Peter
hallochen liebes forum,
P0 - P3 haben 10K pullups (vorsichtshalber alle ports).
habe BASCOM 8051 runtergeladen, dakann ich zwar schön simulieren, aber
der 89S51 steht nicht drin! kann man da irgendwie (und von irgendwo)
eine AT89S51.dat oder dll einbauen? wenn ja - wo bekomm ich die her?
sorry das ich euch nerve...ich bin halt anfänger was derart projekte
betrifft. 'ne 200 watt-endstufe ist einfacher zu basteln....
danke für eure hilfreichen ratschläge nochmal.
gruß peter
Hallo Peter,
simulieren ist ja schön und gut, aber die Ergebnisse können in der
Praxis trozdem fehlerhaft sein. Die 8051er sind eigentlich eine relativ
zahme Controllerarchitektur und sehr simpel aufgebaut. Erst die modernen
Typen werden etwas unübersichtlich. Bei BASCOM kannst du die normalen
Include-Dateien für den Standard-8051 verwenden... dann kannst du halt
nur die Grundausrüstung nutzen, die bei allen 8051 vorhanden ist. Bei
meinem AT89C52 funktioniert das super. Bist du dir auch ganz sicher, daß
deine Schaltung und das Programm in Ordnung sind?
Schick mal deinen kompletten Schaltplan und das Testprogramm, damit man
sich das mal anschauen kann.
Gruß,
SIGINT
P.S.: Das ist ganz praktisch für ein Entwicklungsboard:
http://www.pjrc.com/tech/8051/paulmon2.html
hallochen und guten morgen.
@ Sigint die schaltung ist ganz oben. naja...und die Programme... was
man halt als Anfänger so versucht zu Proggen. blink-led, hello world,
und so.
beim copilieren sagt Bascom, das alles i.o ist. speichern kann ich das
auch alles, aber ich kann es nicht im Bascom brennen. Ponyprog kann
meinen chip nicht erkennen u.s.w.. ich habe 2 Programme, welche den chip
lesen, erkennen, schreiben und verifizieren können. Atmel's ISP 3.0 und
ISP-Programmer 1.20.49. wenn ich jetzt das "sample" LCD "hallo
world.hex" in den chip schreiben will sagt das isp "no data in File".
öffne ich es in Bascom steht alles drin was ich geschrieben und
copiliert hab...und ich denke mal, das diese einfache ausgabe am
P0-->LCD in den Flash muss und nicht ins Eprom. und dann...ja - was ist
mit den Inc.-dateien. wo müssen die hin und wo müssen die sein zum
brennen?
sorry - alles "dumme" anfängerfragen - aber ich komm täglich einen
kleinen schritt voran.
ich wünsch euch ein schönes WE
danke
peter
Also,
der Schaltplan zeigt ja nur die Standarbeschaltung, nicht das, was du
daran angeschlossen hast. Anfänger können selbst eine LED falsch
anschliessen. Deinen Kenntnisstand können wir ohne die entsprechenden
Infos nicht einschätzen. Das selbe gilt für deine Programmierkünste.
Vielleicht ist ja an deinem Programm was Grundlegendes falsch. Aber ohne
das Programm können wir nur raten. Es ist aber schon seltsam, daß zwei
Brennprogramme behaupten keine Daten in der HEX-Datei zu finden.
Anscheinend gibts doch ein Problem mit deinem Programm oder BASCOM-8051.
Es wäre auch pratisch, wenn du die HEX-Datei mal hochlädts. Dann kann
ich mir anschauen, ob wirklich nix drin steht.
Im Grunde ist aber alles sehr einfach:
Du erstellst mit BASCOM dein Basicprogramm.
BASCOM übersetzt dann das Programm in eine Binärdatei, wobei die
Include-Dateien nur dazu benötigt werden die symbolischen Registernamen
in entsprechende Zahlenwerte umzusetzen. (Die Standardregister der
8051-Architektur sind bei allen Typen gleich, daher kannst du bei allen
modernen 8051er die Include-Dateien für den Ur-8051 verwenden)
Die Binärdatei wird in eine HEX-Datei umgewandelt, da die meisten
Programme mit HEX-Dateien arbeiten können. Zudem kann in einer HEX-Datei
gespeichert werden, wo die Binärdatei im Speicher abgelgt werden soll.
Nicht mehr wird in der HEX-Datei üblicherweise hinterlegt.
Die HEX-Datei kannst du dann mit einem Brennprogramm öffnen und in den
Chip brennen. Bei bestimmten Chips gibt es dann noch FUSES, wie bei dem
AVR. Hiermit kannst du den Prozessor konfigurieren. (Welche Taktquelle,
Watchdog,Ausleseschutz,etc.) Das ist aber stark vom Hersteller und
Prozessor abhängig und wird bei den 8051er meines Wissens nach selten
verwendet.
Gruß,
SIGINT
dj_peter schrieb:
> Atmel's ISP 3.0 und> ISP-Programmer 1.20.49. wenn ich jetzt das "sample" LCD "hallo> world.hex" in den chip schreiben will sagt das isp "no data in File".
Hast Du nen Link zu diesen Tools?
Ich habe in alle Foren den Eindruck, daß LPT-Programmer sehr
problematisch sind. Selber habe ich sie noch nie probiert.
Ich würde Dir daher raten, einen 8051 mit UART-Bootloader zu nehmen und
die Atmel Flip Software, z.B. AT89C51RB2 (CSD: 6,95€).
Ein erster Erfolg sollte dann schnell eintreten.
Dann kannst Du ja immer noch versuchen, die Macken des LPT-Programmers
auszumerzen.
Solange Brennen und Verify nicht funktionieren, hat jeder MC das Recht,
nichts sinnvolles zu tun.
Peter
hallochen @ alle
das ist die datei, welche ich versuche in den chip zu bekommen.(orig.
Sample) habe die Port-pins dann umgeschrieben (von P3.x auf P0.x) weil
das LCD ja an P0 ist. RS ist am P2.0 und EN am 2.1. habe auch alle 8
Datenleitungen des LCD angeschlossen. gespeichert, gebrannt - no data.
sonnst nichts verändert im sample.
dj_peter schrieb:
> das ist die datei, welche ich versuche in den chip zu bekommen.
Damit kann der Programmer nix anfangen!
Er braucht die HEX-Datei (jede Zeile fängt mit ":" an)!
Peter
im Program Bascom ist die datei als Sample abgelegt auch als hex,sim,
bas u.s.w. diese datei hab ich genommen. hab ich was falsch gemacht??
isp sollte mir doch die richtige .hex anzeigen ??(oder nicht...)
dj_peter schrieb:
> im anhang jetzt beide Tool's welche ich benutzen würde...
Und was soll man damit?
Es geht doch darum, was Du damit gemacht hast!
Sigint 112 schrieb:
> Es wäre auch pratisch, wenn du die HEX-Datei mal hochlädts. Dann kann> ich mir anschauen, ob wirklich nix drin steht.
Was war denn daran unklar?
Peter
>$sim>Rem The $sim statement will remove long delays for the simulator>Rem It is important to remove this statement when compiling the final file
Hast du das beachtet?
guten Morgen @ alle
@ sigint - nein habe ich nicht beachtet, weil ich dachte, das gehört
dazu. in anderer software steht ja auch irgendwelcher "kauderwelsch"
drin, welcher nix mit dem prog zu tun hat. also war ich der meinung,
diese datei zu nehmen, die Ports richtig einzustellen (also umschreiben)
und dann speichern, und dann rein in den chip. war mein gedanke denn
falsch?? denke mal nicht. und gerade bei so einer einfachen schaltung
wie oben oder das ganz einfache Bord von dem Asim kahn (wo ja garnix
weiter dran ist...) kann man doch nix falsch machen? (es sei denn man
kann nicht löten...:-) )
das Asim-Board bekommt man auf lochraster hin - hab ich gemacht - das
selbe in "grün".
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