PIC12F629/675
8-Pin Flash PICs

  zurück zu PIC-Prozessoren-Übersicht , PIC-Prozessoren , ElektronikHomepage

Steckbrief
 

12F629 12F675
Gehäusegröße 8 Pins 8 Pins
Kern 14 Bit 14 Bit
Programmspeicher 1024 Befehle 1024 Befehle
RAM 64 Byte 64 Byte
EEPROM 128 Byte 128 Byte
I/O-Pins 6 6
Timer 2 Timer 2 Timer
Komparatoren 1 1
10-Bit-ADC-Inputs - 4
max. Takt 20 MHZ 20 MHz
PIC12F675 im DIL-8-Gehäuse (PDIP)


Kurzbeschreibung

Die PIC12F6xx-Familie ist die Lösung für kleine preiswerte Schaltungen, bei denen man mit wenigen I/O-Pins auskommt.

Der 12F6xx ist in seinen inneren Qualitäten dem drei mal so teuren 16F84 in jeder Beziehung überlegen. Einzig die Anzahl der I/O-Pins ist aufgrund des 8-Pin-Gehäuses kleiner. Dafür besitzt die 12F6xx-Familie einen 2. Timer, einen Komparator und der 12F675 sogar einen 10-Bit-ADC.

Wem der 12F629/675 zu wenig I/O-Pins bietet, der sollte sich die PIC16F630/676 anschauen, das sind die gleichen Chips mit 6 zusätzlichen I/O-Pins.

Mein Programm PBrenner unterstützt die 12F629/675 ab der Version 2.3 für die Brenner1, 2, 3 und 5 über die ICSP -Schnittstelle. Der Brenner1 besitzt sogar den passenden 8-Pin-Sockel. Brenner5 ab Rev. 7 brennt die 8-Pin-PICs im 18-poligen Sockel.

Für den älter Brenner5 bis Rev. 5 ist eine Modifikation möglich (4 Drähte auf der Leiterseite des Brenners), um die PIC12F6xx in seiner 18-poligen Fassung zu brennen. Die lässt sich sinngemäß auch auf den Brenner3 anwenden.


Besonderheiten für das Brennen

In jeden PIC12F629/675 werden im Herstellerwerk zwei Kalibrierwerte eingebrannt: der Bandgap-Wert und der Oszillator-Kalibrier-Wert (OSCCAL). Der Bandgap-Wert steht in den beiden höchstwertigen Bits des Config-Registers, der OSCCAL-Wert ist dagegen ein RETLW-Befehl, der auf der Speicherzelle 0x3FF des Programmspeichers abgelegt ist.

Wird der PIC gelöscht oder neu gebrannt, so sind unbedingt diese beiden Werte vorher auszulesen, und danach wieder in den PIC zu brennen. Meine Software PBrenner ab V2.3 erledigt dies automatisch. Eine Nebenerscheinung davon ist, dass die Reaktionen des Programms bei Mausklicks um 1..3 Sekunden verzögert erfolgen, wenn ein PIC12F6xx am Brenner hängt.
Im Programm sollte man die Adresse 0x3FF prinzipiell nicht verwenden, da sie für den OSCCAL-Wert reserviert ist. Mein Brennprogramm überschreibt diese Speicherzelle gnadenlos und ohne Rückfrage mit dem OSCCAL-Wert.

Wenn trotz aller Vorsicht der OSCCAL-Wert verloren gehen sollte, habe ich hier ein Verfahren beschrieben, um ihn wieder zu ermitteln.


Besonderheiten für Entwickeln von Programmen

Bitte die Analogfalle beachten. Ansonsten gehen weder Input-Pins noch Interrupts über GP2 noch interne pull-up-Widerstände.

Das Pin GPIO3 kann nicht als Ausgang (sondern nur als digitaler Eingang oder als Reset/MCLR) eingestellt werden.

Der interne 4-MHz-Oszillator kann in seiner Frequenz präzise eingestellt werden.  Dazu dient ein vom Hersteller auf 0x3FF abgelegter Kalibrierwert, der in das Register OSCCAL wie folgt eingetragen wird:
 
; internen Taktgenerator kalibrieren
        bsf     STATUS, RP0  ; Bank 1
        call    0x3FF
        movwf   OSCCAL
        bcf     STATUS, RP0  ; Bank 0


Gehäuse

Den 12F6xx gibt es in drei Gehäuseausführungen: PDIP (/P), SOIC (/SN) und MLF-S (/MF). Der Gehäusetyp ist in der kompletten Typenbezeichnung enthalten.

P (PDIP) ist in diesem Fall eigentlich das SP-Gehäuse. Das ist ein normales 8-polige DIL-Gehäuse für die Montage auf gebohrten Leiterplatten oder in DIL-Fassungen.

SN (SOIC) ist ein 8-poliges SMD-Gehäuse zur Oberflächenmontage. Der Schaltkreis ist ohne Pins 4 mm breit. Mit Pins sind es 6 mm.

MF (MLF-S) ist ein 8-poliges besonders flaches SMD-Gehäuse mit unter das Gehäuse gebogenen Lötflächen. Der Schaltkreis ist 5 mm x 6 mm groß und nur 1 mm dick.


  zurück zu PIC-Prozessoren-Übersicht , PIC-Prozessoren , ElektronikHomepage
Autor: sprut
erstellt: 09.08.2002
letzte Änderung: 30.05.2005