Forum: Mikrocontroller und Digitale Elektronik Erste Schritte mit C8051F310


von Andy S. (andy_s)


Lesenswert?

Hey alle zusammen. :)

also ich habe vor, einen C8051F310 von Silicon Labs zu programmieren..
und wollte euch mal fragen, ob ihr da guten Lesestoff kennt, um soo 
grundsätzliche sachen um den 8051 & den C8051F310 zu verstehen und dann 
auch zu programmieren.

Soweit ich weiß, ist der 8051er im C8051F310 ja nur dazu da, die 
einzelnen sachen im C8051F310 anzusteuern, oder hab ich da schon etwas 
falsch verstanden?

von Bernd N (Gast)


Lesenswert?

>> Soweit ich weiß, ist der 8051er im C8051F310 ja nur dazu da, die
>> einzelnen sachen im C8051F310 anzusteuern, oder hab ich da schon etwas
>> falsch verstanden?

Vermutlich. Welche Sachen meinst du denn ?

von Andy S. (andy_s)


Lesenswert?

Na diesen Digital I/O abschnitt und die Analog Peripherals.
die werden doch durch den 8051 - Controller Core angesteuert/ausgelesen, 
oder?

von Link (Gast)


Lesenswert?

Schau einmal auf der Startseite unter News. Da wird ist ein Buch 
verlinkt.

von Patrick (Gast)


Lesenswert?

Hallo Andy,

hast du guten Lesestoff gefunden. Ich versuche gerade auch den C8051F310 
in Verbindung einer Projektarbeit zu programmieren. Falls du hilfreiche 
Dokumentationen hast wäre ich dir dankbar wenn du mir diese weiterleiten 
könntest: it_su@web.de

Gruß
Patrick

von Ralf (Gast)


Lesenswert?

Mahlzeit,

wo genau ist denn euer Problem? Es gibt nicht DEN Lesestoff für einen 
8051 oder egal welchen Controller.
Wichtig sind ReferenceManual des Kerns, das Datenblatt des verwendeten 
Controllers und sofern vorhanden das UserManual.

Wenn es darum geht den 8051-Kern besser kennen zu lernen, gibt's i.d.R. 
Beispielprogramme in der jeweils verwendeten Toolchain, oder generelle 
Einstiegsdokumente.
Für den 8051 beispielsweise:
http://www.8052.com/tut8051.phtml
http://www.ipd.uka.de/~buchmann/microcontroller/progrs.htm

Wenn ihr den Kern verstanden habt, könnt ihr Derivate von Philips/NxP, 
SiLabs, etc. verwenden, ihr müsst dann "nur" noch die jeweiligen 
Besonderheiten beachten, der Kern ist trotzdem der gleiche.
Beispielsweise gilt bei SiLabs verglichen mit "Standard"-8051:
- andere SYSCLK-Teilung -> zwölf Oszillatortakte pro Maschinenzyklus 
beim Standard-8051, SiLabs hat nur einen Oszillatortakt pro 
Maschinenzyklus, d.h. er ist bei gleichem Oszillatortakt bis zu 12x 
schneller
- einige SiLabs-Derivate unterstützen SFR-Paging, d.h. es gibt SFRs mit 
identischen Adressen, die Unterscheidung um welches SFR es sich handelt 
wird mit einem weiteren SFR vorgenommen
- es gibt bei SiLabs-Derivaten nahezu keine feste Bindung von 
Peripheriesignalen an bestimmte Ports, viele Signale können durch die 
Crossbar an verschiedene Pins gelegt werden (Ausnahme ist i.d.R. der 
UART, dieser ist immer auf P0.4/P0.5)
- einige Instruktion benötigen nicht die gleiche Anzahl Maschinenzyklen 
wie im Standard-8051

Wenn ihr weitere Fragen habt, ich arbeite recht viel mit den 
SiLabs-Controllern. Ansonsten gibt's hier noch einige weitere 
8051/8052-Veteranen :)

Ralf

von Bernd N (Gast)


Lesenswert?

Was ist genau die Frage ?

