Forum: Mikrocontroller und Digitale Elektronik 8051 StarterKit mit USB


von Heinz B. (hez)


Lesenswert?

hello,

mein erster Eintrag hier :)

Ich bin verzweifelt auf der Suche nach einem 8051-StarterKit, das man 
mit USB an den PC anschließen kann.

Idealerweise wäre auch noch ein Buch und CD mit dabei und man würde auf 
dem uC mit Assembler und auf dem PC mit C#.NET programmieren.

Ich möchte nämlich ein kleines Programm schreiben, damit ich dann damit 
ein Relais ein-/ausschalten kann und die Rückmeldung auf dem Bildschirm 
ausgeben kann.

Kann mir wer einen Tip geben, wo es so etwas gibt?

P. S. ich weiß nicht, ob das ein Problem ist: das sollte dann unter 
Windows XP und Windows 7 funktionieren.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> damit ich dann damit ein Relais ein-/ausschalten kann
> und die Rückmeldung auf dem Bildschirm ausgeben kann.
Sieh mal bei Silabs und Atmel nach. Die machen 8051er mit USB.
Warum unbedingt ein 8051?

Ein Stichwort ohne 8051 für Google wäre "IO-Warrior".
Sieh dir das einfach mal an.

von Bastler (Gast)


Lesenswert?

SiLabs C8051F340, da gibt es ein Evalations-Kit

von Heinz B. (hez)


Lesenswert?

Mal Danke für die schnellen Infos!!!


Muss nicht unbedingt ein 8051 sein. Kann auch ein 8031, 8031, 8050, ... 
blablabla ... sein. Halt irgendeiner von dieser Familie.


https://www.silabs.com/Support%20Documents/TechnicalDocs/C8051F340_short.pdf
grundsätzlich schaut das schon mal ganz gut aus

10-Bit ADC: analogzeugs bräuchte ich eigentlich gar nicht

USB specification 2.0: das ist super

On-Chip Debug: habe ich noch nie gehört ... so was braucht man??

64 kB Flash: cool!
Wie funktioniert das eigentlich, nachdem ich die Karte via USB an den PC 
angesteckt habe?
Kann ich dann gleich mein Programm via PC und USB in den Flash 
reinspeichern?

Digital Peripherals: da ist eeecht wirklich viiiel drauf. so viel 
bräuchte ich gar nicht

Wieviel kostet denn so etwas? Da steht leider kein Preis dabei. Das wird 
aber ziemlich teuer sein, oder?

von Heinz B. (hez)


Lesenswert?

Habe jetzt auch das hier gefunden:
http://www.silabs.com/Support%20Documents/TechnicalDocs/C8051F34x.pdf
Nachdem ich nur ein kleines Programm ohne Analogsachen ausprobieren 
möchte, wären C8051F349-GQ oder C8051F349-GM idal für mich, oder? Aber 
leider auch wieder keine Preise dabei.

von Bastler (Gast)


Lesenswert?

Kostet ca 70-100€.
Als güstige Variante gibt es dort den "Toolstick" für knappe 20€.

Vorteil am Kit: Der Programmer/Debugger ist mit dabei!

Programmiert wird über den Programmer, USB (auf dem Chip) dient als 
Schnittstelle (sind Demos dabei für blinkende LEDs).
On-Chip-Debug ist komfortabel, damit lässt man das Programm auf dem Chip 
laufen und kann Variablen ansehen, manipulieren, Breakpoints setzten,...

von Hermann (Gast)


Lesenswert?

Hallo Heinz,
muss der 8051 unbedingt selber USB auf dem Chip haben ?
Du kannst doch einen ganz normalen 8051er nehmen und den mit einem 
seriell/USB-Adapter für ca. 8 EURO an den PC oder LpaTop anschließen.
Den Rest machst Du dann ganz komfortabel z.B. mit HyerTerm.
Hier sind z.B. die Chips von Atmel (z.B. AT89C51CC03) sehr gut geeignet 
mit dem kostenlosen Download-Programm Flip.
Als C-Compiler kannst Du die kostenlose 8kByte Demo-Version von µC/51 
nehmen und eine einfache Starter-Platine kostet mit Bauteilen um die 
40,00 EURO.

