Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Microcontroladores PIC - programa??o pic16f877a, Notas de estudo de Engenharia de Telecomunicações

Duas apostilas sobre microcontroladores PIC. Uma apostila é específica do PIC16F877A

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 03/12/2009

wanessa-tarao-mendes-1
wanessa-tarao-mendes-1 🇧🇷

4.9

(7)

12 documentos

1 / 19

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Coleção TUTPRO
Tutoriais sobre programação de microcontroladores
Solbet Ltda
Expandindo a percepção humana
Neste volume: O conjunto de instruções do PIC16F877
versão 1.0 Campinas 11/11/2007
http://www.solbet.com.br O conjunto de instruções do PIC16F877A 1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13

Pré-visualização parcial do texto

Baixe Microcontroladores PIC - programa??o pic16f877a e outras Notas de estudo em PDF para Engenharia de Telecomunicações, somente na Docsity!

Coleção TUTPRO

Tutoriais sobre programação de microcontroladores

Solbet Ltda

Expandindo a percepção humana

Neste volume: O conjunto de instruções do PIC16F

versão 1.0 Campinas 11/11/

Sumário

  • Recursos necessários para execução deste tutorial...............................................................................
  • Descrição das instruções do PIC16F877 em ordem alfabética...........................................................
    • ADDLW...........................................................................................................................................
    • ADDWF...........................................................................................................................................
    • ANDLW...........................................................................................................................................
    • ANDWF...........................................................................................................................................
    • BCF..................................................................................................................................................
    • BSF..................................................................................................................................................
    • BTFSC.............................................................................................................................................
    • BTFSS..............................................................................................................................................
    • CALL...............................................................................................................................................
    • CLRF...............................................................................................................................................
    • CLRW..............................................................................................................................................
    • CLRWDT.........................................................................................................................................
    • COMF..............................................................................................................................................
    • DECF...............................................................................................................................................
    • DECFSZ...........................................................................................................................................
    • GOTO..............................................................................................................................................
    • INCF................................................................................................................................................
    • INCFSZ..........................................................................................................................................
    • IORLW...........................................................................................................................................
    • IORWF...........................................................................................................................................
    • MOVLW........................................................................................................................................
    • MOVF............................................................................................................................................
    • MOVWF........................................................................................................................................
    • NOP...............................................................................................................................................
    • RETFIE..........................................................................................................................................
    • RETLW..........................................................................................................................................
    • RETURN.......................................................................................................................................
    • RLF................................................................................................................................................
    • RRF................................................................................................................................................
    • SLEEP............................................................................................................................................
    • SUBLW..........................................................................................................................................
    • SUBWF..........................................................................................................................................
    • SWAPF...........................................................................................................................................
    • XORLW.........................................................................................................................................
    • XORWF.........................................................................................................................................

ANDLW

Operação lógica entre o literal k e o registro W Sintaxe [label] ANDLW k Operação (W) .AND. (k) -> (W) Status Z Codificação 0011 1001 kkkk kkkk Descrição Realiza a operação lógica E (AND) entre o conteúdo do registrador W com o literal k. O resultado e colocado no registrador W. Ciclos 1

ANDWF

Soma o registrador W ao registro f Sintaxe [label] ANDWF f,d Operação (W) .AND. (f) -> (dest) Status Z Codificação 0000 0101 dfff ffff Descrição Realiza a operação lógica entre o conteúdo do registrador W e do registrador f.. Se é igual a zero o resultado é colocado no registro W. Se é igual a 1 o resultado é armazenado no registro f Ciclos 1 .

BCF

Limpa um bit do registro f Sintaxe [label] BCF f,b

Operação 0 -> (f) Status nenhum Codificação 0001 00bb bfff ffff Descrição Faz o bit do registro f igual a zero Ciclos 1

BSF

set bit f Sintaxe [label] BSF f,b Operação 1 -> (f) Status nenhum Codificação 0001 01bb bfff ffff Descrição Faz o bit do registro f um Ciclos 1

BTFSC

Teste bit f, pula se zero Sintaxe [label] BTFSC f,b Operação desvia se f for igual a zero Status nenhum Codificação 0001 10bb bfff ffff Descrição Se o bit no registro for igual a zero, pula a próxima instrução. Ciclos 1 se não tiver o desvio, 2 se ocorrer o desvio

Status Z Codificação 0000 0001 1fff ffff Descrição O conteúdo do registro é feito igual a zero e o bit Z é feito igual a um. Ciclos 1

CLRW

Limpa o registro W Sintaxe [label] CLRW Operação 0 -> (W) 1 -> Z Status Z Codificação 0000 0001 0000 0011 Descrição O conteúdo do registro é feito igual a zero e o bit Z é feito igual a um. Ciclos 1

CLRWDT

Limpa o registro do watch dog Sintaxe [label] CLRWDT Operação 0 -> (WDT) 0 -> WDT preescalador 1 -> TO (invertido) 1 -> PD (invertido) Status TO, PD Codificação 0000 0000 0110 0100 Descrição Faz o temporizador watch dog timer

igual a zero. Também zera o preescalador do watch dog. Os bits de estado TO e PD são feitos igual a 1. Ciclos 1

COMF

