Steckbrief
|
Kurzbeschreibung
Wem die 12F629/675 etwas zu klein ist, der findet in den PIC16F630/676 fast identische Schaltkreise, die lediglich über 6 zusätzliche I/O-Pins verfügen (ein PortC mit 6 Pins). Die kleinen 14-Pin-Gehäuse sind zusammen mit dem günstigen Preis die ideale Basis für kleine Projekte.
Der PIC16F630/676 ist in seinen inneren Qualitäten dem drei mal so teuren 16F84 in jeder Beziehung überlegen. Auch bei der Anzahl der I/O-Pins hat er trotz kleinerem Gehäuse fast gleichgezogen.
Mein Programm PBrenner unterstützt die 16F630/676 ab der Version 2.3 für die Brenner1, 2, 3 und 5 über die ICSP -Schnittstelle. 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 PIC16F630/676 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.5 erledigt dies automatisch. Eine Nebenerscheinung davon ist,
dass
die Reaktionen des Programms bei Mausklicks um 1..3 Sekunden
verzögert
erfolgen, wenn ein PIC16F630/676 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 einge Input-Pins noch Interrupts über RA2 noch interne pull-up-Widerstände.
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
OSCAL wie folgt eingetragen wird:
; internen Taktgenerator kalibrieren
bsf STATUS, RP0 ; Bank 1 call 0x3FF movwf OSCCAL bcf STATUS, RP0 ; Bank 0 |
Gehäuse
Den 16F630/676 gibt es in drei Gehäuseausführungen: PDIP (/SP), SOIC (/SL) und TSSOP (/ST). Der Gehäusetyp ist in der kompletten Typenbezeichnung enthalten.
SP (PDIP) ist das normale 14-polige DIL-Gehäuse für die Montage auf gebohrten Leiterplatten oder in DIL-Fassungen.
SL (SOIC) ist ein 1,5-mm-dickes 14-poliges SMD-Gehäuse zur Oberflächenmontage. Der Schaltkreis ist weniger als 9 mm lang und ohne Pins 4 mm breit. Mit Pins sind es 6 mm.
ST
(TSSOP)
ist ein 14-poliges besonder flaches SMD-Gehäuse mit einem
PIN-Abstand
von nur 0,65 mm. Der Schaltkreis ist dadurch nur 5 mm lang und nur 1 mm
dick.