You are on page 1of 14

TRAVAUX PRATIQUE : PROGRAMATION DES PICS

Manipulation 1 :

Le programme suivant permet de charger la valeur 0x66 dans la case mmoire dadresse 0x35

Et la valeur 0x33 dans la case mmoire dadresse 0x7C Et la valeur 0x22 dans la case mmoire

Dadresse 0x1FE, ainsi que configurer le PORTA en sortie numrique.

Page 1
Daprs la simulation sur MPLAB, en a tirer les rsultats suivant inscrit dans la RAM.

Remarque :
- Les valeurs 0x33 et 0x22 sont dans la zone commune car le code oprant est cod sur 7 bit du fait
que, ladresse 0x1F E prise comme ladresse 0x7E donc il nest pas oblig de choisir le Bank
- Pour configurer le PORTA en sortie numrique il faut placer la valeur 0x06 dans le registre
ADCON1

Page 2
Manipulation 2 :

2.1 Le programme qui permet dinverser les tats des lampes lorsque le bouton K0 est actionn.
Le programme en scrutation

Page 3
Remarque :
Lorsquon actionne le bouton le passage du zro un de la broche RB0 nest pas parfait , du fait on a besoin
dun circuit anti rebondissement ou bien juste on ajoute une petite temporisation au programme afin que le
pic ne considre les rebondissement .

Le programme Avec interruption : changement dtat du RB0

Page 4
Simulation sur ISIS

Front montant inversement dtats de PORTC

Page 5
Le programme qui permet de :

k0=K1=1 clignotement des lampes

K0=0 et K1=1 dcalage gauche (une seul lampe est allum la fois)

K0=1 et K1=0 dcalage droite (une seul lampe est allum la fois)

K0=K1=0 lampes impaires allumes et lampes paires teintes

Page 6
Page 7
Simulation sur ISIS

k0=K1=1 clignotement des lampes

Page 8
K0=0 et K1=1 dcalage gauche (une seul lampe est allum la fois)

Page 9
K0=1 et K1=0 dcalage droite (une seul lampe est allum la fois)

Page 10
K0=K1=0 lampes impaires allumes et lampes paires teintes

Manipulation 3 :

Le programme qui permet dtablir le communication srie RS232 entre deux


microcontrleurs16F877A.
Le premier pic reois les donnes a partir dune roue codeuse relie sur le PORTB configurer en entre,
et renvois ces donnes au deuxime pic qui va recevoir ces donnes et les transfrer sur le PORTB
configurer en sortie reli avec un dcodeur BCD 7 segment pour assurer laffichage.
-La vitesse de transmission 9600 bit/s (mode haut dbit de transmission TXSTA.BRGH=1)
- 1 bit de START - 8 bits de donne
- 1 bits de STOP

Page 11
Les tapes de transmission (sans interruption, mode 8 bits)

1) Sassurer que linterruption TXI nest pas valide


2) Configurer la broche TX/RC6 en entre
3) Configurer le registre TXSTA et RCSTA (mode 8 bits, valider transmission, asynchrone, BRGH)
4) Initialiser le registre SPBRG pour dfinir la vitesse de transmission
5) Valider le port avec le bit RCSTA.SPEN
6) Vrifier que le drapeau PIR1.TXIF=1 c..d. TXREG est vide
7) Placer la donne transmettre dans le registre TXREG
8) recommencer au point 6) tant quon a des donnes transmettre

Programme du premier pic (transmission)

Remarque :
- en mode asynchrone en peut configurer la broche TX/RC6 en entre ou en sortie
- le mode haut dbit (TXSTA.BRGH=1) est plus prcis que le mode faible dbit (TXSTA.BRGH=0)

Page 12
Les tapes de rception (sans interruption, mode 8 bit)

1) Sassurer que linterruption RCI nest pas valide


2) Configurer la broche RX/RC7 en entre
3) Initialiser le registre SPBRG pour dfinir la vitesse de communication
4) Configurer le registre TXSTA (asynchrone, BRGH)
5) Configurer le registre RCSTA (validation port, mode 8 bits, valider rception continue)
6) Attendre que drapeau RCIF passe 1 ce qui annonce la fin de rception d'un octet
7) Lire loctet reu dans le registre RCREG
8) recommencer au point 6) tant quon a des donnes recevoir

Programme du deuxime pic (rception)

Page 13
Simulation sur ISIS

Page 14