Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouAurélio Valente Ventura Alterado mais de 8 anos atrás
1
AULA 3 INSTRUÇÕES UTILIZADAS NO MICROCONTROLADOR
2
TRASFERÊNCIA DE DADOS INSTRUÇÃODESCRIÇÃOFLAG AFETADO MOVLW kMove literal para WW = K- MOVWF fMove W para ff =W- MOVF f,dMove f para dd = fz CLRWLimpa WW =0z CLRF fLimpa ff =0z SWAPF f,dInverte o conteúdo entre as partes alta e baixa e guarda o resultado em d f(3:0),(7:4)=F(7:4),(3,0) f = registro entre 0 a 127 (posição de memória) w = registrador work (trabalho) b = bit utilizado pela operação (0 a 7) k = constante entre 0 a 255 d = resultado da operação d = 0, resultado é armazenado em w d = 1, resultado é armazenado no próprio registrador
3
LÓGICAS E ARITMÉTICAS INSTRUÇÃODESCRIÇÃOFLAG AFETADO ADDLW kAdiciona literal a WW= k + WC,DC,Z ADDWF f,dAdiciona W a f e guarda em dd=W + fC,DC,Z SUBLW kSubtrai W de literalW=k - WC,DC,Z SUBWF f,dSubtrai W de f e guarda em dd=k - WC,DC,Z ANDLW kLógica “E” entre k e WW=K AND WZ ANDWF f,dLógica “E” entre f e W e resultado é guardado em dd= f AND WZ IORLW kLógica “OU” entre k e WW=K OU WZ IORWF f,dLógica “OU” entre f e W e o resultado é guardado em dd=K OU WZ XORLW kLógica “OU EXCLUSIVO” entre k e WW=K XOR WZ XORWF f,dLógica “OU EXCLUSIVO” entre f e W, resultado em dd=f XOR WZ INCF f,dIncrementa ff=f +1Z DECF f,dDecrementa ff=f -1Z RLF f,dRotaciona f 1 bit para a esquerda, resultado em dC RRF f,dRotaciona f 1 bit para a direita, resultado em dC COMPF f,dComplementa f (porta lógica NOT), resultado em dZ
4
RLF e RRF
5
DIRECIONAMENTO DO PROGRAMA INSTRUÇÃODESCRIÇÃOFLAG AFETADO BTFSC f,dTesta o bit do registrador e pula a próxima linha se ele for zero Salta se f(b) = 0 BTFSS f,dTesta o bit do registrador e pula a próxima linha se ele for 1 Salta se f(b) = 1 DECFSZ f,dDecrementa f, e pula próxima linha se der zerod=f – 1 Salta se f(b) = 0 INCFSZ f,dIncrementa f e pula a próxima linha de ser zerod=f + 1 Salta se f(b) = 0 GOTO RVai para a rotina RR PC CALL RExecuta a subrotina R (retorna uma linha abaixo ao encontrar o comando RETURN, RETLW) PC TOS R PC RETURNRetorno de subrotinaTOS PC RETLW kRetorno com literal em WK W TOS PC RETFIERetorno de interrupçãoTOS PC 1 GIE
6
OPERAÇÕES SOBRE BITS INSTRUÇÃODESCRIÇÃOFLAG AFETADO BCF f,d Limpa o bit d do registrador fd=0- BSF f,dSeta o bit d do registrador fd=1- OUTRAS INSTRUÇÕES INSTRUÇÃODESCRIÇÃOFLAG AFETADO NOP Nenhuma operação (perde um ciclo de máquina) CLRWDTLimpa o temporizador do watchdog WDT=0 TO=1 PD=1 TO, PD SLEEPModo de economia de energiaWDT=0 TO=1 PD=0 TO, PD
7
EXEMPLOS TRASFERÊNCIA DE DADOS SINTAXE: MOVLW K ---------------------------------------------------- MOVLW B'00001001' ---------------------------------------------------- ANTES DA INTRUÇÃO W=? APÓS A INSTRUÇÃO W=00001001 SINTAXE: MOVWF f ---------------------------------------------------- MOVWF OPTION ---------------------------------------------------- ANTES DA INSTRUÇÃO W=0x9 ANTES DA INSTRUÇÃO OPTION=? ---------------------------------------------------- APÓS A INSTRUÇÃO W=0x9 APÓS A INSTRUÇÃO OPTION=0X9 SINTAXE: MOVF f,d ---------------------------------------------------- MOVF TRISA,0 ---------------------------------------------------- ANTES DA INSTRUÇÃO TRISA=0x7 ANTES DA INSTRUÇÃO W=0x9 ---------------------------------------------------- APÓS A INSTRUÇÃO TRISA=0x7 APÓS A INSTRUÇÃO W=0x7 Move valor para W Move o conteúdo do W para registrador f Move o conteúdo do registrador para W MOVLW K k W MOVWF f w f MOVF f,d f W
8
SINTAXE: SWAPF f,d ----------------------------------------------------------------- SWAPF PORTB ----------------------------------------------------------------- ANTES DA INSTRUÇÃO PORTB=B'00001001' ----------------------------------------------------------------- APÓS A INSTRUÇÃO PORTB=B'10010000' EXEMPLOS TRASFERÊNCIA DE DADOS SINTAXE: CLRW --------------------------------------------- CLRW --------------------------------------------- ANTES DA INTRUÇÃO W=? --------------------------------------------- APÓS A INSTRUÇÃO W=0x00 SINTAXE: CLRF f -------------------------------------------------------- CLRF PORTA -------------------------------------------------------- ANTES DA INTRUÇÃO PORTA=? -------------------------------------------------------- APÓS A INSTRUÇÃO PORTA=?=0x00
9
EXEMPLOS LÓGICAS E ARITMÉTICAS SINTAXE: ADDLW k ---------------------------------------------------- MOVLW.12 ADDLW.6 ---------------------------------------------------- ANTES DA INTRUÇÃO W=? APÓS A INSTRUÇÃO W=00010010
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.