Gruß

Hermann

von Wolfgang B. (et-tutorials) Benutzerseite


Lesenswert?

Hallo Heinz,
ich setze im Unterricht das Evaluationsbord C8051F005DK von Silabs ein:
http://www.silabs.com/products/mcu/Pages/C8051F005DK.aspx

kostet 69 US Dollar. Wir programmieren mit Keil unter C.

von Karl (Gast)


Lesenswert?

Oder einen 08/15 USB->RS232 Wandler nehmen und Bit-Banging mit den 
Steuerleitungen machen. Wenns einfach und billig sein soll.

von Heinz B. (hez)


Lesenswert?

Jetzt habe ich mir mal angeschaut:
http://www.silabs.com/products/mcu/Pages/ToolStick.aspx

Man braucht also anscheinend
1 Base Adapter
1 Daughter Card
1 Programming Adapter

Das StarterKit besteht aus 1 Base Adapter und 1 Daugther Card und kostet 
24,99
Dazu noch der Programming Adapter 69,--
In Summe also 93,99
Wow ... ganz schön heftig.
Muss man bei jeder anderen Daugther Card immer einen neuen Programming 
Adapter kaufen??

Wie wird denn dort programmiert? Auf dem uC anscheinend in Keil-C.
Auf dem PC gibts nur ein fertiges Programm? Sieht man da keinen 
Quellcode?

@Karl
Also ich such nur irgendwas, was ich am PC per C#.NET ansteuern und am 
uC mit Assembler oder C programmieren kann. Aber von der 80xx-Familie.

von Heinz B. (hez)


Lesenswert?

http://www.silabs.com/products/mcu/Pages/C8051F005DK.aspx
Da ist der uC aber noch nicht mit dabei. Der kostet dann extra, oder? Da 
kommen noch mindestens $ 13 hinzu. Wären wir dann bei mindestens 82.
Gibt es da auch Quellcode für das Programm auf dem PC? Wie wird denn 
dort programmiert?

von Heinz B. (hez)


Lesenswert?

@Karl
"Oder einen 08/15 USB->RS232 Wandler nehmen und Bit-Banging mit den
Steuerleitungen machen."
Was ist das? Der Wandler ist klar, aber "Bit-Banging" habe ich noch nie 
gehört. Was macht man da?

von Wolfgang B. (et-tutorials) Benutzerseite


Lesenswert?

Als wir die Boards gekauft haben, waren sie mit dem C8051F000 bestückt.
Auf den mitgelieferten CDs findet man dann die 2K-Version der Keil IDE, 
die man aber auch bei www.keil.com herunterladen kann.

Zum Handling der Software habe ich mal ein Video gemacht:
http://et-tutorials.de/mikrocontroller/
(Artikel Nr. 2 und 3)

von Heinz B. (hez)


Lesenswert?

@Wolfgang
Das hört sich gut an.
Aber mich würde auch interessieren, wie die Programme auf dem PC dann 
aussehen. Auf dem Controller läuft dann ein C-Programm. Aber auf dem PC? 
Mit welchem Programm wird dann der uC angesprochen? Ich will da nämlich 
unbedingt mit C#.NET programmieren. Werden dort Beispiele mit einem 
C#.NET-Quellcode mitgeliefert?

Darum gehts mir nämlich. Ich will mittels C#.NET irgendwas via USB 
ansteuern. Und nachdem ich 8051 noch ein wenig kenne, dachte ich, das 
wäre eine Möglichkeit.

von Wolfgang B. (et-tutorials) Benutzerseite


Lesenswert?

Um ein Programm zu erstellen, dass auf dem µC laufen soll, benötigst Du 
einen Cross-Compiler - also z.B. den von Keil.
Hier schreibst Du auf dem PC das Programm, z.B. in C und lädtst es dann 
auf den µC. Dort wird das Programm dann ausgeführt.
Ein in C#.NET erstelltes Programm kannst Du nicht auf einem µC laufen 
lassen.