Complementa a registro f Sintaxe [label] COMF f,d Operação (naof) ->destino Status Z Codificação 0000 1001 dfff ffff Descrição O conteúdo do registrador é complementado. Se for igual a zero o resultado é colocado no registro W. Se for igual a 1 o resultado é colocado no registro . Ciclos 1

DECF

Decrementa f Sintaxe [label] DECF f,d Operação (f) - 1 -> (dest) Status Z Codificação 0000 0011 dfff ffff Descrição Decrementa o registro . Se for igual a zero o resultado será colocado no registro W. Se <d. for igual a 1 o resultado será colocado no registro . Ciclos 1

Status Z Codificação 0000 1010 dfff ffff Descrição Incrementa o conteúdo do registro f. Se for igual a zero o resultado é colocado no registro W. Se for igual a 1 o resultado é colocado no registro f. Ciclos 1

INCFSZ

incrementa f, desvia se zero Sintaxe [label] INCFSZ f, d Operação (f) +1 -> (dest). Desvia se resultado for zero. Status nenhum Codificação 0000 1111 dfff ffff Descrição Incrementa o conteúdo do registrador f. Se for igual a zero, o resultado e colocado em W, se for igual a um o resultado e colocado em f. Se o resultado for zero, a próxima instrução é descartada. Ciclos 1 se não ocorrer o desvio 2 se ocorrer o desvio

IORLW

Ou inclusivo entre k e o registro W Sintaxe [label] IORLW k Operação (W) .OR. (k) -> (W). Status Z Codificação 0011 1000 kkkk kkkk Descrição Realiza a operação lógica OU entre o registrador k e o registro W. O resultado e colocado no registro W. Ciclos 1

IORWF

Ou inclusivo entre W e f Sintaxe [label] IORWF f,d Operação (W) .OR. (f) -> (destino). Status Z

verificarmos se o conteúdo de um registrador e zero, pois o flag Z é alterado. Ciclos 1

MOVWF

Move o registro W para f Sintaxe [label] MOVWF f Operação (W) -> (f) Status nenhum Codificação 0000 0000 1fff ffff Descrição Move dados do registrador W para o registro f Ciclos 1

NOP

nenhuma operação Sintaxe [label] NOP Operação nada Status nenhum Codificação 0000 0000 0000 0000 Descrição não executa nenhuma instrução. Útil como ajuste fino de laços de temporização. Ciclos 1

RETFIE

retorno de interrupção Sintaxe [label] RETFIE

Operação TOS -> (PC) 1 -> GIE Status nenhum Codificação 0000 0000 0000 1001 Descrição O topo do stack (TOS) e carregado no PC. Os interrupts são habilitados de uma forma global pelo flag GIOE. O apontador do stack e diminuído de um (pop). Ciclos 2

RETLW

retorna com um literal em W Sintaxe [label] RETLW k Operação k -> (W) TOS -> (PC) Status nenhum Codificação 11 01xx kkkk kkkk Descrição O registrador W e carregado com o valor k. O contador de programa assume o valor do topo do stack. Eqüivale a uma instrução de retorno de subrotina sendo que o registro W retorna com o valor desejado. Ciclos 2

RETURN

retorna da subrotina Sintaxe [label] RETURN

for igual a zero o resultado e colocado no registrador W, se for igual a 1 o resultado e colocado no registro Ciclos 1

SLEEP

Vai para o modo de repouso (stand by) Sintaxe [label] SLEEP Operação 00 -> WDT 0 -> pré-escalador do WDT 1 -> TO barra 0 -> PD barra Status TO, PD barra Codificação 0000 0000 0110 0011 Descrição O bit de power down, (PD) é feito igual a zero. O bit de estouro de tempo (time -out) e feito igual a 1. Os temporizadores do watch dog timer e seu pré-escalador são zerados. O processador assume o modo SLEEP , com o oscilador parado. Para sair deste modo somente com reset ou interrupt. Ciclos 1

SUBLW

Subtrai de um literal o valor do registrador W Sintaxe [label] SUBLW k Operação k - (W) -> (W) Status C, DC, Z Codificação 0011 110x kkkk kkkk Descrição Subtrai do valor do literal o conteúdo do registrador W. O resultado e colocado em W Ciclos 1

SUBWF Subtrai o registro do conteúdo do registro W. Sintaxe [label] SUBWF f,d Operação (f) - (W) -> (dest) Status (^) C, DC, Z Codificação 0000 0010 dfff ffff Descrição Subtrai do registrador f o conteúdo do registrador W. Se é igual a zero o resultado é colocado no registro W. Se é igual a 1 o resultado é armazenado no registro f Ciclos 1

SWAPF

Inverte bits em f Sintaxe [label] SWAPF f,d Operação (f<3^0) -> (dest(<7.4>) (f<7,4>) -> (dest(<3,0>) Status nenhum Codificação 0000 1110 dfff ffff Descrição Troca de posição os nibles do registrador f. Se é igual a zero o resultado é colocado no registro W. Se é igual a 1 o resultado é armazenado no registro f Ciclos 1

XORWF

Ou exclusivo entre W e f Sintaxe [label] XORWF f,d Operação (W) .XOR. (f) -> (destino). Status Z Codificação 0011 0100 dfff ffff Descrição Realiza a operação lógica OU EXCLUSICO entre o registro f e o registro W. Se ,d. for igual a 0 o resultado e colocado no registro W. Se for igual a 1 o resultado ~e colocado no registro f. Ciclos 1