A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

AULA 3 INSTRUÇÕES UTILIZADAS NO MICROCONTROLADOR.

Apresentações semelhantes


Apresentação em tema: "AULA 3 INSTRUÇÕES UTILIZADAS NO MICROCONTROLADOR."— Transcrição da apresentação:

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


Carregar ppt "AULA 3 INSTRUÇÕES UTILIZADAS NO MICROCONTROLADOR."

Apresentações semelhantes


Anúncios Google