Vous êtes sur la page 1sur 37

LES CONVERTISSEURS ANALOGIQUES NUMRIQUES, LES INTERRUPTIONS, LES TIMERS

Prsent par : Hichem ABDELMOULA

Rappel
Mmoire EEPROM Mmoire RAM Mmoire Flash

Registres Ports E/S ( Num) Chien de Garde Sources dinterruption Unit arithmtique et logique

Ports E/S ( Ana)

Convertisseur Analogique Numrique

Timers

Gnrateur de signal PWM

Les protocoles de communications

Plan
1.

Les convertisseurs analogiques numriques

2. Les interruptions

3. Les Timers

Plan
1.

Les convertisseurs analogiques numriques

2. Les interruptions

3. Les Timers

Capteurs analogiques

Le signal numrique peut prendre 1024 valeurs

possibles.

Bit ADFM

Comment utiliser ces convertisseurs analogiques

numriques ?

-par les registres


- par la biliothque de MicroC

Par registres
ADCON1
- b7 : ADFM : A/D result ForMat select - b6 : Inutilis : lu comme 0 - b5 : Inutilis : lu comme 0 - b4 : Inutilis : lu comme 0 - b3 : PCFG3 : Port ConFiGuration control bit 3 - b2 : PCFG2 : Port ConFiGuration control bit 2 - b1 : PCFG1 : Port ConFiGuration control bit 1

- b0 : PCFG0 : Port ConFiGuration control bit 0

ADCON0
-b7 : ADCS1 : A/D conversion Clock Select bit 1 - b6 : ADCS0 : A/D conversion Clock Select bit 0 - b5 : CHS2 : analog Channel Select bit 2 - b4 : CHS1 : analog Channel Select bit 1 - b3 : CHS0 : analog Channel Select bit 0 - b2 : GO/DONE : A/D conversion status bit - b1 : Inutilis : lu comme 0 - b0 : ADON : A/D ON bit

Par la bibliothque de micro c


Adc_init() et Adc_get_sample(num)

Ou

adc_read(num)

Plan
1.

Les convertisseurs analogiques numriques

2. Les interruptions

3. Les Timers

Les interruptions

Les interruptions
dclenches par lapparition dun vnement

spcifique.
Deux conditions Cet vnement doit figurer dans la liste des

vnements
lutilisateur doit avoir autoris linterruption

Les interruptions

Une interruption ne peut pas tre interrompue par une autre interruption.

Les interruptions
Le registre INTCON (INTerrupt CONtrol) b7 : GIE(Global Interrupt Enable bit) Il permet de valider ou dinvalider toutes les interruptions b6 : PEIE (PEripheral Interrupt Enable bit) ou EEIE(Eeprom write complete Interrupt

Enable bit) .Ce bit permet de valider linterruption de fin dcriture en eeprom b5 : T0IE(Tmr0 Interrupt Enable bit ) Valide linterruption gnre par le dbordement du timer0. b4 : INTE(INTerrupt pin Enable bit ) Valide linterruption dans le cas dune modification de niveau de la pin RB0. b3 : RBIE(RB port change Interrupt Enable bit ) Valide les interruptions si on a changement de niveau sur une des entres RB4 RB7. b2 : T0IF(Tmr0 Interrupt Flag bit) Cest un Flag, donc il signale. Ici cest le dbordement du timer0 b1 : INTF(INTerrupt pin Flag bit ) signale une transition sur la pin RB0 dans le sens dtermin par INTEDG du registre OPTION (b6) b0 : RBIF(Port Interrupt Flag bit ) signale quune des entres RB4 RB7 a t modifie

Les interruptions priphriques


les convertisseurs analogiques numriques
Interruption valid par

le bit ADIE dans le registre PIE1

Le flag est ADIE dans le registre PIR1

Les interruptions priphriques


Lcriture sur leeprom:

Interruption valid par le bit EEIE dans le registre PIE2

Le flag est EEIF dans le registre PIR2

Plan
1.

Les convertisseurs analogiques numriques

2. Les interruptions

3. Les Timers

Les Timers
Timer0

Timer1

Timer2

Les Timers
Timer0

Timer1

Timer2

TIMR0
mode compteur compter les impulsions reues sur la pin RA4/TOKI. mode timer compter les cycles dhorloge du PIC lui-mme
Thor=4*Tosc. Le registre responsable du comptage est TMR0 qui

compte jusqu 255 puis il retourne 0

Timer 0
le registre Option_reg b7 RBPU (generalement b7=0) b6 : INTEDG (le sens de dclanchement de linterruption de RB0) b5 : TOCS(le mode utilis) b4 : TOSE (en cas de b5=1,le sens du comptage) b3 : PSA(le prdiviseur est utilis pour le timer0 ou pour le watch dog) b2, b1,b0 : PS2,PS1,PS0

Timer 0

Les Timers
Timer0

Timer1

Timer2

Timer1
Le timer 1 fonctionne dans son ensemble comme le timer 0. ce timer est capable de compter sur 16 bits, comparer aux

8 bits du timer 0. Il sera donc capable de compter de D0 D65535

Les registres responsable du comptage se nomment TMR1L

et TMR1H

Timer 1
Le registre T1CON

b7 : Inutilis : lu comme 0 b6 : Inutilis : lu comme 0 b5 : T1CKPS1 : Timer 1 oscillator ClocK Prescale Select bit 1 b4 ; T1CKPS0 : Timer 1 oscillator ClocK Prescale Select bit 0 b3 : T1OSCEN : Timer 1 OSCillator ENable control bit Travailler avec un oscillateur externe b2 : T1SYNC : Timer 1 external clock input SYNChronisation control bit b1 : TMR1CS : TiMeR 1 Clock Source select bit Le mode de comptage(Comme le timer 0) b0 : TMR1ON : TiMeR 1 ON bit Permettre lutilisation du timer1

Timer1

Timer 1
les convertisseurs analogiques numriques
Interruption valid par

le bit TMR1IE dans le registre

PIE1

Le flag est dans TMR1IF le registre PIR1

Les timers
Timer0

Timer1

Timer2

Timer2
Le timer 2 fonctionne dans son ensemble comme le timer

0.
ce timer est capable de compter sur 8 bits Ce timer possde un prscaler et un postscaler

Le registre responsable du comptage se nomment TMR2

Timer 2
T2CON - b7 : non utilis, laisser 0 - b6 : TOUTPS3 : Timer2 OUTput PostScale bit 3 - b5 : TOUTPS2 : Timer2 OUTput PostScale bit 2 - b4 : TOUTPS1 : Timer2 OUTput PostScale bit 1 - b3 : TOUTPS0 : Timer2 OUTput PostScale bit 0 - b2 : TMR2ON : TiMeR 2 ON - b1 : T2CKPS1 : Timer 2 ClocK PreScale bit 1 - b0 : T2CKPS0 : Timer 2 ClocK PreScale bit 0

Timer 2

Timer 2
les convertisseurs analogiques numriques
Interruption valid par

le bit TMR2IE dans le registre

PIE1

Le flag est dans TMR2IF le registre PIR1

Merci Pour Votre Attention