Vous êtes sur la page 1sur 3

Série des TD N°1: Programmation des PIC en assembleur Page : 1/ 3

FILIERE : LPM
MODULE : Electronique des systèmes embarqués

Exercice 1
Commenter les lignes du programme suivant :
ET BSF STATUS ,RP0 ; ………………………………………………………………………………………………………..
MOVLW 0XFF ; ………………………………………………………………………………………………………..
MOVWF TRISA ; ………………………………………………………………………………………………………..
MOVLW 0X00 ; ………………………………………………………………………………………………………..
MOVWF TRISB ; ………………………………………………………………………………………………………..
BCF STATUS ,RP0 ; ………………………………………………………………………………………………………..
GOTO ET ; ………………………………………………………………………………………………………..

Exercice 2
Au départ (PCL) = 0x10, on exécute la partie du programme ci-dessous, compléter le tableau
par les valeurs contenues dans MEME1, MEME2, MEME3, PC et W, après exécution de chaque
instruction. Rappel (PC=PCH : PCL PCH sur 5bits et PCL sur 8 bits ce dernier est accessible en
lecture et écriture)
PCL Instruction W MEME1 MEME2 MEME3
0x10 MOVLW 0xFD
XORLW 0xFF
MOVWF MEM1
ADDLW 0x01
MOVWF MEM2
ANDWF MEM1,W
MOVWF MEM3
DECF MEM3,F
ADDWF PCL,F
MOVLW 0xFD
IORLW 0xFF
INCF MEM2

Préparé par: Mr. A.BOUDAOUD EST-Beni Mellal


Electronique des systèmes embarqués Page : 2/ 3

Exercice 3
Soit l’organigramme suivant, écrire le programme assembleur
correspondant.

Exercice 4
Dans le montage suivant, la LED s’allume si
l’interrupteur I est fermé et elle s’éteint s’il est ouvert.
1. Etablir l’organigramme
2. Ecrire le programme assembleur.

Exercice 5 : Comparateur
Le montage suivant permet de comparer le contenu des port C (noté A) et celui du port D
(noté B):
▪ Si A<B : la LED rouge s’allume
▪ Si A>B la LED jaune s’allume
▪ Si A=B la LED verte s’allume
1. Etablir l’organigramme
2. Ecrire le programme assembleur.

Exercice 6
Soit le sous-programme de
temporisation suivant :
tempo MOVLW 0x0A
MOVWF C2
ET2 CLRF C1
ET1 DECFSZ C1, f
GOTO ET1
DECFSZ C2, f

Préparé par: Mr. A.BOUDAOUD EST-Beni Mellal


Electronique des systèmes embarqués Page : 3/ 3

GOTO ET2
RETURN
Exprimer la durée de ce sous-programme sachant que le PIC utilisé est piloté par un quartz de
10 Mhz.
Exercice 7
Soit l’organigramme d’un sous-programme (appelé : retard) et X est
un registre de 8 bits.
1. Traduire cet organigramme en assembleur ;
2. Exprimer le temps nécessaire pour l’exécution de ce sous-
programme en fonction de la valeur de N et Tc (la durée d’un cycle
machine)
AN. Prendre N=0x3F et fosc=8MHz

Exercice 8
On veut réaliser une commande des feux d’un carrefour, à deux voies, à l’aide du PIC 16F877.
On utilise le PORTB pour commander les feux de deux voies. Ce qui fait six feux qui sont simuler
par des LED qui sont noté :
➢ Pour la voie1 : R1 ; O1 et V1
➢ Pour la voie2 : R2 ; O2 et V2 (avec R : feux Rouge , O : feux Orange et V : feux Vert )
Liaison entre le PIC et les LED
➢ R1 est relié à PB0 , O1 est relié à PB1 , V1 est relié à PB2 ,
➢ R2 est relié à PB3 , O2 est relié à PB4 , V2 est relié à PB5 ,
Durée d’allumage des feux pour chaque voie:
➢ Les feux verts s’allument pendant 10s
➢ Les feux oranges s’allument pendant 2s
➢ Les feux rouges s’allument pendant 12s
1. Etablir l’organigramme générant une temporisation de 2 s
2. Etablir l’organigramme principal
3. Traduire les organigrammes en programmes assembleur

Préparé par: Mr. A.BOUDAOUD EST-Beni Mellal

Vous aimerez peut-être aussi