Le PIC16F84 Exemples
Programmation des ports
- C'est un programme très simple que l'on peut utiliser pour vérifier le bon
fonctionnement d'une carte. On le retrouve aussi bien sûr inclus dans des programmes bien plus
longs.
Le CPU lit en permanence le port A programmé en entrées ( 5 fils seulement, les 3 autres 7
6 5 sont lus comme des zéros.
On notera surtout la position des instructions et directives en seconde colonne, seuls les
labels occupent la première colonne , excepté les commentaires débutant par ; qui peuvent être
placés n'importe ou.
En absence de la directive #include "p16F84" le programme peut fonctionner à condition de
définir les termes utilisés par
STATUS EQU 03
TRISA EQU 05
TRISB EQU 06
RP0 EQU 5
Ces directives étant placées en première colonne. Le ligne __CONFIG peut également être omise si
le programmateur permet de choisir les fusibles .
Title'Exemple1'
;lit l'état du port A et le transfert sur le port B
;PortA (5 fils seulement) est en entrèe PortB en sortie
;les fils 7 à 5 de PortA seront lus comme des 0
;soit TRISA=B'11111111' , TRISB=B'00000000'
;l'oscillateur est de type Quartz 4Mhz (XT)
;le chien de garde non utilisé et le retard au Power-on activé
List p=16F84,f=INHX8M
#include "p16F84.INC"
__config 0x3FF1 ;définition des fusibles
ORG 0
BSF STATUS,RP0 ;sélection bank1 pour accès à TRIS
MOVLW 0xFF
MOVWF TRISA
CLRF TRISB
BCF STATUS,RP0 ;retour en bank 0
Boucle MOVF PORTA,0 ;le contenu du PORTA est chargé dans W
MOVWF PORTB ;contenu de W basculé dans PORTB
GOTO BOUCLE
end