von Wolfgang B. (et-tutorials) Benutzerseite


Lesenswert?

Das Programm, das auf dem PC laufen soll, kannst Du natürlich in C# 
schreiben. Du musst Dir dann "nur noch" Gedanken über die Kommunikation 
zwischen PC und µC Gedanken machen.
Hier bietet sich evtl die serielle Schnittstelle an. (Vorsicht: nicht 
alle Evaluation Boards von Silabs  haben eine serielle Schnittstelle - 
hier müsstest Du dann das richtige Board auswählen).

von Heinz B. (hez)


Lesenswert?

Ja, das ist schon klar, dass kein C#.NET-Programm auf einem uC laufen 
kann ;) Aber das C-Programm, das auf dem uC läuft, soll ja irgendwie 
über den PC gesteuert werden. D. h. ich habe dann auf meinem PC ein 
C#.NET-Programm laufen. Das setzt dann einen Request via USB an das 
C-Programm im uC ab und liefert dann einen Response zurück, wodurch mir 
dann das C#.NET-Programm z. B. einen Text anzeigt.

Keil uVision 3 habe ich sogar schon auf meinem PC installiert. Kann nur 
noch nicht wirklich damit umgehen.

von Karl (Gast)


Lesenswert?

Die Frage ist wie so oft: Was willst du genau machen?
-Programmierkenntnisse mit 8051 auffrischen: Dann bist Du auf dem 
richtigen Weg

-Programmierkenntnisse allgemein auffrischen: Allein wegen der guten 
Verfügbarkeit und des Supports hier im Forum würde ich zum AVR Raten

-Ein Relais mit dem PC steuern, egal wie aber möglichst billig und 
einfach: Mit den Steuerleitungen eines USB -> UART Chips das Relais 
ansteuern. Programmierung am PC kann weiterhin in C# erfolgen.

von Heinz B. (hez)


Lesenswert?

Ich will nur lernen, wie man in einem C#.NET-Programm etwas ansteuern 
kann, was an einer USB-Schnittstelle hängt. Was dranhängt ist eigentlich 
egal. Hauptsache ich kann was ausgeben und was einlesen. Darum die Idee 
mit 8051 und Relais.

So ein kleines Progrämmchen für den 8051 reizt mich auch etwas. Müsste 
aber eigentlich gar nicht sein. Hatte mir vorgestellt, eine Entprellung 
vom Relaiskontakt zu programmieren.

von Chris S. (hondaracer1)


Lesenswert?

hm, also wenn das "nur" zum ueben ist dann haet ich vielleicht nen tip 
fuer dich. Da chips mit integrierter USB schnittstelle "relativ" teuer 
sind gibt es auch eine Softwareloesung, quasi eine per software 
realisierte USB schnittstelle.
Beispielprojekte siehe hier:
http://www.obdev.at/products/vusb/projects.html
Der treiber nennt sich V-USB und laesst sich in viele billige Chips 
laden.
Die Schnittstelle kann man dann auf HID (Human Interface Device) oder 
CDC ( Com port). Fuer ein Projekt waere CDC wohl besser geeignent da 
beim anschliesen des geraets an den pc dann eine virtuelle Serielle 
schnittstelle automatisch erzeugt wird auf die man mit C# sehr einfach 
zugreifen kann.
Mit V-USB laesst sich nur USB1.1 realisieren aber das reicht ja fuer 
alle bastelprojekte.

Ich will dir hier aber nix auszwingen.

von Ralf (Gast)


Lesenswert?

