Você está na página 1de 2

CONJUNTO DE INSTRUES PARA O PIC16F84

Os arquivos em um PIC16F84 so: Destino 0 = W 1 = F 00 a 06 Registradores de propsitos especiais 07 a 4F Arquivos de propsito geral. A PORTA A tem 5 Pinos RA0 RA4 (RA4 no entrega corrente apenas recebe 25mA) A PORTA B tem 8 Pinos RB0 RB7 Os termos em AZUL so para auxiliar - Literal outro nome para NMERO ou VALOR. Seu valor varia de 00 at FF. W
o Registrador de Trabalho (working) ou acumulador em outros processadores. Nmeros so Carregados em W e a partir de W so MOVidos para outros arquivos (e o valor permanece em W) ADDLW ADDWF ADDWF ANDLW ANDWF ADDWF BCF BSF BTFSC BTFSS CALL CLRF CLRW CLRWDT COMF COMF DECF DECF DECFSZ DECFSZ GOTO IN INCF INCF INCFSZ INCFSZ IORLW IORWF IORWF LOAD MOVLW MOVF MOVF MOVWF NOP OR OUT READ RETLW file,0 file,1 file,0 file,1 file,0 file,1 label 00 to FF file,0 file,1 00 to FF file,0 file,1 file, bit file, bit file, bit file,bit label file Soma literal W ex. ADDLW 84h . No disponvel para o 508A Soma W e f (resultado em W) ex. ADDWF 0C,0 (o arquivo no alterado) Soma W e f (resultado em f) ex. ADDWF 0C,1 E literal com W ex. ANDLW 40h E W com f (resultado em W) ex. ANDWF 0C,0 (o arquivo no alterado) Soma W e f (resultado em f) ex. ADDWF 0C,1 Limpa Bit de f bit0 at bit7 i.e. 0 at 7 ex. BCF 1E,7 Liga Bit de f bit0 at bit7 i.e. 0 at 7 ex. BSF 1F,3 Testa Bit, ignora se limpo bit0 at bit7 i.e. 0 at 7 ex. BTFSC 1A,5 Testa Bit, ignora se ligado bit0 at bit7 i.e. 0 at 7 ex BTFSS 1B,6 Chama uma sub-rotina (faixa: 000 at 3FF) ex. CALL Tone1 Limpa F ex. CLRF 1A Limpa W Limpa o cronmetro Watchdog Complemento de f (resultado em W) ex. COMF 0C,0 (o arquivo no alterado) Complemento de f (resultado em f) ex. COMF 0C,1 Decrementa f (resultado em W) ex. DECF 0D,0 (o arquivo no alterado) Decrementa f (resultado em f) ex. DECF 0D,1 Decremente f, ignora se 0 (resultado em W) ex. DECFSZ 1A,0 (o arquivo no alterado) Decremente f, ignora se 0 (resultado em f) ex. DECFSZ 1A,1 Esta a instruo a usar. Desvio incondicional (faixa: 000 at 3FF) ex. GOTO Tone2

L uma entrada, veja BTFSS 06,0 BTFSS 05,0 etc para linha de entrada, ou MOVF 05,0 MOVF 06,0 file,0 file,1 file,0 file,1 00 to FF file,0 file,1 Incrementa f (resultado em W) ex. INCF 1A,0 (o arquivo no alterado) Incrementa f (resultado em f) ex. INCF 1A,1 Incrementa f, ignora se 0 (resultado em W) ex. INCFSZ 1A,0 (o arquivo no alterado) Incrementa f, ignora se 0 (resultado em f) ex. INCFSZ 1A,1 Inclusive OU literal com W ex. IORLW 20h Inclusive OU W com f (resultado em W) ex. IORWF 0D,0 Inclusive OU W com f (resultado em f) ex. IORWF 0D,1

Carrega um arquivo com um nmero (chamado literal) Uso: MOVLW XX ento MOVWF 1C (ou qualquer outro arquivo) 00 to FF file,0 file,1 file Move literal para W Carrega W com um nmero ex. MOVLW 80h Move f (resultado em W) Copia F em W ex. MOVF 0E,0 Move f (resultado em f) Move F de e para F no coloca F em W ex. MOVF 0E,1 Move W para f Copia W em f ex. MOVWF 0C

Nenhuma operao Veja IORWF e etc acima Para ligar uma sada. Uso: BSF 05,0 BSF 06,0 etc ou MOVF 1C e ento MOVWF 06 L uma linha de entrada. Uso: BTFSS 06,0 ou BTFSS 06,1 ou BTFSS 06,2 etc 00 to FF Retorna com literal em W ex. RETLW 80h

RETURN RLF RLF RRF RRF SLEEP SUBLW SUBWF SUBWF SWAPF SWAPF TRIS TRIS XORLW XORWF XORWF 00 to FF file,0 file,1 file,0 file,1 05h 06h 00 to FF file,0 file,1 file,0 file,1 file,0 file,1

Retorna de sub-rotina. No disponvel para o PIC12C508A. Uso RETLW 00 at FF Desloca a esquerda de f por transporte (resultado em W) Dobra o valor * ex. RLF 1C,0 Desloca a esquerda de f por transporte (resultado em f) Dobra o valor * ex. RLF 1C,1 Desloca a direita de f por transporte (resultado em W) Divide por 2 o valor * ex. RRF 1D,0 Desloca a direita de f por transporte (resultado em f) Divide por 2 o valor * ex. RRF 1D,1 SLEEP Subtrai W de literal. NO subtrai literal de W ex. SUBWF 40h Subtrai W de f (resultado em W) ex. SUBWF 0E,0 (o arquivo no alterado) Subtrai W de f (resultado em f) ex. SUBWF 0E,1 Troca meio-bytes (Nibbles) em f (resultado em W) ex. SWAPF 0C,0(arquivo no alterado) Troca meio-bytes (Nibbles) em f (resultado em f) ex. SWAPF 0C,1 Carrega o arquivo TRISA do registrador W. Alternativa: MOVLW XX e ento MOVWF 05 ** (porta A 5 linhas) Carrega o arquivo TRISB do registrador W. Alternativa: MOVLW XX e ento MOVWF 06 ** (porta B 8 linhas) Exclusive OU literal com W ex. XORLW 40h Exclusive OU W com f (resultado em W) ex. XORWF 0C,0 (o arquivo no alterado) Exclusive OU W com f (resultado em f) ex. XORWF 0C,1

* Deve-se limpar o transporte (carry) antes de RLF ou RRF se o arquivo for lido. Para RLF o valor duplicado, para RRF dividido pela metade. ** Deve se usar BSF 03,5 antes das duas instrues alternativas e BCF03,5 aps as duas instrues para se chegar Bank1 aonde o arquivo de controle de entrada/sada para as duas portas fica localizado

Você também pode gostar