Forum: Mikrocontroller und Digitale Elektronik PIC12F675 Einstieg


von Virus 7. (virus744)


Lesenswert?

Hallo Freunde,

ich bin Einsteiger in der Mikrocontroller-Technik.
Ich hatte ein Semester lang auf dem PIC18 Unterricht.

Nun möchte ich mich aber mit dem einfechen, billigen und für viele Dinge 
ausreienden PIC12 befassen.

Nach einem ersten Versuch gestern, hatte ich jedoch schnell gemerkt, 
dass der Umstieg für einen Anfänger nicht ganz einfach ist.
--> andere Register, andere Zugriffe, ...

Hat jemand ein PIC12 Tutorial oder etwas anderes, dass er mir als 
Einstieg in den PIC12 empfehlen kann?

Danke schonmal für Eure Antworten.

Gruß

von Stefan (Gast)


Lesenswert?

Hi,

falls du den PIC18 beherschst, kann ich dir nur empfehlen auch dabei zu 
bleiben. Der umstieg ist total verwirrend. Soweit ich weiß hat die 
12er-Serie keinen linearen Adressraum. Da kommen sachen in Spiel wie 
direkt und indirekt adressierbare Speicherzellen.

Und was hast du davon? Diese minimalistischen Projekte, an denen du 1EUR 
am Pic sparrst bereust du schnell wenn die Resourcen doch nicht reichen.

Generelle Einstiegerhilfe findest du unter www.sprut.de

von Virus 7. (virus744)


Lesenswert?

Hallo Stefan,

naja, der Gedanke ist recht einfach:
PIC12 kostet 1€, PIC18 8-10€
PIC12 ist viel kleiner, PIC18 ist riesen-groß.

Aber du hast recht, der Umstieg ist total verwirrend!!!!
Hast du vielleicht nen Tipp für mich, wo ich den PIC18 billig erwerben 
kann?

Wie ist das ganze beim PIC16?
Ist da der Umstieg auch so groß und verwirrend?

Gruß

von Master S. (snowman)


Lesenswert?

was meinst du mit "klein" resp. "gross"? die PIC18 gibts auch in 
18-pinnigen gehäusen. ich machte den einstieg mit den 16er und seit ich 
einmal einen 18er programmierte, fasste ich die 16er nie mehr an. ich 
habe noch etliche 18er aus einer alten bestellung bei Microchip und wenn 
die verbraucht sind, stelle ich wahrscheinlich uf die 24er um, die sind 
günstiger, schneller und bieten mehr optionen; sie sind allerdings auch 
ein klein bisschen schwieriger zu konfigurieren (da mehrere 
einstell-möglichkeiten). mein tip an dich: bleib bei den 18er bis sie 
für dich von den ressourcen her zu klein werden, und erspare dir viel 
leid.

von juppi (Gast)


Lesenswert?

für Mini Projekte ist der 12 gut geeignet.
16 besser
zum 18 will ich nicht mehr,wegen der Umstellung.

von Peter D. (peda)


Lesenswert?

Virus 744 schrieb:
> naja, der Gedanke ist recht einfach:
> PIC12 kostet 1€, PIC18 8-10€

Also bei Reichelt kostet der PIC18F1220 nur 2,75€.

Ich nehme allerdings die AVRs, die haben alle die gleiche Architektur, 
vom ATiny13 (8pol., 0,89€) bis zum ATmega2560 (100pol., 9,95€).

Da muß man für kleine Projekte nicht umlernen und braucht auch keinen 
anderen Compiler.


Peter

von Master S. (snowman)


Lesenswert?

für kleine projekte nehme ich die 18er, für grössere die 24er - und ich 
muss auch nicht umlernen (der unterschied 16->18 ist wesentlich grösser 
als 18->24)

von Christoph S. (christophst)


Lesenswert?

steig um auf die 16ner reie...

die wirds warscheinlich noch n paar tage geben, und der einstieg is 
einfach.
Du hast nur 2 registerbänke, und die programmierung in assembler ist 
easy
sprut .de bietet ein super tutorial über die 16 und 18 reihe an

da ich mal denke das du nur kleine projekte statrten willst ist das ne 
gute sache...

bei Conrad und reichelt kannste die bestellen, den 16f84 gibts da z.b im 
dil 16 gehäuse für ca 3 euronen

