Beruflich Dokumente
Kultur Dokumente
PIC 16F88
DESCRIPTION :
Le 16F 88 est compatible broche broche avec le 16F84. Mais il possde
plus de priphriques intgrs ( USART, I2C, CAN) et une mmoire
programme plus grande. De plus il peut fonctionner sur son oscillateur
interne, ce qui libre 2 broches supplmentaires pour des I/O.
- Consommation : moins de 2mA sous 5V 4 MHz.
- Architecture RISC : 35 instructions de dure 1 ou 2 cycles.
- Dure du cycle : Priode de l'oscillateur quartz divise par 4 soit 200 ns
pour un quartz de 20 MHz.
- Code instruction : mot de 14 bits et compteur programme (PC) sur 13
bits, ce qui permet d'adresser 8 K mots ( de h'0000' h'1FFF')
- Bus DATA sur 8 bits.
- 15 Ports Entre-Sortie bidirectionnels pouvant produire 25 mA par
sortie.
- 4 sources d'interruption :
- Externe par la broche partage avec le Port B : PB0
- Par changement d'tat des bits du Port B: PB4 PB5 PB6 ou PB7
- Par un priphrique intgr dans le chip: criture de Data en
EEPROM termine, conversion analogique termine, rception USART ou
I2C.
- Par dbordement du Timer.
- 2 Compteurs 8 bits et 1 compteur 16 bits avec prdiviseur
programmable.
- Convertisseur analogique 10 bits 7 entres
- UART pour transmission srie synchrone ou asynchrone.
- Interface I2C pour un esclave seulement.
- 1 module pour PWM avec une rsolution de 10 bits.
MEMOIRE:
- 368 Octets de RAM
- 256 Octets d'EEPROM Data.
- 4K mots de 14 bits en EEPROM Flash pour le programme (h'000'
h'FFF').
- 1 registre de travail : W et un registre fichier : F permettant d'accder
la RAM ou aux registres internes du PIC. Tous les deux sont des
registres 8 bits.
PIC 16F88
D. MENESPLIER ENAC2005
Brochage du 16F88 :
AN2 ou I/O
PA2
PA1
18
AN1 ou I/O
AN3 ou I/O
PA3
PA0
17
AN0 ou I/O
AN4 ou I/O
PA4
PA7
16
OSC1 ou I/O
MCLR ou I/O
PA5
15
OSC2 ou I/O
Gnd
Vss
PA6
VDD
14
+ 5V
PB0
PB7
13
Int ou I/O
Data I2C ou I/O
PB1
PB6
12
Rx RS232 ou I/O
PB2
PB5
11
Tx RS232 ou I/O
CCP ou I/O
PB3
PB4
10
0000
Espace utilisable
4K mots
07FF
0800
PAGE 0
2 K mots
PAGE 1
2 K mots
0FFF
1000
ESPACE ADRESSABLE
Sur 13 bits = 8 K mots
1FFF
PIC 16F88
D. MENESPLIER ENAC2005
PAGE 0
00
01
02
03
04
05
06
07
08
09
INDF
TMR0
PCL
STATUS
FSR
PORTA
PORTB
0A
0B
0C
0D
0E
0F
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
PCLATH
INTCON
PIR1
PIR2
TMR1L
TMR1H
T1CON
TMR2
T2CON
SSBUF
SSPCON
CCPR1L
CCPR1H
CCP1CON
RCSTA
TXREG
RCREG
1E
1F
20
ADRESH
ADCON0
80
81
82
83
84
85
86
87
88
89
8A
8B
8C
8D
8E
8F
90
91
92
93
94
95
96
97
98
99
9A
9B
9C
9D
9E
9F
A0
6F
70 16 octets mapps
7F sur les 4 pages
PIC 16F88
INDF
OPTION
PCL
STATUS
FSR
TRISA
TRISB
100
101
102
103
104
105
106
107
108
109
10A
10B
10C
10D
10E
10F
110
PCLATH
INTCON
PIE1
PIE2
PCON
OSCCONN2
OSCTUNEN2
EF
F0
FF
INDF
TMR0
PCL
STATUS
FSR
WDTCON
PORTB
PCLATH
INTCON
EEDATA
EEADR
EEDATH
EEADRH
INDF
OPTION
PCL
STATUS
FSR
180
181
182
183
184
185
186
187
188
189
18A
18B
18C
18D
18E
18F
190
TRISB
PCLATH
INTCON
EECON1
EECON2
PR2
SSPADD
SSPSTAT
RAM
16 octets
RAM
16 octets
TXSTA
SPBRG
ANSEL
CMCONN2
CVRCONN2
ADRESL
ADCON1
11F
120
RAM
80 octets
RAM
96 octets
PAGE 3
PAGE 2
19F
1A00
RAM
80 octets
16F
170
16 octets
mapps sur page 0
de 70 7F
17F
16 octets
mapps sur page 0
de 70 7F
RAM
80 octets
1EF
1F0
1FF
16 octets
mapps sur page 0
de 70 7F
D. MENESPLIER ENAC2005
Bit 7
IRP
RP1
RP0
TO
PD
DC
RP0
0
1
0
1
Page slecte
PAGE 0 de 00 7F
PAGE 1 de 80 FF
PAGE 2 de 100 17F
PAGE 3 de 180 1FF
Exemple: PAGE0
PAGE1
PAGE2
PAGE3
PIC 16F88
D. MENESPLIER ENAC2005
Adressage DIRECT
RP0
RP1
0 ou 1
b0
b6
0 ou 1
RP0=0
RP1=0
00
RP0=1
RP1=1
RP0=0
RP1=1
80
180
100
128 octets
Registres et
RAM
7 bits
d'adressage
7F
FF
Page 0
1FF
17F
Page 1
Page 2
Page 3
Adressage INDIRECT
b0
b7
IRP=0
00
80
100
FF
Page 0
PIC 16F88
180
7F
IRP=1
17F
Page 1
Page 2
5
128 octets
Registres et RAM
1FF
Page 3
D. MENESPLIER ENAC2005
Bit 7
RBPU INTEDG
TOCS
TOSE
PSA
PS2
PS1
PS0
PIC 16F88
D. MENESPLIER ENAC2005
Prdiv Timer
2
4
8
16
32
64
128
256
Prdiv Watchdog
1
2
4
8
16
32
64
128
D. MENESPLIER ENAC2005
GIE
PEIE
Bit 0
TMR0IE INT0IE
RBIE
TMR0IF
INT0IF
RBIF
NB: Ce flag doit tre remis zro par programme. Ceci n'est possible qu'aprs
une lecture du Port B.
PIC 16F88
D. MENESPLIER ENAC2005
Bit 7
ADIE
RCIE
SSPIE
TXIE
PIC 16F88
D. MENESPLIER ENAC2005
Bit 7
ADIF
RCIF
SSPIF
TXIF
PIC 16F88
10
D. MENESPLIER ENAC2005
Bit 7
OSFIE
CMIE
EEIE
Bit 7
OSFIF
CMIF
EEIF
11
D. MENESPLIER ENAC2005
b8 b7
b12
Compteur Ordinal : PC
b4
b0
PCL
PCLATH
ATTENTION:
On retiendra seulement que pour configurer les bits en I/O digitales, il faudra
mettre "0" les bits correspondants de ANSEL. ( 5 sur le Port A et 2 sur le Port B)
Exemple:
PIC 16F88
PAGE1
CLRF ANSEL ; toutes entres du CAN dsactives.
12
D. MENESPLIER ENAC2005
Attention: Pour pouvoir remettre ce flag "0", il faut au pralable avoir lu ou crit
sur le Port B pour mmoriser l'tat et voir ensuite si il y a un changement par rapport
cet tat.
Une lecture du Port B (par MOVFW
PORTB ou BTFSS
PORTB,i par exemple)
permet une RAZ du flag en suivant. Mais une criture du Port B (par MOVWF PORTB
ou CLRF PORTB par exemple) doit tre suivi d'un NOP ( 1 cycle) avant de faire la RAZ
du flag. Sinon la RAZ ne sera pas effective et on repart aussitt en IT.
Le bit 0 du PORT B peut galement tre utilis comme entre d'interruption externe.
Le choix du front de dclenchement se fait en configurant le bit 6 du registre
OPTION.
Le bit 1 peut galement servir pour le priphrique I2C embarqu. Ce sera la broche
pour les data I2C.
Le bit 2 peut servir pour l'UART RS232. Ce sera la broche Rx data.
Le bit 3 est partag avec le module CCP.
Le bit 4 sera la broche CLK I2C si le module I2C est activ.
Le bit 5 sera la broche Tx DATA si l'UART pour RS232 est active.
Les bits 6 et 7 du port B seront soit des I/O soit les entres 6 et 7 du CAN.
ATTENTION:
13
D. MENESPLIER ENAC2005
8 MHz
3 bits de OSCCON
4 MHz
MUX
Fosc
Vers Priphriques
2 MHz
Osc
X 256
1 MHz
8 MHz
Prdiv
500 KHz
250 KHz
MUX
Osc int
Vers CPU
Tcycle = Fosc/4
125 KHz
31,25 KHz
31,25 KHz
Watchdog
PIC 16F88
14
D. MENESPLIER ENAC2005
Bit 7
IRCF2
IRCF1
IRCF0
OSTS
IOFS
SCS1
SCS0
Pour avoir 8 MHz, il faudra donc mettre la valeur: 0 1 1 1 0 0 0 0 soit h'70' dans le
registre OSCCON. Et pour 4 MHz on prendra h'60'.
Exemple:
MOVLW
PAGE1
MOVWF
PAGE0
PIC 16F88
h'70'
OSCCON
15
D. MENESPLIER ENAC2005
Bit 7
TUN5
TUN4
TUN3
TUN2
TUN1
TUN0
.
.
.
000001
0 0 0 0 0 0 = Frquence centrale calibre en usine.
1 1 1 1 1 1
.
.
.
1 0 0 0 0 0 = Frquence minimum.
NB : La variation de frquence est de 12,5 %. Ce qui donne 3,9 KHz autour des
31,25 KHz de base. Soit un pas de variation de 120 Hz environ.
PIC 16F88
16
D. MENESPLIER ENAC2005
USART ou SCI
C'est le mme priphrique que pour le PIC 16F877.
Elle utilise le pins 2 et 5 du PORT B: PB2 = Rx DATA et PB5 = Tx DATA
Les 5 registres utiliss sont :
Registre Emission : TXREG en h'19' page 0.
Registre Rception: RCREG en h'1A' page 0.
Registre d'tat Emission : TXSTA en h'98' page 1.
Registre d'tat Rception : RCSTA en h'18' page 0.
Registre du choix de la vitesse : SPBRG en h'99 page 1.
Bit 7
CSRC
TX9
TXEN
SYNC
BRGH
TRMT TX9D
17
D. MENESPLIER ENAC2005
VITESSES BASSES
VITESSE =
N=
BRGH=1
Foscill
64( N + 1)
VITESSES HAUTES
VITESSE =
Foscill
1
64.Vitesse
N=
Foscill
16( N + 1)
Foscill
1
16.Vitesse
Le nombre N est le nombre entier, arrondi de la valeur trouve par les quations ci
dessus.
Il est recommand d'utiliser si possible les vitesses hautes (BRGH = 1), mme pour
des vitesses faibles, car dans ce cas on minimise l'erreur, en obtenant un nombre N
plus grand.
VITESSES en
Bits/sec ou
BAUDS
PIC 16F88
Fosc = 20 MHz
Vitesses hautes
BRGH = 0
BRGH = 1
BRGH = 0
BRGH = 1
115200
10
57600
20
38400
12
31
19200
25
15
64
9600
12
51
31
129
4800
25
103
64
2400
51
207
129
1200
103
18
D. MENESPLIER ENAC2005
Bit 0
Bit 7
SPEN
RX9
SREN
CREN ADDEN
FERR
OERR RX9D
Bit 7 : SPEN= Serial Port Enable. PB2 (Rx) et PB5 (Tx) configurs pour le port srie.
1 = Port srie en service .
0 = Port srie dsactiv.
PIC 16F88
19
D. MENESPLIER ENAC2005
20
D. MENESPLIER ENAC2005
Si le STOP d'un 2eme octet survient alors que le registre RCREG n'a pas t vid, une
erreur OVERRUN se produit. Elle est signale par le passage "1" du bit 1 de RCSTA :
OERR=1. L'octet dans le registre de d srialisation est alors perdu.
Le bit d'erreur OERR doit tre remis zro par soft. Pour cela il faut stopper la
rception par CREN=0 puis remettre en service la rception par CREN=1.
En fait le registre RCREG est un double registre FIFO. On peut donc recevoir 2
octets et ne pas les lire avant qu'un 3eme octet ne fasse un OVERRUN.
On doit alors lire deux fois RCREG pour le vider les 2 octets reus qui sont dans le
FIFO.
Si un STOP est trouv "0" alors une ERROR FRAMING est gnre par mis "1" du
bit 2 de RCSTA: FERR=1.
PROCEDURE POUR RECEVOIR :
-
21
D. MENESPLIER ENAC2005
h'00'
GOTO
PROG
#include "c:\mplab\include\menes88C.inc" ; osc interne 8MHz et rcup des 2 pins osc sur Port A.
PROG
PAGE1
CLRF
ANSEL
; Port A en I/O digital
CLRF
TRISA
; Port A en sortie, sauf PA5
BCF
TRISB,5
MOVLW
h'70'
MOVWF
OSCCON
; prog osc int 8 MHz
MOVLW
d'51'
MOVWF
SPBRG
; baud rate = 9600 bits /sec
BSF
BRGH
; bit BRGH mis "1" vitesse haute
BCF
SYNC
; bit SYNC=0 mode assynchrone
PAGE0
BSF
SPEN
; bit SPEN "1" UART en service
BSF
CREN
; bit CREN "1" rception autorise
CLRF
PORTA
BOU
BTFSS
RCIF
; teste si RCIF=1 donc si rception
GOTO
BOU
; non
MOVFW
RCREG
; oui lecture registre rception
CALL
EMISS
; renvoi en cho
MOVWF
PORTA
; affichage sur Port A
GOTO
BOU
;**********************************************
;**
SP Emission USART
**
;**
L'octet dans W est mis par l'USART
**
;**********************************************
EMISS
PAGE1
BSF
TXEN
; TXEN=1 mise en service du TX
ATT
PAGE0
BTFSS
TXIF
; teste TXIF: registre emission vide ?
GOTO
ATT
; TXIF = 0 donc Registre plein
MOVWF
TXREG
; octet emettre mis dans USART
PAGE1
PAFINI
BTFSS
TRMT
; teste TRMT: si emission termine ?
GOTO
PAFINI
; non car TRMT = 0
BCF
TXEN
;oui donc arrt du TX:TXEN=0
PAGE0
RETURN
END
PIC 16F88
22
D. MENESPLIER ENAC2005
CONVERTISSEUR A/D
Il est constitu d'un module convertisseur 7 entres.
Les 5 premires entres sont sur le Port A en PA0, PA1, PA2, PA3 et PA4, et le 2
dernires sur le Port B en PB6 et PB7.
Le rsultat de la conversion est cod sur 10 bits. C'est une valeur comprise entre
h'000' et h'3FF'.
Les tensions de rfrence haute et basse peuvent tre choisies par programmation
parmi: VDD ou la broche PA3 pour VREF+ et VSS ou la broche PA2 pour VREF- .
Les 4 registres utiliss par le module convertisseur A/D sont :
-
Bit 7
ADSC1 ADSC0
CHS2
CHS0
CHS1
GO/Done
ADON
23
D. MENESPLIER ENAC2005
CLOCK
8 MHz
20 MHz
TAD
12.TAD
Fosc/2 = 4 MHz
Fosc/4 = 2 MHz
Fosc/8 = 1 MHz
Fosc/16 = 500 KHz
Fosc/32 = 250 KHz
Fosc/64 = 125 KHz
0,25 s
0,50 s
1 s
2 s
4 s
8 s
3 s
6 s
12 s
24 s
48 s
96 s
Ne convient pas
Ne convient pas
Ne convient pas
OK
OK
OK
Fosc/2 = 10 MHz
Fosc/4 = 5 MHz
Fosc/8 = 2,5 MHz
Fosc/16 = 1,25 MHz
Fosc/32 = 625 KHz
Fosc/64 = 312,5 KHz
0,1 s
0,2 s
0,4 s
0,8 s
1,6 s
3,2 s
1,2 s
2,4 s
4,8 s
9,6 s
19,2 s
38,4 s
Ne convient pas
Ne convient pas
Ne convient pas
Ne convient pas
OK
OK
CHS2
CHS1
CHS0
PORT
0
1
2
3
4
5
6
0
0
0
0
1
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
PA0
PA1
PA2
PA3
PA4
PB6
PB7
PIC 16F88
24
D. MENESPLIER ENAC2005
Bit 7
ADCS2 VCFG1
ADFM
VCFG2
10 bits du rsultat
ADFM = 0
Justifi GAUCHE
ADFM = 1
Justifi DROITE
6 5
000000
000000
ADRESL
ADRESH
ADRESH
10 bits du rsultat
ADRESL
10 bits du rsultat
VCFG1
0
0
1
1
PIC 16F88
VCFG0
0
1
0
1
V Ref+
+Vcc
+ Vcc
PA3
PA3
25
V Refmasse
PA2
masse
PA2
D. MENESPLIER ENAC2005
Bit 7
ANS6
ANS5
ANS3
ANS4
ANS2
ANS1
ANS0
ATTENTION :
- 1 - Au reset le registre ANSEL est initialis h'7F'. Cela signifie que les 5 bits du
Port A et les 2 bits du Port B sont configurs en entres analogiques.
Pour rcuprer ces broches en tant que I/O digitales il faut crire la valeur h'00'
dans ANSEL
- 2 - Il faut attendre que le condensateur du CAN soit charg avant de lancer la
conversion. Ce temps d'acquisition est de l'ordre de 20 s 40 s.
Il faut galement attendre 2.TAD soit environ 4 s entre deux conversions.
Exemple de programme:
Slecte canal + ADON = 1
Attente charge du condensateur
20 40 s
GO =1
non
Conversion termine ?
GO = 0 ?
oui
Lecture rsultat
Attente 4 s
autre conversion
PIC 16F88
26
D. MENESPLIER ENAC2005
MODULE COMPARATEUR
Le module comparateur est constitu de 2 comparateurs analogique qui utilisent les
broches PA0 PA1 PA2 et PA3 comme entres. Le rsultat positionne les bits C1OUT
et C2OUT ou bien les broches PA3 ou PA4.
CMCON REGISTER: adresse h'9C' en PAGE 1
bit 7
bit 0
C1INV
CIS
CM2
CM1
CM0
bit 6: C1OUT
Sortie du comparateur 1. Ce bit est fonction du bit C1INV.
Pour C1INV=0 : si Vin+ > Vin- alors C1OUT = 1
Si Vin+ < Vin- alors C1OUT = 0
Pour C1INV=1 :
bit 5: C2INV
Bit d'inversion de la sortie de comparaison n2.
C2INV = 0 : sortie non inverse.
C2INV = 1 : sortie inverse.
bit 4: C1INV
Bit d'inversion de la sortie de comparaison n1.
C1INV = 0 : sortie non inverse.
C1INV = 1 : sortie inverse.
bit 3: CIS
Bit de slection de l'entre, qui sera connecte l'entre Vin- du comparateur, quand
il y a comparaison la tension de rfrence interne, qui est connecte l'entre Vin+
du comparateur. Soit PA0 ou PA3 pour le comparateur 1 et PA1 ou PA2 pour le
comparateur 2.
bit 0 2: CM2 CM1 et CM0
Choix du mode de comparaison.
PIC 16F88
27
D. MENESPLIER ENAC2005
PA0
PA3
PA1
PA2
C1
"0"
C2
"0"
CIS = 0
A
A
CIS = 1
PA1
PA2 = Vref
C1
C1OUT
C2
C2OUT
La tension de rfrence sur l'entre "+" des 2 comparateurs est la tension extrieure
applique sur la broche PA2. Le comparateur 1 reoit sur son entre "-", soit la
tension sur PA0 soit celle sur PA3. Le comparateur 2 reoit lui la tension sur PA1.
MODE 2: CM2=0 CM1=1 CM0=0 : 2 Comparateurs et 4 entres multiplexes.
PA0
PA3
PA1
PA2
CIS = 0
A
CIS = 1
CIS = 0
CIS = 1
A
A
C1
C1OUT
C2
C2OUT
Vref interne
PIC 16F88
28
D. MENESPLIER ENAC2005
PA0
PA3
+
A
PA1
PA2 = Vref
C1
C1OUT
C2
C2OUT
PA0
PA3
PA1
PA2
A
A
A
A
C1
C1OUT
C2
C2OUT
PA1
PA2
PIC 16F88
A
A
C1
C1OUT
C2
C2OUT
29
D. MENESPLIER ENAC2005
Les rsultats des comparaisons sont disponibles sur les broches PA3 ou PA4 et par
lecture des bits C1OUT ou C2OUT.
La tension de rfrence commune aux 2 comparateurs est applique sur la broche
PA2.
PA0
PA3
PA1
PA2 = Vref
PA4
C1
C1OUT
C2
C2OUT
PA0
PA3
PA1
PA2
PIC 16F88
D
D
C1
"1"
C2
"1"
D
D
30
D. MENESPLIER ENAC2005
bit 0
CVROE
CVRR
CVR3
CVR2
CVR1
CVR0
PIC 16F88
31
D. MENESPLIER ENAC2005
LE TIMER 0
Le compteur/Timer TMR0 a les caractristiques suivantes :
- Compteur sur 8 bits.
- Lecture / criture de TMR0.
- Prdiviseur 8 bits programmable.
- Choix de l'horloge : interne en Timer et externe en compteur.
- Interruption au dbordement ( passage de FF 00).
- Choix du front de l'horloge en mode horloge externe.
Tous les bits de configuration sont dans le registre OPTION en h'81' en page 1.
Le registre TMR0 est l'adresse h'01' en page 0 ou en h'101' en page 2.
Mode TIMER : Le choix de ce mode se fait par : TOCS = 0 (b5 de OPTION).
TMR0 est incrment chaque cycle instruction ( Fosc/4), en considrant le
prdiviseur avec un rapport de 1.
Mode COMPTEUR : Ce mode est slectionn si TOCS = 1. TMR0 est alors incrment
chaque front montant ou descendant sur la broche PA4/CLK (pin3). Le choix du
front est fait par le bit TOSE ( b4 de OPTION).
Si TOSE = 0 le compteur s'incrmente chaque front montant.
Si TOSE = 1 c'est le front descendant qui incrmente le compteur.
LE PREDIVISEUR : Il est partag entre le Watchdog et TMR0.
L'affectation se fait par le bit PSA (b3 de OPTION).
Si PSA = 0 le prdiviseur est affect TMR0. Le choix du rapport de division se fait
avec les bits PS2, PS1 et PS0 ( b2, b1 et b0 de OPTION).
Si PSA = 1 le prdiviseur est affect au Watchdog et le rapport de division pour
TMR0 est fix 1.
INTERRUPTION : Elle est gnre quand TMR0 passe de la valeur FF 00.
Le Flag TOIF (b2 de INTCON) passe "1". On peut masquer la gnration de
l'interruption en mettant le bit TOIE ( b5 de INTCON) "0".
Le Flag TOIF dit tre remis zro par soft dans le sous programme d'interruption,
avant de re-autoriser cette interruption.
DATA 8 bits
PSA
Fxtal
4
TOIF
Timer
0
PRE DIVISEUR
1/2/4/8/16/32/64/128/256
PA4
REGISTRE
TMR0
Flag + IT
Compteur
PS0 PS1 PS2
TOSE
PIC 16F88
TOCS
32
D. MENESPLIER ENAC2005
LE TIMER 1
Le Timer 1 est un compteur sur 16 bits constitu de 2 registres 8 bits TMR1H en
h'0F' page 0 et TMR1L en h'0E' page 0 galement, que l'on peut lire ou crire.
Le registre TMR1 ( constitu de TMR1H et TMR1L) s'incrmente de h'0000' jusqu'
h'FFFF' et repasse ensuite h'0000' pour continuer le comptage. Quand il y a
dbordement, une interruption peut tre gnre si on la autorise par TMR1IE =1 (
bit 0 de PIE1) et le Flag TMR1IF (bit 0 de PIR1) passe "1".
Ce module peut fonctionner en mode TIMER, quand il s'incrmente chaque cycle
instruction ( Fosc/4 avec le pr diviseur considr "1") ou en mode compteur, quand il
s'incrmente chaque front montant de l'horloge externe applique sur le Port C0.
L'horloge externe peut galement tre l'oscillateur interne, dont la frquence est
fixe par un quartz externe branch entre la broche Port C0 et la broche Port C1.
Le contrle du TIMER 1 se fait par le registre T1CON en h'10' page 0.
Bit 7
PRE DIV
1
2
4
8
PIC 16F88
33
D. MENESPLIER ENAC2005
Synoptique du TIMER 1 :
Flag dbordement
TMR1IF
TMR1 ( 16 bits)
TMR1H ( 8 bits)
TMR1L ( 8 bits)
33 pF
Clk externe
PB6
32,768 KHz
PRE DIVISEUR
1, 2 , 4 ou 8
T1OSCEN
PB7
TMR1ON
On/Off
Clk interne
Fosc/4
T1CKPS1
33 pF
T1CKPS0
TMR1CS
Slection Clk
PIC 16F88
34
D. MENESPLIER ENAC2005
LE TIMER 2
Le module Timer 2 est un compteur 8 bits avec pr diviseur et post diviseur . Ce
compteur TMR2 en h'11 ' page 0 est un registre en lecture ou criture. Il possde un
registre 8 bits pour la priode : PR2 en h'92' page 1.
Le compteur s'incrmente de h'00' jusqu' la valeur contenue par PR2 et repasse
ensuite "0" pour continuer le comptage. Au reset PR2 est initialis "FF".
L'entre du compteur est l'horloge cycle interne : Fosc/4 qui passe travers un pr
diviseur programmable par 1, 4 ou 16.
La sortie du compteur passe dans un post diviseur programmable sur 4 bits, ce qui
permet une division entre 1 et 16.
Quand la sortie du compteur passe par la valeur programme dans PR2, il y a
gnration d'une interruption (si elle a t autorise par TMR2IE=1) et le flag
TMR2IF est positionn "1". Ceci bien entendu en considrant le post diviseur
programm "1".
Le contrle du Timer 2 se fait par le registre T2CON en h'12' page 0.
Bit 7
TOUTPS3 TOUTPS2 TOUTPS1 TOUTPS0
TMR2ON
T2CKPS1 T2CKPS0
PIC 16F88
35
D. MENESPLIER ENAC2005
Synoptique du TIMER 2 :
Fosc/4
Prdiviseur par
1 / 4 ou 16
Registre TMR2
Reset
flag TMR2IF
+ IT
COMPARATEUR
galit
Postdiviseur par
1 / 2 /16
Registre PR2
PIC 16F88
36
D. MENESPLIER ENAC2005
MOTS de CONFIGURATION
Le 16F88 possde 2 mots de configuration de 14 bits:
CONFIG1 en h'2007' et CONFIG2 en h'2008'
REGISTRE CONFIG1 en h'2007' :
bit 0
bit 13
CP
WRT0
CPD
LVP
BOREN
MCLRE
FOSC2
FOSC0
PIC 16F88
37
D. MENESPLIER ENAC2005
bit 13
IESO
FCMEN
38
D. MENESPLIER ENAC2005
ANSEL
PIC 16F88
39
D. MENESPLIER ENAC2005
PIC 16F88
40
D. MENESPLIER ENAC2005