2) Recopie d'un port en entrée sur sortie.
;********************************* ;*Recopier le portA sur le PortB * ;********************************* ; fichier 2_recop.asm ; ; Device = 16F84 ; Utilisation du circuit 16F84 ; Horloge = XT ; Déclaration et config du Circuit ; Equivalence registres ;*********************** PORTA equ 0x0005 ; Adresse du porta PORTB equ 0x0006 ; Adresse du portb TRISA equ 0x0085 ; Adresse du registre de direction du portb TRISB equ 0x0086 ; Adresse du registre de direction du porta STATUS equ 0x0003 ; Le bit 5 permet d'acceder à la Banque 1 ou 0 ; ce qui donne acces au TRIS ou au PORT ;*************** ;Initialisation* ;*************** org 00h ; Apres le reset le PC pointe l'adresse 00 goto debut ; On saute les 5 premiers octets car à l'adresse ; 04 on a l'adresse d'interruption ; On prend l'habitude de ne pas ecrire sur ce segment ; en sautant simplement jusqu'apres ce segment org 05h debut clrf PORTB ; Mise a zero des latches de sorties clrf PORTA ; Mise a zero des latches de sorties bsf STATUS,05 ; Selection de Bank 1 pour l'accès au TRIS movlw 00h ; movwf TRISB ; Declaration du portb en sortie movlw 1fh ; movwf TRISA ; Declaration du porta en entree bcf STATUS,05 ; Selection de Bank 0 pour l'accès au PORT ;********************* ;Programme principal * ;********************* boucle movf PORTA,0 ; chargement dans le registre Work du porta movwf PORTB ; chargement du contenu de w dans le fichier PORTB goto boucle ; recopie permanente end1-3) Clignotement de toutes les LED sur un port en sortie à l'aide d'une tempo par boucle.
Giampiero D'AQUINO
Enseignant en Genie Electronique