> Ich will nur lernen, wie man in einem C#.NET-Programm etwas ansteuern
> kann, was an einer USB-Schnittstelle hängt. Was dranhängt ist eigentlich
> egal. Hauptsache ich kann was ausgeben und was einlesen. Darum die Idee
> mit 8051 und Relais.
Warum nimmst du dann nicht einen FT232R und verzichtest auf den 8051 
(dafür sollte ich mich eigentlich schlagen :) )? Mit dem FT232R im 
Bitbang-Betrieb kannst du auch einlesen und ausgeben, du musst nur an 
einer Stelle programmieren, und du kannst mit C# drauf zugreifen. Auf 
die Weise hab ich grad einen 4-Kanal LED-Bargraph für USB aufgebaut und 
schreib grad die Software. Mittlerweile gibts sogar einen C#-Wrapper von 
FTDI für die FT2xx.DLL.

Ralf

von Hermann (Gast)


Lesenswert?

Hallo Heinz,
wir verwenden hier ein Experimental-Board von PalmTec, das First Step 
Board, das sich bei uns bewährt hat.
Da ist alles drauf, was man für den ersten Einstieg benötigt.
Die PC-Softzware, IDE (= C-Compiler für den Mikro) und das 
Download-Programm sind kostenlos erhältlich, irgendwelche teuren extra 
Programmer werden gar nicht benötigt.
Beispiel-Software für das Board gibts reichlich, auch kleine 
Zusatzkarten mit 4-fach-Relais-Ansteuerung.
Anschluß an den PC-USB geschieht über seriell/USB-Adapter, so daß Du mit 
deinem Programm via USB auf das Board zugreifen kannst.
Nähere Infos zum Board unter:

http://www.webmart.de/wmshop.cfm?ID=12116&ProductID=473467&CID=87772&do=detail


Gruß

Hermann

von namenlos (Gast)


Angehängte Dateien:

Lesenswert?

Falls doch noch ein kleiner Lötkolben vorhanden: um den AT89C5131 herum 
braucht man nicht viel Bauteile. µC (ca. 10,00€), USB-Buchse, u.s.w. ...

von Heinz B. (hez)


Lesenswert?

Ich habs mir überlegt. USB ist doch etwas kompliziert zu programmieren 
in C#. Die serielle Schnittstelle ist hingegen kinderleicht. D. h. ich 
suche ein kleines Testboard mit 8051 und RS232 :)

Seltsamerweise suche ich jetzt aber auch schon wieder 3 Stunden im 
Internet. Echt ein Horror. PICs gibts wie Sand am Meer, aber 8051 ...

Ihr habt doch sicher schon massenweise mit solchen kleinen Testboards 
gearbeitet, oder? Habt ihr einen Tip für mich? Der 8051 soll dann auch 
einfach zu laden sein.

P. S. ich will das nicht selbst alles zusammenlöten, habe kein 
vernünftiges Werkzeug und auch keinen Shop, wo ich mal auf die Schnelle 
ein paar Kondensatoren oder sonstigen Kleinkram kaufen könnte.

von Heinz B. (hez)


Lesenswert?

Jetzt habe ich was interessantes gefunden:
http://www.keil.com/boards/thirdparty.asp
Kennt die wer?

von Heinz B. (hez)


Lesenswert?

Mist! Wieder nichts gefunden. Langsam verzweifle ich.

von Karl (Gast)


Lesenswert?

Ich wiederhol mich ja nur ungern, aber nimm einen AVR. Nicht weil die 
8051/PIC/R8C und wie sie alle heißen schlecht wären, aber Support und 
Verfügbarkeit sind auch nicht zu verachten. Boards gibts "überall" wie 
Sand am Meer ;)

von termite (Gast)


Lesenswert?

Moin

ich wiederhol noch mal den vorschlag von weiter oben.

wieso kein IO Warrior?

- hat USB Anschluss
- jede menge port IOs die sich über USB ansprechen lassen
- noch jede menge anderer sachen wie Display, IR, ...
- Jede Menge Libs  DLLs zum ansprechen aus C  C++ / C# / sogar JAVA

kann somit genau das, was du machen willst. vileicht schon zu viel. da 
in .Net nur noch ne lib eingebunden werden muss und das ding tut. somit 
eigentlich kein hexenwerk mehr.

ansonsten kannst du den IO Warior auch direckt über HID ansprechen. aber 
ich bezweifle, das das aus .Net so ohne weiteres gehen wird.

