Vous êtes sur la page 1sur 2

J•****************************************

;*Faire clignoter la LED 1 sur le PortB *


J·****************************************

fichier 4_ledcli.asm

Le clignotement n'est pas visible a l'oeil nu


un oscilloscope sur la sortie clignotante permet de s'assurer du clignotement de la LED
On pourra verifier aussi la mesure du temps à l’oscilloscope
La comparer au calcul effectue

Deviee = 16F84 ; Utilisation du circuit 16F84

Horloge = XT; Déclaration et config du Circuit

, Equivalence registres
•***********************
J

PORTB equ exeee6 ; Adresse du portb


TRISB equ exees6 ; Adresse du registre de direction du porta
STATUS equ exeee3 ; Le bit 5 permet d'acceder à la Banque 1 ou 0
; ce qui donne acces au TRIS ou au PORT

;* Reservation memoire *
•***********************
J

; Les registres occupent la RAM jusqu'en OBh

COMPT equ ech

•***************
J

;Initialisation*
•***************
J

org eeh Apres le reset le PC pointe l'adresse ee

goto debut On saute les 5 premiers octets car à l ’ a d r e s s e


04 on a l'adresse d'interruption
On prend l'habitude de ne pas ecrire sur ce
en sautant simplement jusqu'apres ce segment

org e5h
debut

clrf PORTB ; Mise a zero des latches de sorties


bsf STATUS,05 ; Selection de Bank 1 pour l'accès au TRIS
movlw eeh
movwf TRISB ; Declaration du portb en sortie

bef STATUS,05 Selection de Bank 0 pour l'accès au PORT


,·*********************
;Programme principal *
,·*********************
boucle

clrf PORTB ; Extinction de toutes les LEDS


call tempo
movlw 01h
movwf PORTB ; on inverse l'etat de la LED 1
call tempo
goto boucle ; recopie permanente

J'******************
;Sous Programmes *
J'******************

tempo
movlw 0x00ff ; chargement de COMPT de la valeur maximale
movwf COMPT

delai

decfsz COMPT,1 ; Le temps de decompter 256 valeurs


goto delai ; calcul du temps : 1 instruction =Tquartz/4=1s =1
cycle
; l'instruction decfz est de 2 cycles
; 2 instructions = 3 s repeter 256 fois t=768 s

return

end

Vous aimerez peut-être aussi