Générateur d’un signal Carré MICROCONTROLEUR PIC 16F84 Application 1: Réalisé par: ilyas Mimouni IEEA IV - Année Universitaire 2004-2005
Générateur d'un Signal Carré PLAN Introduction Méthodologie Méthode 1: Utilisation d’une boucle de décrémentation Méthode 2: Utilisation du Timer Conclusion Générateur d'un Signal Carré
Générateur d'un Signal Carré Introduction Les signaux carrés sont très utilisés en électronique numérique. Ces signaux peuvent être générés par plusieurs circuit (NE555,PIC16F84…). Générateur d'un Signal Carré
Générateur d'un Signal Carré Méthodologie Objectif: générer un signal carré de fréquence connue sur la broche RB0 du port B. Principe: Changer l’état de RB0 par intervalles de temps réguliers. La diversité des fonctions du programmeur permet d’utiliser plusieurs méthodes pour la génération de ce signal. Générateur d'un Signal Carré
Générateur d'un Signal Carré Méthodologie Présentation des fonctions clés: DECFSZ f,d XORWF f,d BTFSS f,b ORG RETFIE Générateur d'un Signal Carré IEEA IV - Année Universitaire 2004-2005
Méthode 1: Boucle de décrémentation ;Directives d’assemblage p=16f84 __config_wdt_off&_XT_OSC ;---deifinition des constantes------- RB0 equ 0 RP0 equ 0 RP1 equ 1 ;----definition des registres--- STATUS EQU 0X03 PORTB EQU 0X06 TRISB EQU 0X86 COMPT1 EQU 0X0C COMPT2 EQU 0X0D Générateur d'un Signal Carré
Générateur d'un Signal Carré ; ---Programme général------ BSF STATUS,RP0 ;---Activation de la BANK1 BCF TRISB,0 ;---Configuration du RB0 en sortie BCF STATUS,RP0 ;---Activation de la BANK0 BCF PORTB,RB0 ;---Valeur initiale à zero Générateur d'un Signal Carré
Générateur d'un Signal Carré DEBUT CALL TEMPO ;Appel du sous programme TEMPO MOVLW b'00000001‘ ;Masque XORWF PORTB,0 MOVWF PORTB ;Modifier le bit de RB0 GOTO DEBUT TEMPO ; Début du sous programme MOVLW 0XFF ;Charger W avec FF MOVWF COMPT1 BOUCLE1 MOVWF COMPT2 BOUCLE2 DECFSZ COMPT2,1 ;Décrémenter jusqu’à zéro GOTO BOUCLE2 DECFSZ COMPT1,1 ;Décrémenter jusqu’à zéro GOTO BOUCLE1 RETURN END Générateur d'un Signal Carré
Méthode 2: Utilisation du Timer ;Directives d’assemblage list p=16f84 __CONFIG__WDT_OFF_XT_OSC ;---définition des constantes------- RB0 EQU 0 RP0 EQU 0 RP1 EQU 1 TOIF EQU 2 TOIE EQU 5 GIE EQU 7 ;----definition des registres--- STATUS EQU 0X03 PORTB EQU 0X06 TRISB EQU 0X86 OPTION_REG EQU 0x81 INTCON EQU 0x0B Générateur d'un Signal Carré
;---Programme general--- BSF STATUS,0 ;---Activation de la BANK1 BCF TRISB,0 ;---Configuration du RB0 en sortie MOVLW b'00000111‘ ; ---valeur de OPTION_REG MOVWF OPTION_REG BCF STATUS,0 ;---Activation de la BANK0 BSF INTCON,GIE ;---Autorisation des interruptions BSF INTCON,TOIE ;---Autor. interruption du timer BCF PORTB,RB0 ;---Valeur initiale à zero Générateur d'un Signal Carré
Générateur d'un Signal Carré DEBUT BOUCLE BTFSS INTCON,TOIF ;-Test de l'etat du comptage GOTO BOUCLE ORG h’0004’ CALL INTERUP GOTO DEBUT INTERUP MOVLW b'00000001' XORWF PORTB,1 BCF INTCON,TOIF RETFIE ;--Retour de l’interruption---- END Générateur d'un Signal Carré
Générateur d'un Signal Carré Conclusion Générateur d'un Signal Carré
Merci de votre attention Générateur d'un Signal Carré