 |
Der Wunsch, schnell mal einen
Controller zu programmieren und danach gleich noch auf Funktionalität
zumindest in einigen definierten Standards zu testen, lässt uns evtl. zu
diesem kleinen "In Circuit Programmer" greifen. Hier sind vier digitale
Eingänge sowie 6 digitale Ausgabe-Bits hardwaremäßig schon mal mit
entsprechenden Anzeigen verbunden und somit bereit für erste kleine
Versuche. Programmieren kann das Board 8-, 14-, 18- sowie 28-polige
PIC-Controller - aber nicht alle!!!
Zwischen dem 26. Februar und dem 5. März 2010 habe ich einige bange Stunden
mit diesem Teil sowie seinen Kumpanen
K8076 und auch dem
K8055 verbracht: Freitag, den 26.2.10 habe ich den
Bausatz zusammen gelötet, am Montag, den 1. März hatte ich kapiert, wie es
elektrisch mit seiner Peripherie verbunden werden will und Freitag den 5.
März habe ich auch herausgefunden, dass nicht alle Typen sowie alle Bits der
verfügbaren Ports auch wirklich nutzbar für mich sind (weil zum Beispiel mit
externem Quartz getaktet wird, entfallen einige Analog- und/oder
Digitalports). Aber nun schreibe ich mir alles genau auf - brauch' ich
nächstes Jahr ja nur noch mal nachzuschauen, wie's ging ;-) |
 |
1. Technische Parameter sowie
Typ-Palette
2. PIC-Programmierung am Beispiel
3. Testlauf am Beispiel
4. PIC12F675
5. PIC16F627
6. Verwandte Themen
|
 |

PIC-Schaltungen |

Logo des PIC Mikrocontroller Programmer &
Experimentier-Boards K8048 |
|
|
|
 |
Quellen:
|
 |
Zu einem
Zeitpunkt kann auf dem Board selbstverständlich nur ein Controller
eingesetzt werden, dessen Eigenschaften weitgehend von den Gegebenheiten des
Boards zum Programmieren und Testen eingegrenzt werden. Die Arbeitsweise der
einbezogenen PIC-Typen ist kompromissweise digital, analoges Arbeiten ist
nur als Ausgabe möglich - das muss man akzeptieren. Des weiteren sind einige
meiner (sowie auch die einer großen Fan-Geminde!) Lieblingstypen hier
ausgeschlossen. Macht nischt (so sacht das der Sachse), nehm' wor ebnd' das,
was geht! |
 |
Features:
- zur Programmierung von Microchip® FLASH PIC(TM)
Mikrocontrollern
- unterstützt werden 4 Gruppen PICs: 8-polig, 14-polig, 18-polig and 28-polig
- 10 Testschalter (vier) und LED Anzeigen (sechs) zur Durchfürhrung von
Experimenten einschließlich Programmbeispiele
- einfach mit dem Computer über den serial port anzuschließen
- einschließlich eines Test-Flash Mikrocontrollers (PIC16F627), welcher
mehr als 1000 mal umprogrammiert werden kann - Software zum compilieren and
Programmübertragung liegt bei
Specification:
Stromversorgung: 12 or 15V Gleichspannung, mindestens 300mA
Version 2.5 unterstützt die folgenden Mikrocontroller:
- PIC12F629,
PIC12F675
- PIC16C83, PIC16CR83, PIC16F83, PIC16C84,
PIC16CR84,PIC16F84, PIC16F84A
- PIC16F870,PIC16F871,PIC16F872,PIC16F873,PIC16F873A,PIC16F874,PIC16F874A,PIC16F876,
PIC16F876A,
PIC16F877(A) (nur
über den ICSP-Anschluss)
- PIC16F627, PIC16F627A,
PIC16F628, PIC16F628A, PIC16F648A
PICF630, PIC16F676 PIC16F818, PIC16F819
Maße: 145 x 100mm (5.75" x 4")
- Minimale Systemvoraussetzungen:
- IBM-kompatibler PC, Pentium or better
- Windows- 95/98/ME/NT/2000/XP
- CDROM
- freier serieller RS232-Anschluss
|
 |
|
 |