gruss Termite

http://www.schnedl.at/iowarrior/
http://www.codemercs.com/index.php?id=64&L=0

von Heinz B. (hez)


Lesenswert?

Ich will mich nicht darauf konzentrieren, einen neuen uC zu lernen. Ich 
will C#.NET lernen. Und da ich die 8031-Serie schon kenne, will ich eben 
damit arbeiten.

von Heinz B. (hez)


Lesenswert?

Also das schaut doch irgendwie interessant aus, oder?

http://www.alibaba.com/productshowimg/in102071923-216137422-0/ProStik_8051_Basic_uC_P89v51RD2_Development_Board.html

oder

http://www.alibaba.com/productshowimg/in102071923-216137337-0/iBoard_8051_uC_Development_Board.html

Aber wirklich absolut 0 Infos auf diesen Seiten. Könnte das was sein für 
mich?

EDIT:
aber hier gibts eine Info dazu: 
http://thinklabs.in/shop/product_info.php?products_id=79

http://triindia.co.in/shop/product_info.php?cPath=25&products_id=57
Wenn ich das richtig umgerechnet habe, kostet das 21 euro.?

von termite (Gast)


Lesenswert?

Ok

Frage: hast du dir den IO Warior schon mal genauer angeschaut?


ich vermute nein.

den der IO Warrior besteht zwar aus eine MCU ich glaub von Atmel, oder 
von wem auch immer, das spielt bei diesem Produckt aber gar keine rolle. 
Der Baustein ist bereits mit einer Software versehen die Port IO über 
USB ermöglicht. über die bereitgestellten DLLs und Libs läst sich der 
Baustein recht einfach ansprechen.

Du must somit nicht erst ein Programm für einen MCU schreiben, um ihn 
ansprechen zu können. das hat in desem fall schon jemand andres getan.

gruss

von Heinz B. (hez)


Lesenswert?

Stimmt, habe ich noch nicht angeschaut. Habe jetzt immer nur nach 
8051-Testboards gesucht.

Was hältst du denn von dem hier:
http://triindia.co.in/shop/product_info.php?cPath=25&products_id=57

Puh ... muss ins Bett.. bin KO. In 18 Stunden gehts weiter

von Thomas R. (tinman) Benutzerseite


Lesenswert?

Eigentlich wollte ich schon sagen nimm den PSOC3 von Cypress

http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=428-2977-ND

Drauf ist ein PSOC3 (8051 kern) und ein FX2LP (8051 kern).

Damit kannst du sehr viel machen, ob USB (FX2LP) oder ADC/DAC, i/o usw.


Allerdings kannst auch einen typischen 8051 von futurlec nehmen 
(bezahlung via paypal) :

http://www.futurlec.com/8051_Educational_Board.shtml
http://www.futurlec.com/P89C51DevBoard.shtml
http://www.futurlec.com/T89C51DevBoard.shtml
usw.

von juppi (Gast)


Angehängte Dateien:

Lesenswert?

Damit hast du schon eine Ausgabehardware um mit .net zu testen.
3 Eingaben sind auch nutzbar.

Einfach und doch primitiv.

Controller kannst du immer noch nutzen.

Gruß

von Hermann (Gast)


Lesenswert?

Hallo Heinz,
Du bekommst auf Anfrage das First-Step-Board auch aufgebaut und 
getestet.
Da ist dann alles drauf, was Du für den ersten Einsteig brauchst.

Hermann

von Marko B. (glagnar)


Lesenswert?


von Heinz B. (hez)


Lesenswert?

http://www.futurlec.com/T89C51DevBoard.shtml
Schaut auch sehr interessant aus. Allerdings suche ich dort auf dem Foto 
verzweifelt nach dem RS232-Stecker. Aber angeblich hat er einen und 
darauf vertraue ich :)

2 Möglichkeiten habe ich jetzt. Werde ich mir dieses Wochenende noch 
Gedanken darüber machen und dann eine von den beiden Möglichkeiten 
wählen.

Danke euch allen :)

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.