für klinkerkram ne tolle sache, für mehr allerdings nicht, da kein ad 
wandler an bord ist, und auch keine schnittstellen(rs232 usb)
zudem hast du auch nur 1 timerreg.

für mehr musste auf den avr oder höheren pic ausweichen...
adw, usb - rs232 - und spi schnittstellen, X timer , sowie zig ports 
gehören hier zum standart..

mfg, und noch viel spass bei der arbeit :)

von Michael L. (michaelx)


Lesenswert?

Christoph Steinmann schrieb:
> steig um auf die 16ner reie...
>
> die wirds warscheinlich noch n paar tage geben, und der einstieg is
> einfach.
> Du hast nur 2 registerbänke, und die programmierung in assembler ist
> easy
> sprut .de bietet ein super tutorial über die 16 und 18 reihe an
>
> da ich mal denke das du nur kleine projekte statrten willst ist das ne
> gute sache...
>
> bei Conrad und reichelt kannste die bestellen, den 16f84 gibts da z.b im
> dil 16 gehäuse für ca 3 euronen
>
> für klinkerkram ne tolle sache, für mehr allerdings nicht, da kein ad
> wandler an bord ist, und auch keine schnittstellen(rs232 usb)
> zudem hast du auch nur 1 timerreg.
>
> für mehr musste auf den avr oder höheren pic ausweichen...
> adw, usb - rs232 - und spi schnittstellen, X timer , sowie zig ports
> gehören hier zum standart..
>
> mfg, und noch viel spass bei der arbeit :)


Hey, super Beitrag. Es geht doch nichts über solides Halbwissen! - OMG


Du weißt nicht, dass bei Microchip die 8-Pin-PICs mit "12F" anfangen, 
aber intern prinzipiell den gleichen Aufbau haben, wie diverse "16F", 
und empfiehlst ausgerechnet den Dinosaurier der PIC-Flash-Controller 
(zudem noch teuer und wenige Funktionen) als besonders geeignet.

Diesen Unfug kann ich so nicht stehen lassen!

Also:
12F und 16F sagt erst mal, wie schon beschrieben, recht wenig aus.
Schaut euch z.B. mal den 12F675 und den 16F676 an; die unterscheiden 
sich bis auf die Anzahl der I/Os und A/D-Kanäle nicht voneinander.

Grundsätzliche Unterschiede gibt es an ganz anderer Stelle. So waren die 
12F/16F ursprünglich nur PICs mit 14-Bit-breiten Op-Codes. Inzwischen 
gibt es 12F sowie 16F, bei denen nach dem "F" eine "5" folgt, die nur 12 
Bit breite Op-Codes haben, und auch deutlich weniger Funktionen. Sie 
sind im Prinzip hauptsächlich als Flash-Ersatz für die alten OTP-PICs 
gedacht.

Vom 16F84 reate ich aus folgenden Gründen ab:
Er hat recht wenig Speicher (sowohl Flash, RAM als auch EEPROM), keinen 
internen Oszillator, lauft nur mit max. 10 MHz, und hat außer 5 Pins mit 
Interrupt keine weiteren Funktionen. Da stößt man doch ständig und 
völlig unnötig an Grenzen. Einzig zum 1:1-Nachbau von Uraltprojekten 
würde ich seinen Einatz empfehlen.

Wer mehr wissen möchte, kann gern mal per Mail nachfragen.

Und nein, ich werde nicht von Microchip bezahlt, habe mich aber schon 
vor 'zig Jahren intensiv mit PICs beschäftigt.

von Virus 7. (virus744)


Lesenswert?

Hallo Freunde,

vielen Dank für eure zahlreichen Antworten.

OK, ich muss mich verbessern, ein günstiger PIC18 kostet in etwa 3 Euro 
und keine 8. (ist aber immer noch nen Unterschied zum PIC12F675;-))

Ja, trotzdem werde ich mal weiter auf der Suche nach nützlichen 
Tutorials bleiben, um die PIC12 besser zu verstehen...

...Falls jemand noch nen nützlichen Tipp oder Hinweis hat, wäre ich 
immer noch sehr dankbar.

Mfg virus

von Sven S. (stepp64) Benutzerseite


Lesenswert?