Portbelegung und -funktion des K8048 |
Hinweise für den Betrieb des
K8048 |
8-polig |
14-polig |
18-polig |
28-polig |
Anschluss auf dem Controller |
Funktion auf dem Controller |
Funktion auf dem K8048 |
Pin 4 |
MCLR |
RESET |
Pin 5 |
GP2 |
LD1 |
Pin 3 |
GP4 |
LD2 |
Pin 4 |
GP5 |
SW1 |
|
Anschluss auf dem Controller |
Funktion auf dem Controller |
Funktion auf dem K8048 |
Pin 2 |
OSC1 |
Clock In |
Pin 3 |
OSC2 |
Clock Out |
Pin 4 |
MCLR |
RESET |
Pin 10 |
RA0 |
SW1 |
Pin 9 |
RA1 |
SW2 |
Pin 8 |
RC2 |
SW3 |
Pin 2 |
RC3 |
SW4 |
Pin 10 |
RC0 |
LD1 |
Pin 9 |
RC1 |
LD2 |
Pin 8 |
RC2 |
LD3 |
Pin 7 |
RC3 |
LD4 |
Pin 6 |
RC4 |
LD5 |
|
Anschluss auf dem Controller |
Funktion auf dem Controller |
Funktion auf dem K8048 |
Pin 15 |
OSC2 |
Clock Out |
Pin 16 |
OSC1 |
Clock In |
Pin 4 |
MCLR |
RESET |
Pin 18 |
RA0 |
SW1 |
Pin 17 |
RA1 |
SW2 |
Pin 1 |
RA2 |
SW3 |
Pin 2 |
RA3 |
SW4 |
Pin 6 |
RB0 |
LD1 |
Pin 7 |
RB1 |
LD2 |
Pin 8 |
RB2 |
LD3 |
Pin 9 |
RB3 |
LD4 |
Pin 10 |
RB4 |
LD5 |
Pin 11 |
RB5 |
LD6 |
|
Anschluss auf dem Controller |
Funktion auf dem Controller |
Funktion auf dem K8048 |
Pin 9 |
OSC1 |
Clock In |
Pin 10 |
OSC2 |
Clock Out |
Pin 4 |
MCLR |
RESET |
Pin 21 |
RB0 |
SW1 |
Pin 22 |
RB1 |
SW2 |
Pin 23 |
RB2 |
SW3 |
Pin 25 |
RB4 |
SW4 |
Pin 2 |
RA0 |
LD1 |
Pin 3 |
RA1 |
LD2 |
Pin 4 |
RA2 |
LD3 |
Pin 5 |
RA3 |
LD4 |
Pin 6 |
RA4 |
LD5 |
Pin 7 |
RA5 |
LD6 |
|
|
|
Ports RA0 bis RA3 müssen als H-aktive Eingabe programmiert werden |
|
|
|
kleines Testprogramm: -- JAL 2.0.4
include 16f628_bert
-- define pins
pin_a0_direction = input
pin_a1_direction = input
pin_a2_direction = input
pin_a3_direction = input
pin_b0_direction = output
pin_b1_direction = output
pin_b2_direction = output
pin_b3_direction = output
forever loop
if pin_a0 then
-- switch is on
pin_b0 = high
delay_1s(3)
pin_b0 = low
end if
if pin_a1 then
-- switch is on
pin_b1 = high
delay_1s(3)
pin_b1 = low
end if
if pin_a2 then
-- switch is on
pin_b2 = high
delay_1s(3)
pin_b2 = low
end if
if pin_a3 then
-- switch is on
pin_b3 = high
delay_1s(3)
pin_b3 = low
end if
end loop |
|
|
- der Takt beträgt lediglich 4,4 MHz - der
Standard von JAL-Projekten mit 20 MHz festgelegt ist, das bedeutet,
dass Testschaltungen etwa um den Faktor vier langsamer arbeiten
- es kann extern ungetaktet gearbeitet werden Port RA6 und RA7 sind
aber nicht mit der Peripherie anders verbunden
- Eingaben sind nur digital vorhanden
- Analoge Ausgänge können bei einigen IC's nicht genutzt werden, da
diese als Eingänge beschalten sind (18-polige)
- alle Eingabeports müssen auf aktiv "HIGH" programmiert werden, da
die Port-Eingänge "LOW" vorgespannt sind
|
|
 |
|
 |
Technische Parameter:
- an analoge Eingänge können analoge (stetig veränderliche), vom
Mikrocontroller zu verarbeitende Signale im Bereich 0 ... +5 V gelegt
werden
- digitale Ein- und Ausgänge transportieren digitale Signale, die nur
zwei Zustände (entweder 0 V oder +5 V) annehmen können. Die
Signalfluss-Richtung (Eingang oder Ausgang) ist programmierbar
- die Definition der beiden Signalzustände erlaubt bestimmte Toleranzen.
Zum Beispiel wird die Signalspannung +4,8 V noch als +5 V betrachtet, und
+0,5 V ist gleich bedeutend mit 0 V
- die Betriebsspannung beträgt +5 V (VSS = Masse, VDD
= +5 V), sie muss an allen dafür vorgesehenen Anschlüssen (Pins 8 / 1) anliegen!
- an die Quarz-Anschlüsse werden der Quarz und zwei zusätzliche
Kondensatoren gelegt. Der Quarz ist für die stabile Frequenz des
Taktsignals verantwortlich, von ihr hängt die Arbeitsgeschwindigkeit des
Mikrocontrollers ab
- alle PIC-Mikrocontroller-Typen kommen zwar ohne Quarz aus, doch ohne
Quarz liegt die Arbeitsgeschwindigkeit an der unteren Grenze - außerdem
kann die Stabilität für die Kommunikation mit anderen Mikrocontrollern
oder mit dem PC unzureichend sein
- über die serielle Schnittstelle können Verbindungen zu anderen
Mikrocontrollern oder zu einem PC nach RS232-Standard hergestellt werden
- I2C ist ein Standard, nach dem zum Beispiel zwei
PIC-Mikrocontroller untereinander Daten austauschen können
- in den Bildern oben sind bei den meisten Anschlüssen englische
Kurzbezeichnungen angegeben. Viele Anschlüsse können unterschiedliche
Funktionen übernehmen
|