TP informatique industrielle

majdaelaouni13720
from majdaelaouni13720 More from this publisher

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!