PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : AT89C2051



Christopher1
11.01.2007, 08:52
Ist der AT89C2051 für Anfänger geeignet.
Es ist mir bekannt das er nicht so viel Leistung hat, aber dafür ist er ja sehr günstig.
Ein weiterer Vorteil ist das er auf dieser Internetseite, wieich finde leicht verständlich erklärt wird wie man mit Mikrocontroller anfängt.
MfG Christopher

Pascal
11.01.2007, 10:02
Viel kann ich dir zu dem µC leider nicht sagen. Aber dabei handelt es sich nicht um einen AVR, sondern um ein 8051-Derivat. Es gibt doch auch sehr günstige AVRs. Allerdings musst du selbst entscheiden, was genau du willst.

Steffen1982
11.01.2007, 11:44
Hallo wir verwenden den 2051 in der Schule allerdings für Fortgeschrittene da er meines Wissens nach keine Serielle Programierschnittstelle hat. Wir programieren ihn mit einem Programiergerät.
Ich würde auch eher einen AVR (MEGA 8) als Einsteigermodell empfehlen oder einen 8051 mit ISP Schnitstelle. (89C51CC01 oder 89S8252)

SprinterSB
11.01.2007, 14:11
Ich habe mit einem AT89C2051 angefangen. Ist übrigens kein AVR, sondern gehört zu den 8051. Ich hab damit angefangen, weil ich damals nichts anderes kannte. Unterlagen sind Datenblatt vom Hersteller und suchen bei google (nicht gleich nach der 1. Seite aufgeben) nach Projekten mit diesem µC, zB

http://members.nusurf.at/peters.page/controller.htm

Vom AT89C2051 bin ich dann auf AT89C4051 (größeres Flash) und dann auf einen AT90S2313. Der 2313 ist ein AVR und im Gegensatz zum 2051 die "Befreiung" ;-)
-- Es gibt eine viel größere Auswahl an (kostenlosen und leistungsfähigen) Entwicklungsumgebungen, zB für C (avr-gcc), BASIC (BASCOM), Assembler (AVRStudio, avr-as), und Programmierkabel/adapter von einfach/selbstbau bis kompliziert/kauf.
-- AT89C2051 und ATtiny2313 (Nachfolger des AT90S2313) haben gleiches Pinout (Ausnahme: RESET hat andere Polarität) und Footprint (DIL20).
-- 2313 hat internes EEPROM
-- 2313 ist in system programmierbar (ISP)
-- 2313 @ 16MHz ist etwa 8 mal (!) schneller als ein 2051 @ 24 MHz.
-- 2313 ist ein AVR, es ist recht einfach, auf größere AVRs umzusteigen, wenn es auch AFAIK kein Analogon zum AT89C4051 gibt.

Für den Anfang wichtig ist eher, daß man gut Informationen/Beispielprojekte/Software findet und das Teil nicht zu teuer und gut beschaffbar und einfach ist. Das ist alles für den AT89C2051 gegeben (für den 2313 übrigens auch).

Nachteile sind wie gesagt fehlende ISP und damit extra Prog-Adapter. Daher muss man den Käfer zum Proggen aus der Zielschaltung zupfen (bzw. sich nen aufwändigen Umschalter bauen). Geproggt hatte ich in Assembler, und selbst den musste ich bezahlen. Eine Freude, damit zu arbeiten, war es nicht (sowohl vom asm-Dialekt/Instruktionssatz als auch was die IDE angeht).

Um mit einem 2313 anzufangen, reichen dir 10€ (Selbstbau-Progger, Hardware, Steckbrett, Software).

SIGINT
11.01.2007, 19:00
Ich hab schon etwas mit dem AT89C52 rumgespielt (auch ein 8051-typ) und kann mich den anderen nur anschließen:
Der AVR ist einfach die modernere Architektur und wegen der extrem aktiven Community für einen Anfänger die bessere Wahl. Meiner Meinung nach haben die 8051 nur zwei Vorteile gegenüber den AVR:
1) Die 8051er Reihe wird in extrem vielen verschiedenen Versionen von diversen Herstellern angeboten.
2) Der 8051er kann als vonNeumann Rechner genutzt werden. Das Bedeutet, daß man Programme und Daten im selben Speicher unterbringen kann... das hat einige Vorteile. Das ermöglicht es einen auch Programme z.B. von einem MMC-Stick nachzuladen und im RAM auszuführen.

