Sunteți pe pagina 1din 3

Dpartement Instrumentation et Automatique

F.E.I USTHB
MASTER CONTROLE DE PROCESSUS & ROBOTIQUE
M1 Anne universitaire 2013-2014
MODULE: ARF23 ARCHITECTURE DES SYSTEMES

CONTROLEUR PIC16F84
____________________________________________________________________________________

Exercice 1:
Ecrire un programme qui permet d'allumer une LED sur la ligne PB3 du port B, en utilisant le
PIC 16F84.
Exercice 2:
Ecrire un programme qui permet de faire clignoter une LED sur la ligne PB0 du PIC 16F84, sans
utiliser les interruptions et le TIMER TMR0.

Exercice 3:
Le PIC 16F84 est mont comme reprsent sur le montage suivant, avec une Led Rouge sur la
ligne PA2 du port A et un bouton poussoir sur PB2 du port B.
1. Ecrire un programme qui permet de faire clignoter une LED sur PA2 du PIC 16F84 une
frquence de 1Hz lorsquon appuie sur le bouton poussoir.
2. Reprendre le schma laide du logiciel de simulation Proteus, et tester son fonctionnement
en simulation aprs avoir charg votre programme.
3. Raliser le circuit pratiquement le montage, programmer le PIC et le tester.

1/3

Dpartement Instrumentation et Automatique


F.E.I USTHB
MASTER CONTROLE DE PROCESSUS & ROBOTIQUE
M1 Anne universitaire 2013-2014
MODULE: ARF23 ARCHITECTURE DES SYSTEMES

CONTROLEUR PIC16F84
____________________________________________________________________________________

Exercice 4:
Le programme suivant dit Chennillard permet de faire clignoter les unes la suite des autres les
Leds Vertes branches sur le port B dun PIC 16F84. Le quartz est de 4 Mhz , on effectue une
tempo environ gale 0.2 seconde. Le programme est actionn lorsquon appuie sur un bouton
poussoir branch sur PA0.
;------------ Directive d' assemblage pour PLAB --------------list
p=16f84A
#include p16f84A.inc
__config H'3FF9'
;------------ Dfinition des constantes --------------#define inter0 0
; bouton marche
;------------ Dfinition des registres --------------retard1
EQU
0x0C
; le registre temporaire retard1 se trouve l' adresse 0C
retard2
EQU
0x0F
; le registre temporaire retard2 se trouve l' adresse 0F
Memo
EQU
0x10
; le registre temporaire memo se trouve l' adresse 10
;------------ Init des ports A et B --------------ORG 0
bsf STATUS,5
MOVLW
MOVWF
MOVLW
MOVWF

0x00
TRISB
0x1F
TRISA

; on met 1 le 5eme bit du registre status pour accder


; la 2eme page mmoire ( pour trisa et trisb )
; on met 00 dans le registre W
; on met 00 dans le port B il est programm en sortie
; on met 1F dans le registre W
; on met 1F dans le port A il est programm en entre

bcf STATUS,5

; on remet 0 le 5eme bit du registre status pour accder


; la 1eme page mmoire
;------------ Init des leds et registre --------------CLRF PORTB
; on met 0 sur le port B ( leds )
MOVLW 01
; on met 01 dans le registre W
MOVWF memo
; on met W dans le registre memo
;-------------------- Programme principal ---------------------debut:
btfss PORTA,inter0
; interrupteur 0 ( marche ) appuy ? si oui on continu sinon
;va debut
goto debut
movf memo,W
; on met memo dans W
movwf PORTB
; on met W sur le port B ( leds )
CALL tempo
; on appel la temporisation
RLF memo, F
; rotation gauche du registre memo
GOTO debut
; retour au dbut du programme
;------------ Programme de temporisation longue --------------tempo:
MOVLW 0xff
; on met ff dans le registre W
MOVWF retard1
; on met W dans le registre retard1
MOVWF retard2
; on met W dans le registre retard2

2/3

Dpartement Instrumentation et Automatique


F.E.I USTHB
MASTER CONTROLE DE PROCESSUS & ROBOTIQUE
M1 Anne universitaire 2013-2014
MODULE: ARF23 ARCHITECTURE DES SYSTEMES

CONTROLEUR PIC16F84
____________________________________________________________________________________
attente:
DECFSZ retard1,F
; on dcrmente retard1 et on saute la prochaine instruction si
GOTO attente
; le registre retard1 = 0 sinon retour tempo
movlw 0xFF
; on recharge retard1
movwf retard1
DECFSZ retard2,F
GOTO attente

; on dcrmente retard2 et on saute la prochaine instruction si


; le registre retard2 = 0 sinon retour tempo

RETURN
END

; retour au programme principal aprs l 'instruction CALL

1. Tracer lorganigramme qui a permis dcrire ce programme.


2. Compiler le programme avec MPLAB et corriger les erreurs qui ont y ont t volontairement
introduites.
3. Tester le montage en simulation laide du logiciel Proteus.
4. Raliser le montage et le tester aprs avoir programm le PIC.

Exercice 5:
Reprendre la commande du moteur pas pas dcrit le pdf : ARF23-Application3-interfaces 8086
-2012-2013 application2, mais en utilisant un PIC 16F84 au lieu de du 8086 branch avec
linterface parallle 8255.

Exercice 6:
On veut commander un moteur courant continu laide dun PIC.
1. Etablir le principe de fonctionnement de ce moteur ainsi que celui de sa commande.
2. Quelles sont les ressources qui seront ncessaires ? En dduire le PIC quon devra utiliser en
justifiant votre choix.
3. Ecrire le programme qui fera tourner ce moteur avec une vitesse variable fixe par lutilisateur.
4. Donner le montage et le tester en simulation.
5. Raliser le montage et faire son test rel.

3/3

S-ar putea să vă placă și