Professional Documents
Culture Documents
Exercice 1 :
Enonc : crire un programme qui :
- Dclare trois variables (var1, var2 et somme).
- Additionne ces deux valeurs.
- Met le rsultat dans une variable "somme".
Correction :
CBLOCK 0x00C
variable1 : 1
variable2 : 1
somme : 1
ENDC
movf variable1,w
addwf variable2,w
movwf somme
Remarques :
- movlw mavariable movlw 0x0E ; 0x0E est l@ mmoire de mavariable et non le contenu
Exercice 2 : On veut crire un programme assembleur qui permet de faire clignoter une
diode led connecte au pin RA4 ; Proposer un schma de montage.
Start
Bcf portA,4
Call tempo
Bsf portA,4
Call tempo
end
1
Remarque: Sortie collecteur ouvert:
-lorsque la logique interne place le niveau haut (1L) au pinle transist est satur Vs=0V.
-lorsque la logique interne place le niveau bas (0L) au pinle transist est bloqu Vs=Z
(Etat haute impdance : ninfluence pas le reste).
Vdd
1K
RA4
Exercice 3:
Exemple dapplication 1 :
En partant de ce schma, nous dsirons allumer la LED lorsque nous pressons le bouton, et
lteindre lorsque nous le relchons.
2
;********************************************************
LIST p=16F84 ; Dfinition de processeur
#include <p16F84.inc> ; Dfinitions de variables
Exemple dapplication 2 :
Nous voulons faire clignoter notre LED une frquence de 1Hz (1 clignotement par seconde)
.
;********************************************************
3
#include <p16F84.inc> ; Dfinitions de variables
bcf TRISA , 2
;********************************************************
; SOUS-ROUTINE DE TEMPORISATION
;********************************************************
;---------------------------------------------------------------------
;---------------------------------------------------------------------
tempo
boucle3
boucle2
boucle1
4
nop ; perdre 1 cycle
;********************************************************
; PROGRAMME PRINCIPAL *
;********************************************************
start
Un C 16F84 est reli via le port B 6 diodes Leds cathode commune. On dsire raliser
un jeu de lumire dont la squence est la suivante :
- Initialement toutes les leds sont teintes
- Une seule diode sallume sur RB0
- Le point lumineux se dplace vers RB1, puis vers RB2 jusqu RB5.
Le cycle se rpte indfiniment.
a. Donner le montage du circuit.
b. Donner le programme en assembleur.