1 MICROCONTROLEUR PIC 16F84 Application 1: Générateur d’un signal Carré Réalisé par:ilyas...

13
1 MICROCONTROLEUR MICROCONTROLEUR PIC 16F84 PIC 16F84 Application 1: Application 1: Générateur Générateur d’un signal Carré d’un signal Carré Réalisé par: Réalisé par: ilyas Mimouni ilyas Mimouni

Transcript of 1 MICROCONTROLEUR PIC 16F84 Application 1: Générateur d’un signal Carré Réalisé par:ilyas...

Page 1: 1 MICROCONTROLEUR PIC 16F84 Application 1: Générateur d’un signal Carré Réalisé par:ilyas Mimouni.

11

MICROCONTROLEUR MICROCONTROLEUR PIC 16F84PIC 16F84

Application 1:Application 1:

Générateur Générateur d’un signal Carréd’un signal Carré

Réalisé par:Réalisé par: ilyas Mimouniilyas Mimouni

Page 2: 1 MICROCONTROLEUR PIC 16F84 Application 1: Générateur d’un signal Carré Réalisé par:ilyas Mimouni.

Générateur d'un Signal CarréGénérateur d'un Signal Carré 22

PLANPLAN

IntroductionIntroduction MéthodologieMéthodologie Méthode 1:Méthode 1: Utilisation d’une boucle de Utilisation d’une boucle de

décrémentationdécrémentation Méthode 2:Méthode 2: Utilisation du TimerUtilisation du Timer ConclusionConclusion

Page 3: 1 MICROCONTROLEUR PIC 16F84 Application 1: Générateur d’un signal Carré Réalisé par:ilyas Mimouni.

Générateur d'un Signal CarréGénérateur d'un Signal Carré 33

IntroductionIntroduction

Les signaux carrés sont très utilisés Les signaux carrés sont très utilisés en électronique numérique.en électronique numérique.

Ces signaux peuvent être générés Ces signaux peuvent être générés par plusieurs circuit par plusieurs circuit (NE555,PIC16F84…).(NE555,PIC16F84…).

Page 4: 1 MICROCONTROLEUR PIC 16F84 Application 1: Générateur d’un signal Carré Réalisé par:ilyas Mimouni.

Générateur d'un Signal CarréGénérateur d'un Signal Carré 44

MéthodologieMéthodologie

Objectif:Objectif: générer un signal carré de générer un signal carré de fréquence connuefréquence connue sur la sur la

broche broche RB0 du port B. RB0 du port B. Principe:Principe: Changer l’état de RB0 par Changer l’état de RB0 par

intervalles de temps intervalles de temps réguliers.réguliers.

La diversité des fonctionsLa diversité des fonctions du programmeur du programmeur permet d’utiliser plusieurs méthodes pour permet d’utiliser plusieurs méthodes pour la génération de ce signal.la génération de ce signal.

Page 5: 1 MICROCONTROLEUR PIC 16F84 Application 1: Générateur d’un signal Carré Réalisé par:ilyas Mimouni.

Générateur d'un Signal CarréGénérateur d'un Signal Carré 55

Présentation des fonctions clés:Présentation des fonctions clés:

DECFSZDECFSZ f,d f,d

XORWFXORWF f,d f,d

BTFSSBTFSS f,b f,b

ORGORG

RETFIE RETFIE

MéthodologieMéthodologie

Page 6: 1 MICROCONTROLEUR PIC 16F84 Application 1: Générateur d’un signal Carré Réalisé par:ilyas Mimouni.

Générateur d'un Signal CarréGénérateur d'un Signal Carré 66

Méthode 1:Méthode 1: Boucle de décrémentation Boucle de décrémentation;Directives d’assemblage;Directives d’assemblage

p=16f84 p=16f84 __config_wdt_off&_XT_OSC__config_wdt_off&_XT_OSC

;---deifinition des constantes-------;---deifinition des constantes-------RB0 equ 0RB0 equ 0RP0 equ 0RP0 equ 0RP1 equ 1RP1 equ 1

;----definition des registres---;----definition des registres---STATUS EQU 0X03STATUS EQU 0X03PORTB EQU 0X06PORTB EQU 0X06TRISB EQU 0X86TRISB EQU 0X86COMPT1 EQU 0X0CCOMPT1 EQU 0X0CCOMPT2 EQU 0X0DCOMPT2 EQU 0X0D

Page 7: 1 MICROCONTROLEUR PIC 16F84 Application 1: Générateur d’un signal Carré Réalisé par:ilyas Mimouni.

Générateur d'un Signal CarréGénérateur d'un Signal Carré 77

; ---Programme général------; ---Programme général------

BSF STATUS,RP0BSF STATUS,RP0 ;---Activation de la BANK1;---Activation de la BANK1

BCF TRISB,0BCF TRISB,0 ;---Configuration du RB0 en sortie;---Configuration du RB0 en sortie

BCF STATUS,RP0BCF STATUS,RP0 ;---Activation de la BANK0;---Activation de la BANK0

BCF PORTB,RB0BCF PORTB,RB0 ;---Valeur initiale à zero;---Valeur initiale à zero

Page 8: 1 MICROCONTROLEUR PIC 16F84 Application 1: Générateur d’un signal Carré Réalisé par:ilyas Mimouni.

