Escolar Documentos
Profissional Documentos
Cultura Documentos
MICROCHIP
ADDLW
C,DC,Z
1 cycle
Description: Le contenu du registre W est additionn avec les 8 bits de la donne littrale. Le rsultat est plac dans W. Exemple: ETIQ ADDLW ADDLW ADDLW ADDLW 01B ; W = W +(1B)h h'1B' d'27' b'00100111'
ANDLW
1 cycle
Description: ET logique entre le registre W et les 8 bits de la donne littrale. Le rsultat est plac dans W. Exemple: ETIQ ANDLW ANDLW ANDLW ANDLW 0F0 ; W = W .(F0)h : les 4 bits MSB de W sont inchangs h'F0' ; les 4 bits LSB sont forcs "0". d'240' b'11110000'
ADDWF
Add W and F
C,DC,Z
1 cycle
Description: Le contenu du registre W est additionn avec le contenu du registre F (adresse sur 7 bits entre h00 et h7F et slection Bank 0 ou Bank 1 par bit 5 du registre Status). Le rsultat est plac dans W si l'instruction est suivie de "0". Le rsultat est plac dans F si l'instruction est suivie de "1". Exemple: PORTA EQU h'05' ETIQ ADDWF PORTA,0 ; W = W +(PORTA l'adresse 05 hexa)
ANDWF
And W with F
1 cycle
Description: Et logique entre W et F. Le rsultat est plac dans W si l'instruction est suivie de "0". Rsultat dans F si suivie de "1". Exemple: STATUS ETIQ EQU h'03' ANDWF STATUS,0 ; W = W . (STATUS l'adresse hexa 03) ANDWF PORTA,1 ; PORTA = W. (PORTA en h05)
Instructions PIC
BCF
Bit Clear F
EQU h'03' BCF STATUS,7 ; RAZ du bit 7 du registre STATUS.
1 cycle
Description: Le bit en position "i" du registre F est mis "0". Exemple: STATUS ETIQ
BSF
Bit Set F
EQU h'05' BSF PORTA,7 ; Le bit 7 de PORTA est mis "1".
1 cycle
Description: Le bit en position "i" du registre F est mis "1". Exemple: PORTA ETIQ
BTFSC
1 ou 2 cycles
Description: Si le bit "i" du registre F est "1" on excute l'instruction suivante. Si le bit "i" du registre F est "0" on saute l'instruction suivante. Exemple: STATUS ETIQ EQU BTFSC GOTO ADDLW h'03' STATUS,7 ; test du bit 7 du registre STATUS. ERREUR ; si ce bit =1 on va ERREUR. h'E5' ; si ce bit =0 on saute cette ligne: W=W+E5
BTFSS
1 ou 2 cycles
Description: Si le bit "i" du registre F est "0" on excute l'instruction suivante. Si le bit "i" du registre F est "1" on saute l'instruction suivante. Exemple: PORTA ETIQ EQU BTFSS GOTO ADDLW h'05' PORTA,2 ; test du bit 2 de PORTA. SUITE ; si ce bit =0 on va SUITE. h'E5' ; si ce bit =1 on saute cette ligne: W=W+E5
Instructions PIC
CALL
Call Subroutine
2 cycles
Description: Appel un sous programme. L'adresse de retour (PC+1) est range dans la pile. Le compteur ordinal est charg par les 11 bits de l'adresse immdiate. Les bits MSB du PC sont chargs partir du registre PCLATH Exemple: ETIQ CALL SP ; PILE = adresse de ETIQ + 1 et PC= adresse de SP.
CLRF
Clear F
1 cycle
Description: RAZ du registre F. Exemple: PORTA ETIQ EQU h'05' CLRF PORTA ; Le PORTA est mis "0".
CLRW
Clear W
; RAZ du registre W.
1 cycle
CLRWDT
TO,PD
1 cycle
Description: RAZ du Timer de Watchdog et de son pr diviseur. Les bits TO et PD du registre STATUS sont mis "1". Exemple: ETIQ CLRWDT ; RAZ du compteur Watchdog et de son pr diviseur.
COMF
Complement F
1 cycle
Description: Le contenu du registre F est complment. Le rsultat est plac dans W si l'instruction est suivie de "0". Rsultat dans F si elle est suivie de "1". Exemple: PORTA ETIQ
Instructions PIC
DECF
Decrement F
1 cycle
Description: Dcrmente le registre F. Le rsultat est plac dans W si l'instruction est suivie de "0". Rsultat dans F si elle est suivie de "1". Exemple: CONT ETIQ EQU h'0F' ; Case mmoire en RAM DECF CONT,1 ; Le compteur en RAM est dcrment de 1.
DECFSZ
1 ou 2 cycles
Description: Dcrmente le registre F. Le rsultat est plac dans W si l'instruction est suivie de "0". Rsultat dans F si elle est suivie de "1". Si le rsultat est # 0, l'instruction suivante est xcute. Si le rsultat est 0, on saute l'instruction suivante. Exemple: CONT ETIQ EQU DECFSZ GOTO GOTO h'0F' ; Case mmoire en RAM CONT,1 ; Le compteur en RAM est dcrment. ETIQ ; CONT est # de 0, on continu. FIN ; CONT = 0 on viens cette instruction.
GOTO
Unconditional Branch
2 cycles
Description: Branchement inconditionnel une adresse. Les 11 bits de poids faibles du compteur ordinal sont chargs par la valeur immdiate de l'tiquette. Les 2 bits de poids forts sont les bits 3 et 4 de PCLATH.
INCF
Increment F
1 cycle
Description: Incrmente le registre F. Le rsultat est plac dans W si l'instruction est suivie de "0". Rsultat dans F si elle est suivie de "1". Exemple: CONT ETIQ
Instructions PIC
INCFSZ
1 ou 2 cycles
Description: Incrmente le registre F. Le rsultat est plac dans W si l'instruction est suivie de "0". Rsultat dans F si elle est suivie de "1". Si le rsultat est # 0, l'instruction suivante est xcute. Si le rsultat est 0, on saute l'instruction suivante. Exemple: CONT ETIQ EQU INCFSZ GOTO GOTO h'0F' CONT,1 ETIQ FIN ; Case mmoire en RAM ; Le compteur en RAM est Incrment. ; CONT est # de 0, on continu. ; CONT = 0, on viens cette instruction.
IORLW
1 cycle
Description: Ou logique entre le registre W et les 8 bits de la donne littrale. Le rsultat est plac dans W. Exemple: ETIQ IORLW IORLW 0F0 ;4 bits MSB de W forcs a"1" et 4 bits LSB inchangs. h'F0' ; idem
IORWF
Inclusive OR W with F
1 cycle
Description: Ou logique entre le registre W et le registre F. Le rsultat est plac dans W si l'instruction est suivie de "0". Rsultat dans F si elle est suivie de "1". Exemple: PORTA EQU h'05' IORWF PORTA,1 ; PORTA = W + PORTA
MOVF MOVFW
Move F
1 cycle
Description: Le contenu du registre F est dplac soit dans W si l'instruction est suivie de "0" soit dans F lui mme si elle est suivie de "1" ou de rien. (utilis pour tester si un registre F est nul, car le bit Z est positionn aprs cette instruction). Exemple: PORTA idem idem EQU h'05' MOVF MOVFW MOVF MOVF PORTA,0 PORTA PORTA,1 PORTA
5
; contenu du PORTA charg dans W. ; contenu du PORTA charg dans W. ; PORTA est charg sur lui mme. ; PORTA est charg sur lui mme.
D. MENESPLIER ENAC/ELE 2000
Instructions PIC
MOVLW
Exemple: ETIQ
Move Literal to W
MOVLW MOVLW 0A8 ; W = A8. h'A8' ; idem.
1 cycle
MOVWF
Move W to F
1 cycle
Description: Le contenu du registre W est dplac dans le registre F. Exemple: ETIQ MOVLW h'55' MOVWF PORTA ;W=55 ; PORTA = 55 et W =55 aussi car inchang.
NOP
No Operation
1 cycle
OPTION
1 cycle
Description: Le contenu du registre W est plac dans le registre OPTION. Tant que le registre OPTION est un registre criture/ lecture il est recommand de l'adresser directement. Cette instruction sert la compatibilit du code pour les PIC de la srie 16C5x Pour maintenir la compatibilit avec les futurs microcontrleurs PIC de la srie 16Cxx, il est recommand de ne pas utiliser cette instruction.
RETFIE
2 cycles
Description: Au retour d'une interruption le compteur ordinal est charg par l'adresse de retour qui avait t sauve dans la pile. Les interruptions sont autorises par criture du bit GIE "1" du registre INTCON.
Instructions PIC
RETLW
2 cycles
Description: Le compteur ordinal est charg avec l'adresse qui avait t sauvegarde dans la pile ( adresse de retour) au moment de l'appel un sous programme et le registre W est charg par les 8 bits de la donne littrale. Exemple: ETIQ MOVLW h'03' ; W = 03 CALL TABLE ; appel sous programme Suite du programme ; W=K4
; ***** Zone sous programme *************** TABLE ADDWF PC,1 ; PC= PC + W = PC + 3 RETLW K1 RETLW K2 RETLW K3 RETLW K4 ; on retourne au prog pricipal et W=K4 RETLW K5
RETURN
2 cycles
Description: Au retour d'un sous programme, le compteur ordinal est charg par l'adresse sauvegard dans la pile ( adresse de retour). Exemple: ETIQ RETURN ; PC = PILE
RLF
Description:
1 cycle
Le contenu du registre F est dcal de 1 bit vers la gauche travers le flag de Carry. Le rsultat est plac dans W si l'instruction est suivie de "0". Rsultat dans F si elle est suivie de "1". Exemple: ETIQ MOVLW MOVWF RLF b'11100110' REG REG,1 ; W=11100110 ; REG = 11100110 et supposons C=0 ; REG = 11001100 et C
Instructions PIC
RRF
Description:
1 cycle
Le contenu du registre F est dcal de 1 bit vers la droite travers le flag de Carry. Le rsultat est plac dans W si l'instruction est suivie de "0". Rsultat dans F si elle est suivie de "1". Exemple: ETIQ MOVLW MOVWF RRF b'11100110' REG REG,1 ; W=11100110 ; REG = 11100110 et supposons C=0 ; REG = 01110011 et C=0
SLEEP
Sleep
TO,PD
1 cycle
Description: Dans le registre STATUS: le bit PD est mis "0" et le bit TO est mis "1". Le Timer du Watchdog et son prdiviseur sont mis "0". L'oscillateur du processeur est stopp et le micro est dans le mode sommeil. Exemple: ETIQ SLEEP
SUBLW
C,DC,Z
1 cycle
Description: Le registre W est retranch aux 8 bits de la donne littrale par la mthode du complment 2. Le rsultat est plac dans le registre W. Exemple: EX1 MOVLW SUBLW EX2 MOVLW SUBLW EX3 MOVLW SUBLW h'01 h'02' h'02 h'02' h'03' h'02' ; W = 01 ; W = 02 - 01 = 01. Et C = 1 car rsult positif et Z=0 ; W = 02 ; W = 02 - 02 = 00. Et Z = 1 car rsult nul et C=1 ; W = 03 ; W = 02 - 03 = FF. Et C=0 car rsult ngatif et Z=0
Instructions PIC
SUBWF
Substract W from F
C,DC,Z
1 cycle
Description: Le registre W est retranch au registre F par la mthode du complment 2. Le rsultat est plac dans le registre W si l'instruction est suivie d'un "0". Le rsultat sera plac dans F si on fait suivre l'instruction d'un "1". Exemple: EX1 MOVLW SUBWF EX2 MOVLW SUBWF EX3 MOVLW SUBWF h'01 MEM,1 h'02 MEM,1 h'02' MEM,1 ; W = 02 et supposons MEM=03 ; MEM = 03 - 02 = 01. Et C = 1 et Z = 0 ; W = 02 et supposons MEM=02 ; MEM = 02 - 02 = 00. Et C = 1 et Z = 1 ; W = 02 et supposons MEM= 01 ; MEM = 01 - 02 = FF. Et C = 0 et Z = 0
SWAPF
Swap Nibbles in F
1 cycle
Description: Inversion des 4 bits LSB avec les 4 bits MSB du registre F. Si l'instruction est suivie d'un "0" le rsultat est plac dans W et il est plac dans F si elle est suivie d'un "1". Exemple: EX1 MOVLW MOVWF SWAPF h'A5' ; W = A5 MEM ; MEM=A5 MEM,0 ; W= 5A et MEM =A5
XORLW
1 cycle
Description: Ou exclusif entre W et les 8 bits de la donne littrale. Le rsultat est plac dans W. Exemple: EX1 MOVLW XORLW h'B5' h'AF' ; W = B5 ; W= 1A
XORWF
Exclusive OR with F
1 cycle
Description: Ou exclusif entre W et le registre F. Le rsultat est plac dans W si l'instruction est suivie de "0". Rsultat dans F si elle est suivie de "1". Exemple: ETIQ MOVLW XORWF h'B5' ; W = B5 et supposons que REG = AF REG,1 ; REG = 1A et W inchang
Instructions PIC
Code Opration
6 bits
Adresse du registre F
7 bits
Code Opration
4 bits
Adresse du registre F
N du bit = 3 bits
7 bits
Code Opration
6 bits
Valeur immdiate
8 bits
Code Opration
3 bits
Valeur immdiate
11 bits
D. MENESPLIER ENAC/ELE 2000
Instructions PIC
10
INSTRUCTIONS MOVE
SOURCE
DESTINATAIRE
MOVWF
REGISTRE
REGISTRE
MOVF MOVF
REGISTRE,1 REGISTRE
= REGISTRE
REGISTRE
MOVF MOVFW
REGISTRE,0 REGISTRE
= REGISTRE
MOVLW
VALEUR
VALEUR
Instructions PIC
11