F5HLA

http://f4hla.free.fr/

PIC - Datasheet (Electronique)

Le but de cette partie sans prétention est juste de donner les bases des PIC 16F84 (ou 16C84).
mnemoniqueInstructions sur les registres ( octets )bits modifies
ADDWF f,dd:=W+fC,DC,Z
ANDWF f,dd:=W AND fZ
CLRF ff:=0Z
CLRWW:=0Z
COMF f,d d:=NOT(f) Z
DECF f,dd:=f-1Z
DECFSZ f,dd:=f-1 ; Skip if Zero.
INCF f,dd:=f+1Z
INCFSZ f,dd:=f+1 ; Skip if Zero.
IORWF f,dd:=W OR fZ
MOVF f,dd:=f ( permet de savoir si f=0 en faisant MOVF f,1 )z
MOVWF ff:=W.
NOPn'effectue aucune opération.
RLF f,dd=f SHL 1 C
RRF f,dd=f SHR 1 C
SUBWF f,dd:= f-W ( en complement à 2 --> d:=f + not (W) +1 )C,DC,Z
SWAPF f,dd:= f[4..7] <--> f[0..3] ( inverse les quartets ).
XORWF f,dd:= W XOR fZ

mnemoniqueInstructions sur les registres ( bit par bit )bits modifies
BCF f,bf[b]:=0 ( mets à 0 le bit b de f ).
BSF f,bf[b]:=1 ( mets à 1 le bit b de f ).
BTFSC f,bteste le bit b de f ; Skip if Clear ( 0 ).
BTFSS f,bteste le bit b de f ; Skip if Set ( 1 ).

mnemoniqueInstructions de controlebits modifies
ADDLW kW:=W+kC,DC,Z
ANDLW kW:=W AND kZ
CALL kappele un sous programme.
CLRWDTremet à 0 le timer du chien de gardeTO,PD
GOTO kse branche à l'adresse k.
IORLW kW:=W OR kZ
MOVLW kW:=k.
RETFIEfin d'une interruption.
RETLW kw:=k , puis effectue un retour de sous programme.
RETURNeffectue un retour de sous programme.
SLEEPplace le circuit en mode sommeil et stoppe l'oscillateurTO,PD
SUBLW kW:=k-WC,DC,Z
XORLW kW:=W XOR kZ

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].