Générateur d'un Signal CarréGénérateur d'un Signal Carré 88

DEBUTDEBUT CALL CALL TEMPO TEMPO ;Appel du sous programme TEMPO ;Appel du sous programme TEMPO MOVLW b'00000001‘ ;MasqueMOVLW b'00000001‘ ;Masque XORWF PORTB,0 XORWF PORTB,0 MOVWF PORTBMOVWF PORTB ;Modifier le bit de RB0 ;Modifier le bit de RB0 GOTO GOTO DEBUTDEBUT

TEMPOTEMPO ; Début du sous programme ; Début du sous programme MOVLW 0XFFMOVLW 0XFF ;Charger W avec FF ;Charger W avec FF MOVWF COMPT1MOVWF COMPT1

BOUCLE1BOUCLE1MOVWF COMPT2MOVWF COMPT2

BOUCLE2BOUCLE2DECFSZ COMPT2,1 ;Décrémenter jusqu’à zéroDECFSZ COMPT2,1 ;Décrémenter jusqu’à zéro

GOTO GOTO BOUCLE2BOUCLE2 DECFSZ COMPT1,1DECFSZ COMPT1,1 ;Décrémenter jusqu’à zéro;Décrémenter jusqu’à zéro

GOTO GOTO BOUCLE1BOUCLE1 RETURNRETURN ENDEND

Page 9: 1 MICROCONTROLEUR PIC 16F84 Application 1: Générateur d’un signal Carré Réalisé par:ilyas Mimouni.

Générateur d'un Signal CarréGénérateur d'un Signal Carré 99

Méthode 2:Méthode 2: Utilisation du Timer Utilisation du Timer;Directives d’assemblage;Directives d’assemblage

list p=16f84list p=16f84__CONFIG__WDT_OFF_XT_OSC__CONFIG__WDT_OFF_XT_OSC

;---définition des constantes-------;---définition des constantes------- RB0 EQU 0RB0 EQU 0 RP0 EQU 0RP0 EQU 0 RP1 EQU 1RP1 EQU 1 TOIF EQU 2TOIF EQU 2 TOIE EQU 5TOIE EQU 5 GIE EQU 7GIE EQU 7

;----definition des registres---;----definition des registres--- STATUS STATUS EQU 0X03 EQU 0X03 PORTB PORTB EQU 0X06 EQU 0X06 TRISB TRISB EQU 0X86 EQU 0X86 OPTION_REGOPTION_REG EQU 0x81 EQU 0x81 INTCONINTCON EQU 0x0B EQU 0x0B

Page 10: 1 MICROCONTROLEUR PIC 16F84 Application 1: Générateur d’un signal Carré Réalisé par:ilyas Mimouni.

Générateur d'un Signal CarréGénérateur d'un Signal Carré 1010

;---Programme general---;---Programme general---

BSF STATUS,0 BSF STATUS,0 ;---Activation de la BANK1;---Activation de la BANK1

BCF TRISB,0 BCF TRISB,0 ;---Configuration du RB0 en sortie;---Configuration du RB0 en sortie

MOVLW MOVLW b'00000111b'00000111‘ ‘ ; ---valeur de OPTION_REG; ---valeur de OPTION_REG

MOVWF OPTION_REG MOVWF OPTION_REG BCF STATUS,0 BCF STATUS,0 ;---Activation de la BANK0;---Activation de la BANK0

BSF INTCON,GIE BSF INTCON,GIE ;---Autorisation des interruptions;---Autorisation des interruptions BSF INTCON,TOIE ;BSF INTCON,TOIE ;---Autor---Autor. i. interruption du nterruption du timer timer

BCF PORTB,RB0 BCF PORTB,RB0 ;---Valeur initiale à zero;---Valeur initiale à zero

Page 11: 1 MICROCONTROLEUR PIC 16F84 Application 1: Générateur d’un signal Carré Réalisé par:ilyas Mimouni.

Générateur d'un Signal CarréGénérateur d'un Signal Carré 1111

DEBUTDEBUTBOUCLEBOUCLEBTFSS INTCON,TOIF ;-Test de l'etat du comptageBTFSS INTCON,TOIF ;-Test de l'etat du comptage GOTO GOTO BOUCLEBOUCLE

ORGORG h’0004’ h’0004’CALL CALL INTERUPINTERUPGOTO GOTO DEBUTDEBUT

INTERUPINTERUP MOVLW b'00000001'MOVLW b'00000001'

XORWF PORTB,1XORWF PORTB,1BCF INTCON,TOIFBCF INTCON,TOIFRETFIERETFIE ;--Retour de l’interruption---- ;--Retour de l’interruption----

ENDEND

Page 12: 1 MICROCONTROLEUR PIC 16F84 Application 1: Générateur d’un signal Carré Réalisé par:ilyas Mimouni.

Générateur d'un Signal CarréGénérateur d'un Signal Carré 1212

ConclusionConclusion

Page 13: 1 MICROCONTROLEUR PIC 16F84 Application 1: Générateur d’un signal Carré Réalisé par:ilyas Mimouni.

Générateur d'un Signal CarréGénérateur d'un Signal Carré 1313

Merci de votre attentionMerci de votre attention