Wenn du in Assembler programmierst, dann sind die Befehle, die Register 
und Speicheraufteilung bei den 12F ähnlich den 16F. Zumindest haben 
beide Serien meist den Befehlssatz mit den 35 Befehlen. Bei den 12F 
heisen halt die IO-Register GPIO und bei den 16F PORTx. Ich hatte mit 
den 12F angefangen. So erste Spielereinen mit LEDs und so. Dann bin ich 
zu den 16F gewechselt und da war der Umstieg nicht schwehr.

Zu den 18F gibt es in Assembler aber eine Reihe Unterschiede. Der 
Befehlssatz wurde auf 75 Befehle erweitert. Es gibt zwei 
Interuptprioritätsebenen. Der Stack wurde auf 32 Words erweitert. Es 
gibt kein Paging mehr und das Banking wurde vereinfacht. Das alles macht 
die Assemblerprogrammierung auf alle Fälle einfacher. Ein Schritt zurück 
zu den 12F/16F ist da mit einigen Umstellungen verbunden. Die beste 
Seite für 12F/16F in Assembler ist immer noch www.sprut.de. Mit dieser 
Seite habe ich die 12F/16F Reihe sehr gut zu Verstehen gelernt. Der Rest 
kommt dann vom Datenblatt.

Viel Spaß noch mit den PICs wünscht
Sven

PS: Auf meiner Seite findest du auch 3 kleine Projekte mit dem 12F629. 
Eventuell hilft es dir ja ein wenig.

von Michael L. (michaelx)


Lesenswert?

Hallo Sven Stefan.

Was du schreibst ist so einfach nicht richtig.

12F oder 16F sind nicht "ähnlich" und es sind keine 2 Serien, sondern 
einfach nur ein historisch gewachsenes, nicht leicht zu durchschauendes 
Bezeichnungsschema.

Entscheidend ist die Breite der Op-Codes bzw. des Programmspeichers.

Es gibt 12F und 16F mit 14 Bit, 18F mit 16 Bit, und dann noch 10F, 12F 
und 16F mit 12 Bit breiten/schmalen Op-Codes. Einzig danach ist zu 
unterscheiden.

Denn ob das Register 0x05 in Bank 0 beim 12F629 als GPIO oder beim 
16F630 als PORTA bezeichnet wird, macht doch technisch gesehen keinen 
Unterschied.
Im Prinzip kann man deshalb den Code vom 12F629 in einen 16F630 brennen, 
da wird halt nur das PORTC nicht benutzt.

von Thomas (Gast)


Lesenswert?

Ja die 12er sind schon gut aber:

von 8 Pins sind 5 schon weg:
5V
GND
RX
TX
Reset
Sollten zum Testen schon sein.

Wenn man dann was machen will muss man I2C nehmen. Also noch 1 Pin frei. 
Dann muss man für jeden weiteren Taster wieder was an I2C hängen.

Und dann läuft alles nur mit dem internen Oszi mit max 4 MHz.

Nimm einen größeren PIC! Am besten einen DIL 40. Zum testen braucht man 
1-2 und kann da alles machen. Für konkrete Anwendungen kann man dann was 
kleines nehmen.

von kokisan2000 (Gast)


Lesenswert?

Hallo miteinander,

programmiere 10F, 12F, 16F, manchmal 18F und bin dabei 24H zu lernen. 
Umstieg ist nicht so schwierig, wenn der Compiler die meiste Arbeit 
abnimmt.

Übrigens läuft der PIC12F683 (mein günstiger Favorit für viele Projekte) 
mit 8 MHz interner Quarz. Von 8 Pins sind zwei für Vcc, GND belegt, der 
Rest ist im Prinzip frei! Wenn man den bequem debuggen (mit ICD2 zum 
Beispiel) will, dann rate ich den speziellen 14-Pin 12F683 ICD zu 
nutzen.

http://www.microchipdirect.com/ProductSearch.aspx?Keywords=AC162058

Dieser Spezial-PIC verhält sich exakt wie der "normale" 12F683 und 
leistet bei der Programmierung in der Applikation gute Dienste. Wenn 
alles fertig entwickelt ist, wird der 8-Pin 12F683 programmiert und in 
die Applikation gedrückt - fertig.

Gruß
kokisan2000

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.