Forum: Mikrocontroller und Digitale Elektronik PIC 16F84 geeignet ?


von Ashoka (Gast)


Lesenswert?

Hallo,

welcher PIC eignet sich zum Einstieg in das Thema "C auf PIC" ?
Ich dachte an einen 16F84, bin mir aber unsicher.

Thanks, Ashoka

von hinz (Gast)


Lesenswert?

Den Methusalem verwende ich schon lange nicht mehr, und das obwohl ich 
noch ein paar Stangen davon auf Lager hab. Und für C eignet sich der so 
gut wie Bindfaden als Abschleppseil.

von Teo D. (teoderix)


Lesenswert?

hinz schrieb:
> Und für C eignet sich der so
> gut wie Bindfaden als Abschleppseil.

Für geübte Masochisten, fast perfekt, nur etwas viel Speicher....
Für Anfänger und Assembler OK, nix drin was verwirren könnte.
Bei den wirklich alten, ohne A hinten dran (max 4MHz), wird's schon bei 
einer Buzzer Ansteuerung eng.

Such dir was neueres aus, geht ganz einfach.
http://www.microchip.com/maps/Microcontroller.aspx

: Bearbeitet durch User
von kyrk (Gast)


Lesenswert?

Ne, zu alt und zu klein.
Alt: Es gibt ja vermutlich viele Beispiele im Internet, aber der Teil 
ist sehr sehr alt, ist heutzutage nicht mehr so gängig.
Man kann den zwar in C programmieren, aber wird sehr schnell voll. Flash 
und RAM ist dazu relativ klein. Hängt ja natürlich ab was du damit 
machen möchtest.

Versuche etwas zu finden was bisschen mehr Flash und RAM hat. Schau mal 
in der 18F Familie nach. Damals habe ich 18F4550 oft benutzt. Der ist 
heute auch schon alt, aber deutlich besser für als der 16F84

von bingo (Gast)


Lesenswert?

die beste Seite dafür ist die von sprut: http://www.sprut.de

von Michael B. (laberkopp)


Lesenswert?

Ashoka schrieb:
> welcher PIC eignet sich zum Einstieg in das Thema "C auf PIC" ?
> Ich dachte an einen 16F84, bin mir aber unsicher.

Früher gab es nichts anderes mit elektrisch reprogrammierbarem Flash, da 
musste man sich den PIC antun, denn der 68HC811 war unerschwinglich.

Heute gibt es viele bessere, der PIC16F84 ist nur noch archaeologisch 
erhältlich.

Üblich ist deute der Arduino, also ein ATmega328, programmiert in C++, 
der hat auch gleich die USB Verbindung die zu modernen PC nötig ist on 
Board.

Wenn du eine fertige Schaltung mit dem PIC16F84 nachbauen willst, kannst 
du das tun und dir einen eher teuren PIC16F84 dazu kaufen, sonst würde 
ich das nicht tun.

von Volker S. (vloki)


Lesenswert?

bingo schrieb:
> die beste Seite dafür ist die von sprut: http://www.sprut.de

Die Seite ist wirklich sehr gut, aber inzwischen auch ein bisschen in 
die Jahre gekommen.
Beschreibungen für aktuelle Tools und Controller wird man da nicht 
finden,
aber auch Sprut hat schon vor langer Zeit vom 16F84 abgeraten ;-)
http://www.sprut.de/electronic/pic/16f84.htm

Bitte auch nicht auf die Idee kommen einen der Brenner nach zu bauen.
Besser ein kleines Board mit Programmer/Debugger-On-Board oder ein 
PICkit3 Klon kaufen.

http://www.microchip.com/promo/curiosity-development-boards

Für ganz sparsame die es nicht eilig haben:
https://de.aliexpress.com/wholesale?catId=0&initiative_id=AS_20170711020248&SearchText=pickit3

: Bearbeitet durch User
von Frank K. (fchk)


Lesenswert?

Ashoka schrieb:
> Hallo,
>
> welcher PIC eignet sich zum Einstieg in das Thema "C auf PIC" ?
> Ich dachte an einen 16F84, bin mir aber unsicher.