Ansonsten find ich persönlich die Architektur nicht wirklich praktisch und bevorzuge den AVR.

Gruß,
SIGINT

Christopher1
12.01.2007, 04:12
Ja ich habe schon mitbekommen, dass er kein ISP hat und das ein deutlicher nachteil ist, und das er nicht so gut ist wie wie ATmega-Reihe aber zum Anfang ? Der kostet nichtmal 1 Euro (wenn da mal einer kaputt geht, denn muss man auch nicht geich anfangen zu heulen).
Kennt jemand ne Internetseite für ein ganz einfacches Programmiergerät
(nur so viel, wie wirklich nötig).
MfG Christopher

SprinterSB
12.01.2007, 10:51
Da der AT89C2051 nur Parallel-Upload unterstützt, ist ein Progger komplizierter und damit teurer als zB ein Billig-Adapter für AVR-ISP.

Ich hatte mir damals ne Stange AT89Cx051 auf Halde gelegt, weil ich auch dachte, da fritte ich einen nach dem andern. Die Halde gibt's immer noch ;-)

Ich hatte damals den Progger von batronix.de (MC-Brenner-I oder so), find ich im Programm aber nicht mehr, nur den für 40-pin. Den Progger gab es für nen vernünftigen Preis als Bausatz, Schaltpläne auch. Die unlizensierte Software (Assembler) hat allerdings ne Beschränkung der Codegröße. Im Ende wird's also garantiert teurer als eine home brew AVR-Lösung.

Olle_Filzlaus
12.01.2007, 14:17
Hallo,

@SprinterSB:
habe auch mit dem AT89C2051 angefangen. Mit Progstudio und Assembler. Bin dann sogar noch umgestiegen auf den AT89C52. Dann bin ich durch zufall auf die Siete hier gestoßen und 1 Woche später habe ich mit AVR und Bascom angefangen.

@Christopher1
Der Anfang mit nem Atmega ist einfacher und billiger, auch wenn die Chips z.B. der Atmega 8 bei Reichelt 2,70€ kosten. Aber dafür sparst du das geld für die Programmierhardware. Ausserdem bin ich damals ewig mit meinem ersten Atmega hingekommen.

am Ende musst du das zwar selber überlegen was du willst, aber wie schon geschrieben wurde, die sind nicht mehr zeitgemäss und es geht einfacher. Ausserdem fängst du, wenn du doch mal auf AVR umsteigen würdest, wieder bei null an, weil die Befehle der Prozessoren sind unterscheidlich und damit auch die Programmiersprache.

Hier hast du einen ganz einfach gehaltenen Brenner. http://www.batronix.com/elektronik/bauanleitungen/mc-brenner.shtml

cu arno

SprinterSB
12.01.2007, 15:36
Jo, progstudio hiess das. Ich habe auch etwas gebraucht, um den Umstieg anzugehen. Man hat ja ne Umgebung, die funktioniert. Aber die Fakten sind einfach zu mächtig :-)

Ich hab dann mit ein paar Z-Dioden, Widerstände und ein AVR auf ein Steckbrett gestöpselt und meinen ersten Billig-Adapter aufgebaut. Natürlich war mir ziemlich mulmig, das Konstrukt an meinen neuen Schleppi zu stöpseln! Aber es geht immer noch :-) Jetzt mit gelötetem Adapter.

Zum Anfangen gibt's wie gesagt auch den ATtiny2313, etwas billiger und spart zudem einen Quarz und das Handbuch ist etwas schlanker als das eines ATmega (allerdings dicker als das eines AT89C2051).

Hanni
12.01.2007, 19:08
Der Anfang mit nem Atmega ist einfacher und billiger, auch wenn die Chips z.B. der Atmega 8 bei Reichelt 2,70€ kosten. Aber dafür sparst du das geld für die Programmierhardware.

Nuja, wenn man ne Zeit lang mit den Käfern gebastelt hat kann man sich durchaus vernünftige Hardware zum Programmieren besorgen. (vernünftig = das was sich aus dem AVR Studio heraus nutzen lässt ...)

