Vous êtes sur la page 1sur 5

Rsum sur le PIC16F628 JC

1. Prsentation
Le PIC 16F628(ou 627) se prsente sous la forme d'un botier DIP 18 broches et s'annonce comme le digne
successeur du PIC16F84 par ses fonctionnalits plus tendues et par sa compatibilit au niveau des broches !
Ses principales caractristiques :
2048 mots de 14 bits de mmoire programme (1024 pour le 16F627 )
224 mots de 8 bits de RAM
128 mots de 8 bits de EEPROM
Vitesse d'excution allant jusqu' 20 MHz, permettant l'excution d'un cycle 200 ns.
Oscillateur interne fonctionnant 4 MHz, permettant l'excution d'un cycle 1s
16 entres/sorties programmables
3 timers : timer0 : 8 bits , timer1 : 16 bits , timer2 : 8 bits , avec prescaler (pr diviseur) programmable.
1 chien de garde
2 comparateurs analogiques programmables avec une rfrence de tension, programmable galement.
1 module de capture / PWM programmable permettant de capturer un signal (logique ) en fonction du temps, ou
d'offrir un signal PWM ou MLI : Modulation de Largeur d'Impulsion : but de notre montage.
1 module de communication srie synchrone (USART).
On, le voit, c'est le plus puissant microcontrleur 18 broches de la gamme "mid-range" chez Microchip.

2. Brochage

1
3. Architecture

4. Mmoires

Le Pic16F628 est bas sur une architecture Harvard. Il y a sparation des bus de donnes et dinstructions ainsi
que de lespace adressable.

a) Mmoire programme
ROM
Les instructions sont stockes sur 14bits dans
une zone mmoire qui stend entre 000h et 7FFh
(2048 cases mmoires de type flash)
Il y a 2 adresses rserves pour les vecteurs de
reset et dinterruption.
Le processeur possde une pile de 8 niveaux
pour grer ladresse de retour de sous
programme.

2
b) Mmoire donnes RAM
La mmoire donne correspond aux
registres (8bits) vus par lunit centrale.
Elle est de 2 types :
Les registres systme :
ils permettent la configuration, la
surveillance de ltat du systme et de ses
priphriques. Ils sont accessibles en
lecture, en criture suivant leur fonction.
Il y a 34 registres systme.
Les registres dusage gnral :
ils permettent le stockage des variables,
cest la RAM utilisateur. Ils sont accessibles
en lecture et criture par le programme.
Il y a 224 cases mmoires.

Le microprocesseur ne peut adresser que


sur 7 bits la mmoire donnes soit : 128
cases directement.
La mmoire donnes est divise en 4
pages (bank) de 128 octets. La slection de
la page se fait grce au registre STATUS
qui est prsent dans toutes les pages.

Remarque :
Les zones grises ne sont pas utilises.

c) Mmoire EEPROM
La mmoire EEPROM est une mmoire donnes (RAM) utilisateur non volatile. Elle se compose de 128 octets
adressables indirectement.

3
5. Dfinition des registres

STATUS : ce registre permet de choisir la page (banc) mmoire donnes. Il possde des indicateurs de
.fonctionnement du microprocesseur
.OPTION : ce registre permet de configurer certains paramtre du portB et du timer
.INTCON, CMCON, EECON1, EECON2, PIE1et PIR1 : ces registres permettent de grer les interruption
.PCON : ce registre sert grer le rveil du microcontrleur
PC, PCL et PCLATCH : ces registres grent le compteur ordinal 13 bits) (compteur dadresses instructions) du
.microcontrleur
.INDF et FSR : ces registres grent ladressage indirect
.PORTA, TRISA, CMCON et VRCON : ces registres grent le port A
PORTB, TRISB, OPTION et VRCON : ces registres grent le port B
.TMR0, INTCON, OPTION et TRISA : ces registres grent le timer 0
.CMCON, VRCON, INTCON, PIR1, PIE1 et TRISA : ces registres grent les comparateurs
.VRCON : ce registre gre la tension de rfrence
.EECON1, EECON2, EEADR, EEDATA : ces registres grent la mmoire EEPROM

CONFIG : ce registre spcial de 14bits (appel aussi device fuses ) non accessible par le programme est
implant ladresse 2007h. Il gre la configuration matrielle du PIC : horloge, protection mode de programmation
.etc

6. Instructions reconnues par l'assembleur


addlw ajoute une constante W. Rsultat dans W
addwf ajoute W F. Rsultat dans W (d=0) ou dans F (d=1)
andlw effectue un ET entre une constante et W. Rsultat dans W
andwf effectue un ET entre W et F. Rsultat dans W
bcf fait passer certains bits de F 0
bsf fait passer certains bits de F 1
btfsc teste certains bits de F. Passe s il sont 0
btfss teste certains bits de F. Passe s il sont 1
call appelle un sous programme
clrf place zro dans F
clrw place zro dans W et fait passer Z 1
clrwdt initialise le timer du chien de garde
comf complmente F 1
decf dcrmente F
decfsz dcrmente F. Saute si 0
goto saute une autre adresse
incf incrmente F
incfz incrmente F. Saute si 0
iorlw effectue un OU entre une constante et F
iorwf effectue un OU entre W et F
movf si d=0 charge F dans W sinon rcrit F dans F
movlw charge une constante 8 bit dans W
movwf stocke W vers F
nop ne fait rien en gaspillant une priode d horloge
retfie retourne d une interruption
retlw retourne avec une constante dans W
return retourne d un sous programme
rlf effectue une rotation de bits gauche avec CARRY
rrf effectue une rotation de bits droite avec CARRY
sleep passe en mode standby
sublw soustrait W d une constante
subwf soustrait W de F
swapf permute 2 quartets de F
xorlw effectue un OU exclusif entre une constante et W
xorwf effectue un OU exclusif entre W et F )

4
7. Complment dinformations sur larchitecture des microcontrleurs

Type Harvard

La mmoire programme (ROM) contient les codes des instructions et des donnes de faon spares.
Un seul cycle dhorloge par instruction. *
Loprande est intgr linstruction.
Exemple :

movl w 0x 8F

Instruction Registre utilis Format de la donne Oprande / Donne


move la constante (l) dans le registre (W) Hexadcimale 8F

Cette instruction comprend :


Le code de linstruction (0x30) sur 6 bits
La donne 0x8F sur 8 bits

On trouvera donc en mmoire programme un mot de 14 bits


110000 10001111

instruction movlw constante 0x8F

Les mmoires instructions et donnes et les bus correspondants sont spars. Ceci permet, au mme instant de :
excuter linstruction correspondant ladresse courante
extraire linstruction suivante

La ROM Programme, registre tampon, dcodeur dinstruction constituent un pipeline .

Le squencement de lhorloge est sur 4 phases.

* Exception : Sauts et branchements : deux cycles dhorloge sont ncessaires.

Le jeu dinstruction de ces microcontrleurs est rduit : RISC : (Reduced Instructions Set Computer )
Par exemple les PIC de la srie 16Fxx possdent un jeu rduit 35 instructions.

jean.claude.recoules@wanadoo.fr
5