Ein PIC32MX150F128B wäre ganz angebracht. Es muss ja kein 8-Bit PIC 
sein, oder?

http://www.microchip.com/wwwproducts/en/PIC32MX150F128B

Lade Dir das MPLABX und den XC32 von microchip.com herunter und besorge 
Dir ein PICKIT3. Der PIC32 ist auch in DIL erhältlich, also Lochraster 
her, 28 Pin Sockel drauf, 100n zwischen VDD und VSS, 100n zwischen AVDD 
und AVSS, 10uF keramisch oder Tantal zwischen VCAP und VSS, VSS und AVSS 
verbinden und 3.3V an VDD-VSS, und los gehts. Das ist die 
Minimalbeschaltung, alles andere ist optional.

fchk

von hinz (Gast)


Lesenswert?

Teo D. schrieb:
> Für Anfänger und Assembler OK, nix drin was verwirren könnte.

Naja, da war doch noch was...

http://justanotherlanguage.org/

von René F. (Gast)


Lesenswert?

Ich verteidige den 16F84, vielleicht auch weil ich auf ihm gelernt habe, 
klar gibt es modernere und bessere Controller aber zum lernen der 
Grundlagen ist er ideal, auch empfehlen kann ich dir das Tabellenbuch 
"Westermann Geräte und Systemtechnik" dort wird der Controller 16F84 und 
16F887 behandelt und als Nachschlagewerk ist es ideal und 
anfängerfreundlicher als das Datenblatt.

von Frank K. (fchk)


Lesenswert?

René F. schrieb:
> Ich verteidige den 16F84, vielleicht auch weil ich auf ihm gelernt habe,
> klar gibt es modernere und bessere Controller aber zum lernen der
> Grundlagen ist er ideal, auch empfehlen kann ich dir das Tabellenbuch
> "Westermann Geräte und Systemtechnik" dort wird der Controller 16F84 und
> 16F887 behandelt und als Nachschlagewerk ist es ideal und
> anfängerfreundlicher als das Datenblatt.

Als Anfängerprozessor ist er vielleicht noch ok, obwohl ich da einen 
aktuelleren Typ nehmen würde. Um Controller allgemein und Digitaltechnik 
kennen zu lernen und für Assembler vielleicht auch noch. Für C nicht. 
Definitiv nicht. Schon die Trennung zwischen Code-Adressraum und 
Daten-Adressraum ist etwas, was nicht im C-Standard drinsteht, sondern 
notgedrungen von den Compilerherstellern dazugebastelt werden musste, 
und das ist immer wieder ein Stolperstein, nach dem Motto "Warum ist 
mein RAM immer so schnell voll?".

PIC24 und PIC32 sind in dieser Hinsicht viel angenehmer, und da man dort 
mit gcc-Derivaten arbeitet, wird der Standard ganz gut abgedeckt, was 
fürs C-Lernen nützlich ist.

Eine Preisfrage ist das nicht, der von mir vorgeschlagene 
PIC32MX150F128B kostet bei Reichelt 4.10€, ein PIC 16F84A-20P 3.99€.

Da weiß ich aber genau, was ich nehmen würde.

fchk

von Felix A. (davinciclaude)


Lesenswert?

Um Himmels willen, ja nicht 16F84. Kann man den überhaupt anständig 
debuggen?  Anyway. Ich habe vor 3..4 Jahren mit dem 16F866 angefangen, 
war für mich perfekt: Nicht allzu komplex, preiswert, hat aber die 
gängigen Schnittstellen, TMR 0-1-2 etc und genügend IO's. Alles in einem 
Datenblatt, nix Unterteilung in "Family Datasheet" und "Device 
Datasheet". 16F18xx und 16F19xx können glaube ich ein bisschen mehr, 
habe aber auf MSP gewechselt bevor ich die gekauften Controller je 
gebraucht habe. Wenns nur ein 8-Pinner sein darf: Vielleicht 16F683?

: Bearbeitet durch User
von Thomas E. (picalic)


Lesenswert?

Claude D. schrieb:
> Wenns nur ein 8-Pinner sein darf: Vielleicht 16F683?