Grüße,
Hanni.

repi64
12.01.2007, 21:27
Nur der Vollständigkeit halber gibt es auch den AT89S2051 also mit ISP.
Der ist aber nicht überall erhältlich und den Preis habe ich grad nicht zur Hand.
Für die 51er gibt es ja auch den Bascom 8051 Compiler womit ein evtl. späterer Umstieg auf Bascom AVR recht gut und einfach möglich ist.
Ich würde aber dann doch eher 1,30 (Reichelt)für den moderneren ATTiny2313 als 0,97 für den AT89C2051 zzgl. teureren Programmer ausgeben.

Christopher1
13.01.2007, 07:24
Gut hab mir jetzt 5 ATtiny2313 bei Reichelt bestellt.
Ist übrigens nicht für mich sondern für meinen Freund.
Ich habe das myAVR Einsteigerset Plus USB (mit nen ATmega8). Bin grade dabei das Lehrbuch durchzuarbeiten. Ich habe ja auch ein Schlepptop und den wollte ich nun nicht grade in Arsch bekommen, weil ich da irgendeine auf`m Stechbrett zusammmengefrimelte Schaltung habe die bei jedem 20 mal fuktioniert.
Hat vielleicht jemand einen Schalltplan für nen ATTiny2313 Programmierboard ?
MfG Christopher

SIGINT
13.01.2007, 14:37
Für den ATtiny2313,ATmega8,ATmega88 und viele andere brauchst du kein richtiges Programmierboard. Ein paar kurze Verbindungsleitungen zum Druckerport und eine Spannungsquelle reichen aus. Zum Programmieren nutze ich AVReAl :
http://www.ln.com.ua/~real/avreal/index_e.html
(siehe FBPROG bei "adapters"

Bis jetzt konnte ich jeden AVR ohne Probleme programieren (manchmal muss man mit den Komandozeilen Parametern rumspielen).
Aber Achtung: Der FBPROG-Adapter kann im Fehlerfall den Druckerport zerstören... deshalb gibts andere Adapter, die Schutzmaßnahmen beinhalten.

Gruß,
SIGINT

SprinterSB
13.01.2007, 14:59
Am einfachsten -- und da du zur Steckbrett-Fraktion gehörst *g* -- wäre so was wie abgespeckten SI-Prog:

http://s-huehn.de/elektronik/avr-prog/avr-prog.htm

Setzt allerdings Parallel- oder COM-Port voraus. Erfahrungsgemäß physikalisch, die USB-Tunnel funzen nicht.

Evtl. kann man ds Billig-Teil auch nur hernehmen, um sich einen usbasp hochzuziehen:

http://www.fischl.de/usbasp/

Weitere Dongles (lässt Verdongelung mit Kauf-Software vermuten) finden man im Netz oder in RN-Wissen. Heisse dann "AVR-Programmierkabel", abwohl es eine komplette, aufgebauschte Schaltung ist.


[...] kann man sich durchaus vernünftige Hardware zum Programmieren besorgen. (vernünftig = das was sich aus dem AVR Studio heraus nutzen lässt ...)

Ein vernünfitiger Progger lässt sich skripten und eine vernünftige IDE erlaubt es, parametrisierte Skripte/Kommandos zum Aufruf eines Proggers abzusetzen. Es gibt also keinen Grund, daß ein Progger nativ in der IDE implementiert sein muss. Wenn man einen neuen Lieblingsprogger hat, kann man ihn so einfach in die Umgebung "stöpseln".

Christopher1
14.01.2007, 06:18
In diesem Link: http://s-huehn.de/elektronik/avr-prog/avr-prog.htm
wird aber ein AT90S2313 verwendet geht der ATTiny2313 auch ?

SIGINT
14.01.2007, 11:47
Meines Wissens nach sind alle AVR (AT90Sxxx,ATmega und ATtiny) mit dem Parallelport Programmer von der o.g. Seite zu programmieren.... 100% sicher bin ich mir aber nicht. Du musst allerdings immer darauf achten, welche Pins vom AVR für ISP verwendet werden, die können nämlich variieren.
Ich hab folgende AVRs mit dem FBPROG-Adapter (siehe AVReAl) ohne Probleme programmieren können: ATmega8, ATmega48, ATtiny13, ATtiny2313 und AT90S8515. Es gibt allerdings kleine Unterschiede zwischen den Classic AVRs (AT90Sxxx) und deren Gegenstück bei den modernen AVRs. Diese Unterschiede kannst du aber z.B. hier nachlesen:
http://www.atmel.com/dyn/resources/prod_documents/doc4298.pdf

Gruß,
SIGINT

Christopher1
14.01.2007, 19:48
Mein Computer hat was gegen deinen Link, hat ihn schon das 2. mal abgewürkt. Wär schon nicht schlecht wenn es jemand genau wüste.
Hat jemand vielleicht eine Internetseite wo speziell auf den ATTiny2313 eingegangen wird ?

SprinterSB
15.01.2007, 12:19
In diesem Link: http://s-huehn.de/elektronik/avr-prog/avr-prog.htm
wird aber ein AT90S2313 verwendet geht der ATTiny2313 auch?

Ja.

Von der Programmierung her (Hardware) sind die AVRs identisch. Der ATtiny ist etwa wie der AT90S2313. Er hat gleichen Footprint und Pinout, ist allerdings nicht binärkompatibel (ist bei dir egal, da du nicht Binärdateien, die für einen 90S erzeugt sind, auf einem Tiny ausführen willst).

Ich progge folgende AVRs mit dem Adapter von der Seite -- allerdings in der Version für der COM-Port: ATmega8, ATmega88, ATtiny25, ATtiny2313, AT90S2313, AT90S8515, AT90S8535, ...

Mit dem avrdude als Progger werden diese µC unterstützt. AFAIK unterstützt das auf der Seite genannte PonyProg2000 den ATtiny2313 nicht, was aber nicht weiter tragisch ist, da es den dude gibt für Win32 und Linux.

Anstatt der von Scott-Falk Hühn vorgeschlagenen 1kΩ-Widerständen würde ich etwas größere vorschlagen. Der Parallel-Port ist nicht kurzschlussfest. Wenn du also am basteln bist und auf deinem Board ein Kurzschluss ist, sollte der Port das überleben (der IEEE1284 ist recht alt und gibt Mindestvorausetzungen an, damit eine Hardware die Spezifikation erfüllt, d.h IN/OUT ist TTL-kompatibel. Neuere Parallelport-Hardware hat vermutlich ESD- und Kurzschluss-Schutz drinne, aber man weiß ja nie).

Dazu nimmst du Widerstände von zB 3.3kΩ. Bei einem Kurzschluss innerhalb der Schaltung (Signal gegen VCC oder GND) bleibt der Strom unterhelb 1.6mA.

Bei Normalbetrieb fliesst über die Signalleitungen eh kein Strom, die Widerstände stören die Übertragung also nicht.

Die Anschlüsse des Adapters sind:

GND (gemeinsamer 0V-Bezugspunkt)
MISO, MOSI, SCK (ISP-Programmierleitungen)
RESET (der Progger muss zum Proggen auch den RESET kontrollieren).

Also:
-- Die 5 Parallelport-Anschlüsste aufs Steckbrett
-- Widerstände in alle Datenleitungen
-- GND und VCC an ein Netzteil, am besten mit Diode gegen Verpolung, evtl 7805 oder LM2940Z-5 gegen falsch eingestelltes Netzgerät (dann die Diode vor den Spannungsregler)
-- ATtiny

und los geht's!

Christopher1
15.01.2007, 19:57
OK du hast mir schon weiter geholfen.
Ich hoffe das ich mich bei Fragen wieder melden kann.

Christopher1
17.01.2007, 08:43
Ich probier das dann am Wochenende mal.
Hat vielleicht noch jemand eine gute Internetseite für Assembler-Anfänger ?

Pascal
17.01.2007, 10:15
schau mal auf www.mikrocontroller.net, dort gibts unter anderem auch ein tutorial für assembler

SprinterSB
17.01.2007, 12:44
Länglich aber lehrreich:

https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=11488

Christopher1
18.01.2007, 08:38
@Pascal
hab ich schon durchgelesen
@sprinterSB
hab ich mir schon gedownloaded, aber noch nicht durchgelesen *schäm*
mach ich aber am Wochenende