Kategori:PIC

Fra HTX Arduino
Spring til navigation Spring til søgning

Hvad er en PIC?

En PIC er en meget lille computer, en såkaldt mikroprocessor, eller for at være helt præcis i betegnelsen, så kaldes den fra Microchip's[1] side for en Peripheral Interface Controller.

Det geniale ved de PIC-typer der anvendes i dag er, at de blot skal have en forsyningsspænding, og have kodet et program ind i sig for at kunne fungere, samt at de med er ret simpelt interface kan reprogrammeres mange gange.

Forside-PIC.PNG

PIC-Typer

Der findes rigtigt mange PIC-typer, også ud over dem som Microchip fremstiller, men på Holstebro HTX bruger vi hovedsageligt 4 typer:

  • PIC12F675 der har 8 ben: 1 input, 5 I/O og forsyning.
  • PIC16F684 der har 14 ben: 1 input, 11 I/O og forsyning.
  • PIC16F690 der har 20 ben: 1 input, 17 I/O og forsyning.
  • PIC16F628 der har 18 ben: 1 input, 15 I/O og forsyning.

Ud over det har vi nogle lidt ældre typer, der skal have en resonator eller et krystal (taktgiver) på for at kunne fungere:

  • PIC16F84 der har 18 ben: 13 I/O, 2 til taktgiver, 1 til reset og forsyning.
  • PIC16F877 der har 40 ben: 33 I/O, 2 til taktgiver, 1 til reset og 4 til forsyning.

Muligheder i PIC typerne

De forskellige PIC-typer vi anvender har forskellige ting indbygget, og kan derfor bruges til forskellige formål. Den nedenstående tabel giver en oversigt over hvad de forskellige typer kan.

PIC-nr IO-ben Program
k word
RAM
Byte
EEPROM
Byte
Int. OSC AD Timer
8-bit
Timer
16-bit
USART Comp PWM
12F675 6 1 64 128 4MHz 4 1 1 - 1 0
16F684 12 2 128 256 8MHz 8 2 1 - 2 1-4
16F690 18 4 256 256 8MHz 12 2 1 1 2 1-4
16F877 33 8 368 256 4MHz 8 2 1 1 0 2
16F628 16 2 224 128 4MHz 0 2 1 1 2 1
16F84 13 2 68 64 - 0 1 0 - 0 0

Programmering

Det er maskinkoder man skal programmere over PIC-en, og det kan man gøre ved at programmere Assembler, som er det tætteste man kan komme på maskinkoderne.

På Holstebro HTX anvender vi normalt JAL til at programmere PIC med. Fordelen ved dette sprog er at det er udviklet specielt til PIC, så det indeholder de ting der understøtter hardwaren i PIC-en. Sproget er et højniveau-sprog, som i sin syntaks minder om Pascal, og som kan oversættes til maskinkoder.

Man kan også få forskellige C-varianter der kan lave kode til PIC. Ulempen her er at C normalt er lavet til at skrive kode til større computere, og at det derfor er svært at optimere til PIC-en.

Udviklingsmiljø

For at kunne arbejde med PIC'en skal man kunne skrive koden, oversætte den til maskin-kode og brænde det ned i PIC-en. For at kunne gøre det fornuftigt, så har vi på Holstebro HTX sammensat et lille PIC-udviklingsmiljø.

Det består af en editor, der hedder Jaledit, som i sin grund-kerne er en teksteditor som notepad, bare med syntaksfarvning af JAL-koden, men som også har nogle faciliteter der gør den til kernen i udviklingsmiljøet.

Jaledit har forbindelse til compileren (oversætteren), der laver den aktuelle oversættelse til maskinkode. Denne oversætter ligger i jalpack2, der indeholder alt til at oversætte JAL-filer til maskinkode.

Der er også et terminal-program indbygget i jaledit, hvis man vil kommunikere med en PIC via den serielle port.

Jaledit understøtter også eksport af den syntaks-farvede kode, dels i RTF-format og dels til HTML-filer.

Når man har fået lavet maskinkoden til en HEX-fil, så kan man brænde den over i PIC-en ved hjælp af PICkit 2, der dels er et program til PC'en, og dels er en lille brænder til USB-porten, som man kan koble til sin PIC-opstilling.

PIC-opstillingen kan laves som man har lyst, men vi har på Holstebro HTX udviklet en serie PIC-boards, der stiller portene til rådighed i en række port-stik. Desuden er der interface til PICkit 2 og de helt basale test-faciliteter til PIC'en.

PIC-typer der kan brændes af PICkit 2

PICkit 2 er lavet til at kunne brænde mange forskellige typer PIC-kredse, og faktisk også nogle forskellige andre typer kredse. Den totale liste kan findes på microchips hjemmeside som Liste over PIC-typer som PICkit 2 kan brænde.

PIC familier

De forskellige PIC-typer er inddelt i familier efter den arkitektur der er inden i PIC'en.

De typer vi anvender er fra 8-bits PIC.

Der findes også 16-bits, og 32 bits, der selvfølgelig har langt større regnekraft, men som også er mere komplicerede at arbejde med.

Historien bag PIC'en

Kan i første omgang læses på wikipedia.

Referencer

  1. microchip der fremstiller de forskellige PIC typer
PIC
PIC-Typer PIC16F84 - PIC12F675 - PIC16F628 - PIC16F684 - PIC16F690 - PIC16F877 - PIC18F2550
Programmeringsbegreber Maskinkode - Mikrocontroller
Programmeringsmiljø PIC-brænder - UsbPicProg - Analog indgang - ICSP

Underkategorier

Denne kategori har følgende 4 underkategorier, af i alt 4:

A

P

Sider i kategorien "PIC"

De 8 følgende sider er i denne kategori, ud af i alt 8: