TP informatique industrielle
Compte renduTravail pratiqueInformatique industrielleRéaliser par :MAJDA EL AOUNIZAKARIA ABDERRAHMANIDemandé par :Mr . ZARKANE
- Page 2 and 3: Travaux pratique informatique indus
- Page 4 and 5: Travaux pratique informatique indus
- Page 6 and 7: Travaux pratique informatique indus
- Page 8 and 9: Travaux pratique informatique indus
- Page 10 and 11: Travaux pratique informatique indus
- Page 12 and 13: Travaux pratique informatique indus
- Page 14 and 15: Travaux pratique informatique indus
- Page 16 and 17: MOVWF PORTBRETURNTravaux pratique i
- Page 18 and 19: Travaux pratique informatique indus
Compte rendu
Travail pratique
Informatique industrielle
Réaliser par :
MAJDA EL AOUNI
ZAKARIA ABDERRAHMANI
Demandé par :
Mr . ZARKANE
Travaux pratique informatique industrielle
I. TP1: Réalisation d’un chenillard 1 sens, de fréquence
0.25Hz :
1 Objectif :
On désire réaliser, à l’aide d’un PIC 16F887, un Chenillard à un sens de défilement,
composé de 8 LEDs dont la fréquence de rotation est de 0.25Hz. La première LED à
s’allumer étant la LED1 (Reliée à RD0) puis on allume à tour de rôle les autres LEDs de
LED1 à LED8 (RD1 à RD7)
2 Principe du fonctionnement :
On initialise le port D par D’00000000’ et on affecte la valeur 0 au bit C du registre
STATUS. Ensuite, on allume la première LED, puis le pic va faire appel au programme de
temporisation qui sert à maintenir la LED allumé pendant 0.5s par la suite on fait une rotation
du contenu du port D jusqu'à ce que le bit C aie la valeur 1. Dans ce cas le pic mis à zéro le bit
C et relance le cycle à nouveau. La figure ci-dessous montre le fonctionnement et le
déroulement de l’instruction RLF
2019 /2020 Page 1
3 Organigramme:
Travaux pratique informatique industrielle
List p=16F887
4 Programme :
#include <p16f887.inc>
__CONFIG _CONFIG1, _LVP_OFF & _CPD_OFF & _CP_OFF & _MCLRE_ON &
_PWRTE_ON & _WDT_OFF
Compt1 EQU 0x30
Compt2 EQU 0x31
; ********* Démarage sur Reset **********
Org 0x00
START
; ********* macro *********
2019 /2020 Page 2
Travaux pratique informatique industrielle
BANK0 macro
BCF STATUS,RP0
BCF STATUS,RP1
endm
BANK1 macro
BSF STATUS,RP0
BCF STATUS,RP1
endm
;********** CONFIGURATION **********
BANK1
CLRF TRISD
MOVLW 0x08
MOVWF OPTION_REG
;********** Programme Principale *********
BANK0
debut1
MOVLW 0x01
MOVWF PORTD
debit2
Call TEMPO
RLF PORTD,1
BTFSS STATUS,C
GOTO debit2
BCF STATUS,C
GOTO debut1
;**** temporisation********
TEMPO
2019 /2020 Page 3
Travaux pratique informatique industrielle
movlw D'245'
movwf Compt2
BOUCLE2
movlw D'255'
movwf Compt1
BOUCLE1
nop
nop
nop
nop
nop
decfsz Compt1
goto BOUCLE1
decfsz Compt2,F
goto BOUCLE2
return
end
5 Realisation sur ISIS
2019 /2020 Page 4
Travaux pratique informatique industrielle
6 L’ajout d’un bouton poussoir :
On veut ajouter un bouton poussoir qui permet de démarrer le Chenillard et l’arrêter à un état
quelconque. Le Chenillard s’arrête après l’appui sur le bouton (LEDi reste allumée). En
appuyant encore, Le chenillard continue à partir de la LED où l’arrêt était fait.
programme
LIST p=16F887
#include "P16F887.INC"
__CONFIG _CONFIG1, _HS_OSC & _WDT_OFF & _CP_OFF & _LVP_OFF
__CONFIG _CONFIG2, _WRT_OFF
Compt1EQU 0x30
Compt2EQU 0x31
BP EQU 0x32
;================ DEMARRAGE SUR RESET ===================
ORG 0x00
GOTO START
2019 /2020 Page 5
Travaux pratique informatique industrielle
;==================== INTERRUPTION =======================
ORG 0x04
BTFSS INTCON,INTF
goto TST
SWAPF BP,1
BCF INTCON,INTF
TST
BSF INTCON,7
RETFIE
ORG 0x20
START
;==================== MACRO==========================
BANK0 macro
BCF STATUS,RP0
BCF STATUS,RP1
endm
BANK1 macro
BSF STATUS,RP0
BCF STATUS,RP1
endm
BANK2 macro
BCF STATUS,RP0
BSF STATUS,RP1
endm
BANK3 macro
BSF STATUS,RP0
BSF STATUS,RP1
2019 /2020 Page 6
Travaux pratique informatique industrielle
endm
; =================== CONFIGURATION ============================
BANK3
CLRF ANSELH
BANK1
BSF TRISB,0
CLRF TRISD
MOVWF OPTION_REG
BANK1
MOVLW 0xFF
MOVWF WPUB
BANK0
MOVLW 0x90
MOVWF INTCON
MOVLW 0x10
MOVWF BP
MASTER IM
; ==================== Programme Principal ==========================
CLRF PORTD
TEST BTFSS BP,0
GOTO TEST
Debut1
MOVLW 0x01
MOVWF PORTD
Debut2
Call TEMPO
RLF PORTD,1
2019 /2020 Page 7
Travaux pratique informatique industrielle
TST0 BTFSS BP,0
GOTO TST0
BTFSS STATUS,C
GOTO Debut2
BCF STATUS,C
GOTO Debut1
; ================ TEMPORISATION =======================
TEMPO
movlw D'245'
movwf Count2
BOUCLE2 movlw D'255'
movwf Count1
BOUCLE1 nop
nop
nop
nop
nop
decfsz Count1,F
goto BOUCLE1
decfsz Count2,F
goto BOUCLE2
return
END
II.
TP2: Réalisation d’un chenillard 2 sens, de fréquence 0.25Hz
1 Objectif :
2019 /2020 Page 8
Travaux pratique informatique industrielle
On désire réaliser à l’aide d’un pic 16F887, un chenillard à deux sens de défilement,
constitué de 8 LEDs monté sur le port D dont la fréquence de clignotement est de 0.25 Hz.
2 Principe du fonctionnement :
On initialise le port D par D’00000000’ et on affecte la valeur 0 au bit C du registre
STATUS. Ensuite, on allume la première LED, puis le pic va faire appel au programme de
temporisation qui sert à maintenir la LED allumé pendant 0.5s par la suite on fait une rotation
à gauche du contenu du port D jusqu'à ce que le bit C aie la valeur 1. Dans ce cas, on fait une
rotation à droite du contenu du port D, pour allumer les LED dans le sens inverse et ainsi de
suite.
3 Organigramme:
4 Programme
list
p=16f887
2019 /2020 Page 9
Travaux pratique informatique industrielle
#include
<p16f887.inc>
__CONFIG _CONFIG1, _LVP_OFF & _FCMEN_ON & _IESO_OFF &
_BOR_OFF & _CPD_OFF & _CP_OFF & _MCLRE_ON & _PWRTE_ON & _WDT_OFF
& _INTRC_OSC_NOCLKOUT
__CONFIG _CONFIG2, _WRT_OFF & _BOR21V
;***** Définition des variables
Carry EQU 0x0E
compt1 EQU 0x3E
compt2 EQU 0x3F
;***********Démarrage sur Reset***********
ORG
0x000
goto Start
;******Temporisation********
tempo
clrf compt1
clrf compt2
boucle1 decf compt1,f
btfsc STATUS,Z
return
boucle2 decf compt2,f
btfss STATUS,Z
goto boucle2
goto boucle1
;********Programme principal*******
Start
bsf
STATUS,RP0
2019 /2020 Page 10
Travaux pratique informatique industrielle
movlw 0x00
movwf TRISD
bcf
STATUS,RP0
init clrf PORTD
bcf
STATUS,C
movlw 0x01
movwf Carry
renitialisation1
movf
Carry,w
movwf PORTD
call tempo
rlf
Carry,f
movlw 0x80
subwf Carry,w
btfss STATUS,Z
goto renitialisation1
clrf PORTD
bcf
STATUS,C
movlw 0x80
movwf Carry
renitialisation2
bcf
STATUS,C
movf
Carry,w
movwf PORTD
call tempo
rrf
Carry,f
movlw 0x01
2019 /2020 Page 11
subwf Carry,w
btfss STATUS,Z
goto renitialisation2
goto init
END
Travaux pratique informatique industrielle
III. TP3 : réalisation d’un clavier 12 touches :
1 Objectif :
Réaliser un montage composé d’un PIC 16F887, d’un clavier 4*3 et d’un afficheur 7
segments. Le pic doit détecter tout appuie sur une touche du clavier et afficher la valeur
correspondante à l’aide de l’afficheur 7 segments.
2 Principe du fonctionnement :
On a configuré le port B lié à l’afficheur 7segments en sortie ainsi que les 3 premiers bits du
port D en entrée qui présentent les colonnes et les autres 5 bits du port D en sortie qui
présentent les lignes.On a 3 colonnes et 4 lignes leurs intersections nous donnent les chiffres
du clavier.Le principe consiste à fixer une colonne et parcourir les lignes en effectuant 4 tests
sur des broches du port D.
Illustration : colonne 1
Si RD0∩RD3 =1 ====> Afficher1
Si RD0∩RD4=1 ====> Afficher 4
Si RD0∩RD5=1 ====> Afficher 7
Si RD0∩RD6=1 ====> Afficher *
3 Organigramme:
2019 /2020 Page 12
Travaux pratique informatique industrielle
4 Programme:
LIST
p=16F887 ,r=dec
#INCLUDE <p16F887.inc>
__CONFIG _CONFIG1, _LVP_OFF & _FCMEN_ON & _IESO_OFF &
_BOR_OFF & _CPD_OFF & _CP_OFF & _MCLRE_ON & _PWRTE_ON & _WDT_OFF
& _INTRC_OSC_NOCLKOUT
__CONFIG _CONFIG2, _WRT_OFF & _BOR21V
ORG 0X00
2019 /2020 Page 13
Travaux pratique informatique industrielle
GOTO INIT
;=============initialization============
INIT
CLRF PORTD
CLRF PORTB
MOVLW B'00100000' ; BANC 1
MOVWF STATUS
MOVLW B'01111000'
; configuration entrée / sortie
MOVWF TRISD
CLRF TRISB
CLRF OPTION_REG
MOVLW 0X01
; configuration OPTION_REG
; configuration des résistances interne
MOVWF WPUB
MOVLW 0X60 ; BANC 4
MOVWF STATUS
;===========configuration analogique/digitale=========
CLRF ANSELH
MOVLW 0X00 ; BANC 0
MOVWF STATUS
GOTO START
un
MOVLW B'00000110'
MOVWF PORTB
RETURN
deux
MOVLW B'01011011'
2019 /2020 Page 14
MOVWF PORTB
RETURN
Travaux pratique informatique industrielle
trois
MOVLW B'01001111'
MOVWF PORTB
RETURN
quatre
MOVLW B'01100110'
MOVWF PORTB
RETURN
cinq
MOVLW B'01101101'
MOVWF PORTB
RETURN
six
MOVLW B'01111101'
MOVWF PORTB
RETURN
sept
MOVLW B'00000111'
MOVWF PORTB
RETURN
huit
MOVLW B'01111111'
MOVWF PORTB
RETURN
neuf
2019 /2020 Page 15
MOVLW B'01101111'
MOVWF PORTB
RETURN
Travaux pratique informatique industrielle
zéro
MOVLW B'00111111'
MOVWF PORTB
RETURN
étoile
MOVLW B'01001001'
MOVWF PORTB
RETURN
dièse
MOVLW B'01100011'
MOVWF PORTB
RETURN
;==========programme==========
START
CLRF PORTD
; test col 1
BSF PORTD,0
BTFSC PORTD,3
CALL un
BTFSC PORTD,4
CALL quatre
BTFSC PORTD,5
call sept
BTFSC PORTD,6
2019 /2020 Page 16
Travaux pratique informatique industrielle
call étoile
;test col 2
BCF PORTD,0
BSF PORTD,1
BTFSC PORTD,3
CALL deux
BTFSC PORTD,4
CALL cinq
BTFSC PORTD,5
call huit
BTFSC PORTD,6
call zéro
;test col 3
BCF PORTD,1
BSF PORTD,2
BTFSC PORTD,3
CALL trois
BTFSC PORTD,4
CALL six
BTFSC PORTD,5
call neuf
BTFSC PORTD,6
call dièse
GOTO START
END
2019 /2020 Page 17
4 Simulation en ISIS:
Travaux pratique informatique industrielle
Le clavier est un élément très utilisable. Lors de ce TP, on a eu
l’occasion de réaliser et manipuler un clavier 12 touches à l’aide du
pic 16F887
Conclusion
Nous avons opté pour une étude du microcontrôleur 16F887 qui est
le remplaçant désigné du très populaire 16F877. Le Pic 16F887 est
très utilisé dans le monde électronique, dû à ces fonctionnalités, ainsi
que sa vitesse d’exécuter des milliers d’instructions pour des petites
fréquences.
2019 /2020 Page 18