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
naja der AT 89S51 hat sehr wenig Features fürs Geld und ist deswegen auch im Hobbybereich den AVRs oder PICs weit unterlegen. Dennoch ist es kein "schlechter" Controller, 8051er sind. Mit was hast du es den versucht? Also das komerzielle Produkt für AT89 ist das AT89ISP: http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2877 Es gibt aber auch selbstbauvarianten: http://dybkowski.net/elka/ispprog.html http://ulrich-bangert.de/html/downloads.html
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.
Hier ist der Schaltplan für den AT89ISP: http://www.atmel.com/dyn/resources/prod_documents/isp_C_v5.PDF
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)
Für das LCD am P0 braucht man "pull-up"-Widerstände. Installiere mal Progstudio (http://www.progshop.com/versand/software/prog-studio6/assembler.html). Darin findest Du gute Programmbeispiele für LED-Blinken, LCD-Ansteuerung u.s.w..
Übrigens, nicht alle 8051er sind alt und schlecht. Es gibt neuere, die sind super schnell, haben ganz viel doll hype on chip...
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".
hallochen @ alle sorry - hatte mich im namen geirrt. Der junge mann heisst Tahan Prahara. und da geht nix falsch zu löten.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.