Du meinst sicher 12F683 - der hat 8-Pins.

Ich würde aber grundsätzlich (zumindest bei den 8-Bittern) eher die 
modernere "Enhanced Midrange" Familie (12F1xxx, 16F1xxx) nehmen! Die 
haben meistens viel mehr Peripherie, mehr Speicher, einen u.a. für C 
verbesserten Befehlssatz, viel weniger Interrupt-Latenz (weil die 
Register-Rettung in Software wegfällt) und höhere Taktfrequenz des 
internen Oszillators (oft bis 32 MHz).

: Bearbeitet durch User
von Michael B. (laberkopp)


Lesenswert?

René F. schrieb:
> Ich verteidige den 16F84, vielleicht auch weil ich auf ihm gelernt habe,
> klar gibt es modernere und bessere Controller aber zum lernen der
> Grundlagen ist er ideal, auch empfehlen kann ich dir das Tabellenbuch
> "Westermann Geräte und Systemtechnik" dort wird der Controller 16F84 und
> 16F887 behandelt und als Nachschlagewerk ist es ideal und
> anfängerfreundlicher als das Datenblatt.

In C programmiert ? Wohl kaum, und er fragte klar nach C,
nicht Asse,bler.

von Dr. Sommer (Gast)


Lesenswert?

Ein Chip, der in einem Buch aus Papier beschrieben wird, und dann 
auch noch auf Deutsch und ist ein Schulbuch, muss ja antik sein...! Im 
Deutschunterricht darf man ja auch nur Literatur von Autoren lesen, die 
seit mindestens 100 Jahren tot sind.
... Duck und wech ;-)

von Felix A. (davinciclaude)


Lesenswert?

Thomas E. schrieb:
> Claude D. schrieb:
>> Wenns nur ein 8-Pinner sein darf: Vielleicht 16F683?
>
> Du meinst sicher 12F683 - der hat 8-Pins.
>
> Ich würde aber grundsätzlich (zumindest bei den 8-Bittern) eher die
> modernere "Enhanced Midrange" Familie (12F1xxx, 16F1xxx) nehmen! Die
> haben meistens viel mehr Peripherie, mehr Speicher, einen u.a. für C
> verbesserten Befehlssatz, viel weniger Interrupt-Latenz (weil die
> Register-Rettung in Software wegfällt) und höhere Taktfrequenz des
> internen Oszillators (oft bis 32 MHz).

Zu Beginn ist man aber sowieso eher mit sich selbst beschäftigt, und die 
eigenen Fähigkeiten sind idR der Flaschenhals. Gerade kürzlich habe ich 
meinen alten Code erster Projekte durchgeschaut, grausig-grottig war 
das. Wenn du mit Problemen wie Interrupt-Latenzen zu kämpfen hast, bist 
du wahrscheinlich auf einem Level, wo dir die Migration auf Enhanced 
Midrange nicht allzu schwer fällt ;)

Aber wenn wir schon bei zeitgemässe  PICs sind: gabs da nicht mal Boards 
mit den ganz neuen, 16F188xx?

von Volker S. (vloki)


Lesenswert?

Claude D. schrieb:
> Aber wenn wir schon bei zeitgemässe  PICs sind: gabs da nicht mal Boards
> mit den ganz neuen, 16F188xx?

Die 16F18xxx kann man mit den Curiosity Boards (DIP zum stecken) 
verwenden oder ein MPLAB Express Board (SMD). Die Express Boards bieten 
meines Wissens auch Debugmöglichkeit.

: Bearbeitet durch User
von Volker S. (vloki)


Lesenswert?

Äh sorry, die Express Boards haben natürlich keinen Debugger on 
Board....

von Anja (Gast)


Lesenswert?

Ashoka schrieb:
> welcher PIC eignet sich zum Einstieg in das Thema "C auf PIC" ?
> Ich dachte an einen 16F84, bin mir aber unsicher.

Ich programmiere den ausschließlich in Assembler.
Auch die 16F876 und den Nachfolger 18F2520.

Für C nehme ich den PIC24FV32KA302 oder aufwärts.

Gruß Anja

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.