http://www.silabs.com/products/mcu/smallmcu/Pages/C8051F31x.aspx

Welche Umgebung wird von euch verwendet ? IDE, Compiler, 
Programmiersprache ?

von Garden (Gast)


Lesenswert?

Die Silabs lassen sich sehr gut mit Keil programmieren.

Hierzu gibt es auch ein passendes VIDEO-Tutorial

http://ET-Tutorials.de/Mikrocontroller

von marcp (Gast)


Lesenswert?

Hi. Ich interessiere mich auch für die Controller von Silabs.

Mit welchen Schnittstellen kann man diese den programmieren?
Gibt es da auch einzelene zu kaufen? Gibt es diese auch in 
bastlerfreundlcher DIP-Ausführung?

Gruß Marco

von Bastler (Gast)


Lesenswert?

Dip Gehäuse weiß ich jetzt nicht, vermutlich nicht.

Das schöne bei SiLabs: Es gibt einen Wizard, der hilft ungemein bei der 
Initialisierung.

von marco (Gast)


Lesenswert?

Gibt es bei Silabs eigenltich auch 8-bit Modelle mit mehr als 2 externen 
Interruptquellen.

von Ralf (Gast)


Lesenswert?

@Marcp:
> Mit welchen Schnittstellen kann man diese den programmieren?
C0xx - C2xx: JTAG
C3xx und aufwärts: C2 Interface
Wird beides vom Debugadapter, welcher den DevKits beiliegt (und auch 
einzeln erwerblich ist) unterstützt.
Andere Schnittstellen nur per selbstgeschriebenem Bootloader (es gibt 
AppNotes dazu).

> Gibt es da auch einzelene zu kaufen?
Digikey, Mouser, etc.

> Gibt es diese auch in bastlerfreundlcher DIP-Ausführung?
Es gab mal einen der Controller im DIP, ist aber glaub ich mittlerweile 
aus dem Programm genommen.
Ansonsten gibt's in der Regel in jeder Gruppe (also F3xx, F4xx, etc.) 
QFN, bei einigen Gruppen zusätzlich QSOP, (L)QFP, etc. Es gibt sogar 
SO16.

@Marco:
> Gibt es bei Silabs eigenltich auch 8-bit Modelle mit mehr als 2 externen
> Interruptquellen.
Alle von den Teilchen haben mehr als zwei externe Interruptquellen, da 
i.d.R. eine PCA mit mindestens drei Kanälen implementiert sind. 
Zusätzlich unterstützen einige der Controller PortMatch Interrupts...
Kommt halt drauf an, was genau du machen willst und wie gut du das 
umsetzen kannst :)

Ralf

von Peter D. (peda)


Lesenswert?

marco schrieb:
> Gibt es bei Silabs eigenltich auch 8-bit Modelle mit mehr als 2 externen
> Interruptquellen.

Wozu?

von Ralf (Gast)


Lesenswert?

@Peda:
>> Gibt es bei Silabs eigenltich auch 8-bit Modelle mit mehr als 2 externen
>> Interruptquellen.
> Wozu?
Vielleicht ist er noch nicht so weit, dass er's mit einem Interrupt und 
einer zügigen(!) Portabfrage auch hinbekommt - hängt aber auch von 
seiner (nicht näher genannten) Anwendung ab...

Ralf

von Bernhard S. (b_spitzer)


Lesenswert?

Bei allen 8051 kann man bis zu 2 weitere Interruptquellen nutzen, wenn 
man die Timer nicht braucht. Z.B. Timer0 im 8Bit Counter-Betrieb, 
Startwert TL0=TH0=0xFF; damit läuft der Timer bei jedem Impuls am T0-Pin 
über, erzeugt einen Interrupt und lädt sich gleich noch nach.
Andere Derivate haben auch Matrix-Tastaturcontroller integriert. Damit 
kann man z.B. eine 4x4 Matrix an einem Port (Port 1 beim 
AT89C51RC2/AT89C5131) betreiben.
Nur für langame Taster kannst Du auch einen I2C-Expander mit 
Interrupt-Ausgang nehmen.

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.