Le but de cette partie sans prétention est juste de donner les bases des PIC 16F84 (ou 16C84). mnemonique | Instructions sur les registres ( octets ) | bits modifies | ADDWF f,d | d:=W+f | C,DC,Z | ANDWF f,d | d:=W AND f | Z | CLRF f | f:=0 | Z | CLRW | W:=0 | Z | COMF f,d | d:=NOT(f) | Z | DECF f,d | d:=f-1 | Z | DECFSZ f,d | d:=f-1 ; Skip if Zero | . | INCF f,d | d:=f+1 | Z | INCFSZ f,d | d:=f+1 ; Skip if Zero | . | IORWF f,d | d:=W OR f | Z | MOVF f,d | d:=f ( permet de savoir si f=0 en faisant MOVF f,1 ) | z | MOVWF f | f:=W | . | NOP | n'effectue aucune opération | . | RLF f,d | d=f SHL 1 | C | RRF f,d | d=f SHR 1 | C | SUBWF f,d | d:= f-W ( en complement à 2 --> d:=f + not (W) +1 ) | C,DC,Z | SWAPF f,d | d:= f[4..7] <--> f[0..3] ( inverse les quartets ) | . | XORWF f,d | d:= W XOR f | Z | |
mnemonique | Instructions sur les registres ( bit par bit ) | bits modifies | BCF f,b | f[b]:=0 ( mets à 0 le bit b de f ) | . | BSF f,b | f[b]:=1 ( mets à 1 le bit b de f ) | . | BTFSC f,b | teste le bit b de f ; Skip if Clear ( 0 ) | . | BTFSS f,b | teste le bit b de f ; Skip if Set ( 1 ) | . |
mnemonique | Instructions de controle | bits modifies | ADDLW k | W:=W+k | C,DC,Z | ANDLW k | W:=W AND k | Z | CALL k | appele un sous programme | . | CLRWDT | remet à 0 le timer du chien de garde | TO,PD | GOTO k | se branche à l'adresse k | . | IORLW k | W:=W OR k | Z | MOVLW k | W:=k | . | RETFIE | fin d'une interruption | . | RETLW k | w:=k , puis effectue un retour de sous programme | . | RETURN | effectue un retour de sous programme | . | SLEEP | place le circuit en mode sommeil et stoppe l'oscillateur | TO,PD | SUBLW k | W:=k-W | C,DC,Z | XORLW k | W:=W XOR k | Z |
d prend pour valeur 0 ou 1. Dans le cas ou d=0, alors d est W. Dans le cas ou d=1, d est f (c'est à dire le registre sur lequel on travail). Je conseille de definir W EQU 0 et F EQU 1 au début du programme et d'utiliser W ou F selon la destination du resultat. Si on utilise les fichiers d'include par défaut (P16F84.inc) lors de la compilation ces valeurs sont déjà definies.
Le datasheet complet du pic16f84 est disponible [ICI].
Date de création : 06/12/2004 @ 04:00
Dernière modification : 11/01/2005 @ 20:02
Catégorie : Electronique
Page lue 10715 fois
Prévisualiser la page
Imprimer la page
|