Microcontrolador MSP430G2xxx:

Tamanho: px
Começar a partir da página:

Download "Microcontrolador MSP430G2xxx:"

Transcrição

1 Microcontrolador MSP430G2xxx: Microcontrolador da Texas Instruments CPU de 16 bits com arquitetura RISC Arquitetura von-neumann com barramento de dados e barramento de endereços: MDB - Memory Data Bus MAB - Memory Address Bus Sistema de Clock flexível Aplicações de baixo consumo

2 Arquitetura do MSP430G2xxx

3 Arquitetura do MSP430G2x53 Encapsulamento de 28 Pinos

4

5 Mapeamento de Memória (Address Space) do MSP430 0C000h 256 bytes Information Memory MSP430G bytes 03FFh

6 Direção do Pino Função do Pino Pull-up Pull-down Saída Entrada

7 Registrador de Direção dos pinos: PxDIR Cada bit dos registradores PxDIR (P1DIR ou P2DIR) define a direção do pino correspondente da Porta de Entrada/Saída Bit = 0, o pino é configurado como entrada Bit = 1, o pino é configurado como saída Exemplo: P1DIR P1.7, P1.5, P1.4, P1.2 e P1.1 : Entrada P1.6, P1.3 e P1.0 : Saída

8 Registrador para habilitar Pull-up/Pull-down: PxREN Cada bit dos registradores PxREN (P1REN ou P2REN) habilita ou desabilita o resistor de pull-up/pull-down no pino correspondente da Porta de Entrada/Saída Bit = 0, resistor de pull-up/pull-down habilitado Bit = 1, resistor de pull-up/pull-down desabilitado Exemplo: P2REN Resistor de pull-up/pull-down do pino P2.3 habilitado

9

10 Registrador de entrada: PxIN Cada bit dos registradores PxIN reflete o estado do pino correspondente da Porta de Entrada/Saída, quando o mesmo for configurado como entrada. Bit = 0, o pino está no nível baixo Bit = 1, o pino está no nível alto

11 Registrador de saída: PxOUT Cada bit dos registradores PxOUT define o valor a ser colocado no pino correspondente da Porta de Entrada/Saída, quando o mesmo for configurado como saída e o resistor de pull-up / pull-down estiver desabilitado. Bit = 0, o pino é colocado no nível baixo Bit = 1, o pino é colocado no nível alto Se o resistor de pull-up / pull-down estiver habilitado cada bit do registrador PxOUT seleciona se o resistor é colocado em pull-up ou pull-down. Bit = 0, coloca o resistor em pull-down Bit = 1, coloca o resistor em pull-up

12 Watchdog Timer - WDT O Watchdog timer+ counter (WDTCNT) é um contador de 16 bits que não é acessível diretamente através de software. O WDTCNT é controlado através do registrador WDTCTL. A fonte de clock para o WDTCNT pode ser o ACLK ou o SMCLK, selecionável através do bit WDTSSEL. Após a condição de Reset, o módulo WDT é automaticamente configurado no modo Watchdog, com clock de 32768Hz. O usuário deve alterar o registrador WDTCTL para desabilitar, configurar ou zerar o WDT para evitar um novo reset no sistema.

13 Watchdog Timer - WDT Registrador WDTCTL

14 CPU do MSP430:

15 Registrador R0: Program Counter (PC) O Program Counter (PC) é o ponteiro para a próxima instrução a ser executada. Cada instrução do MSP430 utiliza um número par de bytes (2, 4 ou 6 bytes), e o PC é incrementado de acordo com o número de bytes da instrução. O alinhamento das instruções é feito em words, assim o Program Counter (PC) é alinhado em endereços pares.

16 Registrador R1: Stack Pointer (SP) O Stack Pointer (SP) é utilizado pela CPU para armazenar o endereço de retorno de uma sub-rotina ou de uma interrupção. O Stack Pointer é pré-decrementado e pós-incrementado: Armazenar um endereço na pilha: o SP é inicialmente decrementado e após o endereço é colocado na pilha. Retirar um endereço da pilha: o endereço é retirado da pilha e o SP é incrementado. O Stack Pointer pode ser utilizado como operando em qualquer instrução. O Stack Pointer deve ser inicializado pelo usuário, em um endereço da RAM (normalmente o endereço mais alto da RAM).

17 Registrador R2: Registrador de Estado (Status Register-SR)

18 Registradores de Propósito Geral: R4 a R15 Os 12 Registradores, R4 a R15, são de Propósito Geral. Todos eles podem ser utilizados como registradores de dados, como ponteiros de endereços ou indexadores, podendo ser acessados através de instruções do tipo word ou byte. Transferência Registrador-Byte Transferência Byte-Registrador

19 Reset e inicialização do microcontrolador O Power On Reset(POR) é gerado por um dos seguintes eventos: Energização do dispositivo; Nível baixo no sinal RST/NMI, quando configurado como RESET; Uma condição de nível baixo no SVS.

20 Condições iniciais após o Power On Reset Após o Power On Reset as condições iniciais do MSP430 são: O pino RST/NMI é configurado no modo RESET; Os pinos de I/O são configurados como entrada; Os periféricos e registradores são configurados no modo default; O Registrador de Estado(SR) é resetado; O Watchdog Timer é ativado no modo Watchdog O PC é carregado com o valor armazenado no endereço 0xFFFE (Vetor de reset)

21 Após o Reset o usuário deve inicializar o MSP430 de acordo com os requisitos da aplicação: Inicializar o Stack Pointer(SP), usualmente no final da RAM; Configurar ou desativar o Watchdog ; Configurar os periféricos de acordo com os requisitos da aplicação; Configurar as portas de I/O

22 Anatomia de uma listagem de programa assembly #include "msp430g2553.h" org 0xfffe bc16 main rseg code main: mov.w #0x03FF,SP mov.w #WDTPW+WDTHOLD,&WDTCTL bis.b # b,&P1DIR bic.b # b,&P1OUT loop: xor.b #0x01,&P1OUT mov.w #50000,R15 delay: dec.w R15 jnz delay jmp loop END

23 Diretiva do Assembly Anatomia de uma listagem de programa assembly /* Programa para inverter o estado do LED vermelho da placa MSP-EXP430G2 com delay entre as mudanças de estado do led */ #include "msp430.h" // Definicões do MSP430 org 0xFFFE bc16 main RSEG CODE main: mov.w #0x0400,SP ; Inicializar stack pointer Comentários Comentários Label (Rótulo) mov.w #WDTPW+WDTHOLD,&WDTCTL ; Desativar WDT bis.b # b,&P1DIR ; Pino P1.0 como saída bic.b # b,&P1OUT ; Pino P1.0 = 0 loop: xor.b #0x01,&P1OUT ; Inverter o pino P1.0 mov.w #50000,R15 ; Carregar registrador R15 delay: dec.w R15 ; Decrementar R15 jnz delay ; Desvia para delay se R15 # 0 Mnemônico jmp loop ; Desvia para loop da Instrução Operandos de Máquina END

24 Conjunto de Instruções do MSP430 O MSP430 possui um Conjunto de Instruções contendo 27 instruções nativas e 24 instruções emuladas. Cada uma das 27 instruções nativas possui um Código de Operação que pode ser decodificado pela CPU. As instruções emuladas são instruções que facilitam a codificação e a leitura do programa, porém não possuem um Código de Operação específico. Essas instruções são automaticamente substituidas pelo montador (Assembler), por instruções nativas equivalentes. O Conjunto de Instruções nativas do MSP430 está dividido em 3 grupos: Instruções com dois operandos Instruções com um operando Instruções de desvio

25 Conjunto de Instruções nativas do MSP430 Instruções com 2 operandos: Mnemônico Operandos Operação MOV[.W/.B] src,dst src dst ADD[.W/.B] src,dst src + dst dst ADDC[.W/.B] src,dst src + dst + C dst SUB[.W/.B] src,dst dst src dst SUBC[.W/.B] src,dst dst src C dst CMP[.W/.B] src,dst dst src DADD[.W/.B] src,dst src + dst + C dst (decimal) BIT[.W/.B] src,dst src.and. dst BIC[.W/.B] src,dst zerar bits em dst BIS[.W/.B] src,dst setar bits em dst XOR[.W/.B] src,dst src.xor. dst dst AND[.W/.B] src,dst src.and. dst dst

26 Conjunto de Instruções nativas do MSP430 Instruções com 1 operando: Mnemônico Operando Operação RRC[.W/.B] dst rotacionar dst com o Carry RRA[.W/.B] dst rotacionar dst sem o Carry PUSH[.W/.B] src colocar src na pilha SWPB dst trocar bytes de dst CALL dst chamada a sub-rotina RETI retorno de interrupção SXT dst propagar bit de sinal

27 Conjunto de Instruções nativas do MSP430 Instruções de desvio: Mnemônico Operando Operação JEQ/JZ label desvia para label se Z = 1 JNE/JNZ label desvia para label se Z = 0 JC label desvia para label se C = 1 JNC label desvia para label se C = 0 JN label desvia para label se N = 1 JGE label desvia para label se (N.xor. V) = 0 JL label desvia para label se (N.xor. V) = 1 JMP label desvia incondicionalmente para label

28 Modos de Endereçamento Código da operação Operando de Origem Operando de Destino O MSP430 possui 7 modos de endereçamento para o operando de origem e 4 modos de endereçamento para o operando de destino. Modos de Endereçamento: Registrador Indexado Simbólico Absoluto Indireto Indireto com auto-incremento Imediato Operando de Origem e de Destino Operando de Origem

29 Modo de Endereçamento a Registrador MOV.W R10, R11 mover o conteúdo do Registrador R10 para o Registrador R11 Antes Depois R10: 0x1234 R10: 0x1234 R11: 0x80A5 R11: 0x1234 MOV.B R10, R11 Antes Depois R10: 0x1234 R10: 0x1234 R11: 0x80A5 R11: 0x0034

30 Modo de Endereçamento Indexado MOV.W 6(R10), 10(R11) mover o conteúdo do endereço de memória 6 + (R10) para o endereço de memória 10 + (R11) Antes Depois R10: R11: 0xC01A 0x0200 C022 C021 C020 C01E C01C C01A 020A xA002 0x4567 0x1B0A 0x025C 0x1BC0 0x0135 0x1234 6(R10) +6 10(R11) +10 C022 C021 C020 C01E C01C C01A 020A xA002 0x4567 0x1B0A 0x4567 0x1BC0 0x0135 0x1234

31 Modo de Endereçamento Simbólico MOV.W origem, destino mover o conteúdo do endereço simbólico de memória origem para o endereço simbólico de memória destino. Antes Depois destino origem E 020C 020A x1506 0x1B50 0xFFC7 0x0201 0x025C 0x1BC0 0x4567 0x E 020C 020A x1506 0x1B50 0xFFC7 0x4567 0x025C 0x1BC0 0x4567 0x1234

32 Modo de Endereçamento Absoluto MOV.W &0x0206, &0x0210 mover o conteúdo do endereço de memória 0x0206(origem) para o endereço de memória 0x0210(destino). Antes Depois destino origem E 020C 020A x1506 0x1B50 0xFFC7 0x0201 0x025C 0x1BC0 0x4567 0x E 020C 020A x1506 0x1B50 0xFFC7 0x4567 0x025C 0x1BC0 0x4567 0x1234

33 Modo de Endereçamento Indireto 0(R11) mover o conteúdo do endereço de memória apontado pelo registrador R10, para o endereço de memória 0 + (R11) Antes Depois R10: R11: 0xC01E 0x0208 C024 C022 C020 C01E C01C C01A 020A xA002 0x4567 0x1234 0x0C05 0x025C 0x1BC0 0x3001 0x015A C024 C022 C020 C01E C01C C01A 020A xA002 0x4567 0x1234 0x0C05 0x025C 0x1234 0x3001 0x015A R10: R11: 0xC01E 0x0208

34 Modo de Endereçamento Indireto com auto-incremento 0(R11) mover o conteúdo do endereço de memória apontado pelo registrador R10, para o endereço de memória 0 + (R11). Após a operação, o registrador R10 é acrescido de 1 ou 2 conforme a operação seja tipo.b/.w Antes Depois R10: R11: 0xC01E 0x0208 C024 C022 C020 C01E C01C C01A 020A xA002 0x4567 0x1234 0x0C05 0x025C 0x1BC0 0x3001 0x015A C024 C022 C020 C01E C01C C01A 020A xA002 0x4567 0x1234 0x0C05 0x025C 0x1234 0x3001 0x015A R10: R11: 0xC020 0x0208

35 Modo de Endereçamento Imediato MOV.W #0x6789, &0x0210 mover o valor 0x6789 para o endereço de memória 0x0210. Antes Depois E 020C 020A x1506 0x1B50 0xFFC7 0x0201 0x025C 0x1BC0 0x4567 0x E 020C 020A x1506 0x1B50 0xFFC7 0x6789 0x025C 0x1BC0 0x4567 0x1234

36 Instruções nativas do MSP430 MOV[.W/.B] src, dst (move source to destination) src dst Descrição: o operando de origem é movido para o operando de destino. O operando de origem não é modificado. Bits do Registrador de Estado afetados: nenhum Exemplo: MOV.B #0x47, &P2OUT MOV.B &P1IN, R12 0(R15)

37 Instruções nativas do MSP430 JMP label (Jump unconditionally) desvia para label Descrição: é executado um desvio incondicional para o endereço(label) especificado. Bits do Registrador de Estado afetados: nenhum Exemplo: JMP label

38 Instruções nativas do MSP430 ADD[.W/.B] src, dst (Add source to destination) src + dst dst Descrição: o operando de origem é somado ao operando de destino e o resultado fica armazenado no operando de destino. O operando de origem não é modificado. Bits do Registrador de Estado afetados: N = 1 se o resultado for negativo N = 0 se o resultado for positivo Z = 1 se o resultado for zero Z = 0 se o resultado for diferente de zero C = 1 se houve a ocorrência de carry na operação C = 0 se não houve a ocorrência de carry na operação V = 1 se ocorreu um estouro(overflow) V = 0 se não ocorreu estouro Exemplo: ADD.W #1234, R6 ADD.W ADD.W R6, R13 R13, soma

39 Instruções nativas do MSP430 ADDC[.W/.B] src, dst (Add source and carry to destination) src + dst + C dst Descrição: o operando de origem mais o bit de Carry são somados ao operando de destino e o resultado fica armazenado no operando de destino. O operando de origem não é modificado. Bits do Registrador de Estado afetados: N, Z, C, V Exemplo: ADDC.B #45, R6 ADDC.W R5, R10 soma

40 Instruções nativas do MSP430 DADD[.W/.B] src, dst (Source and carry added decimally to destination) src + dst + C dest Descrição: o operando de origem mais o bit de Carry são somados ao operando de destino e o resultado fica armazenado no operando de destino. A operação é feita em BCD. O operando de origem não é modificado. Bits do Registrador de Estado afetados: N, Z, C Exemplo: DADD.W #0x1234, R5 20(R8) DADD.B #0x08, R7

41 Instruções nativas do MSP430 BIC[.W/.B] src, dst (Clear bits in destination).not. src.and. dst dst Descrição: é realizada uma operação lógica AND entre o complemento do operando de origem e o operando de destino e o resultado fica armazenado no operando de destino. O operando de origem não é modificado. Bits do Registrador de Estado afetados: nenhum Exemplo: BIC.W #0x040F, R5 BIC.W R8, 20(R12) &P1OUT

42 Instruções nativas do MSP430 AND[.W/.B] src, dst (source AND destination) src.and. dst dst Descrição: é realizada uma operação lógica AND entre os operandos e o resultado fica armazenado no operando de destino. O operando de origem não é modificado. Bits do Registrador de Estado afetados: N, Z, C, V Exemplo: AND.B #5A, R5 AND.W R8, 20(R12) &P1OUT

43 Instruções nativas do MSP430 BIS[.W/.B] src, dst (Set bits in destination) src.or. dst dst Descrição: é realizada uma operação lógica OR entre o operando de origem e o operando de destino e o resultado fica armazenado no operando de destino. O operando de origem não é modificado. Bits do Registrador de Estado afetados: nenhum Exemplo: BIS.W #0x0F15, R5 BIS.W R10, 40(R15) BIS.B #0x20, &P1OUT

44 Instruções nativas do MSP430 BIT[.W/.B] src, dst (Test bits in destination) src.and. dst Descrição: é realizada uma operação lógica AND entre o operando de origem e o operando de destino. O resultado afeta somente os flags do Registrador de Estado. Nenhum dos operandos é modificado. Bits do Registrador de Estado afetados: N, Z, C, V Exemplo: BIT.W #0x0F00, R5 10(R15) BIT.B #0x08, &P1IN

45 Instruções nativas do MSP430 CALL dst (Call subroutine) dst tmp SP 2 SP tmp PC Empilha o endereço de retorno Coloca no PC o endereço de desvio Descrição: uma chamada a sub-rotina pode ser feita para qualquer endereço dentro dos 64kB do address space. Qualquer modo de endereçamento pode ser utilizado. Bits do Registrador de Estado afetados: nenhum Exemplo: CALL #calcular CALL 40(R5)

46 Instruções nativas do MSP430 CMP[.W/.B] src, dst (Compare source and destination) dst src Descrição: o operando de origem é subtraído do operando de destino. O resultado afeta somente os flags do Registrador de Estado. Nenhum dos operandos é modificado. Bits do Registrador de Estado afetados: N, Z, C, V Exemplo: CMP.W #0x1234, R5 10(R15) CMP.B #0x08, &P1IN

47 Instruções nativas do MSP430 JC label (Jump if carry set) JHS label (Jump if higher or same) desvia se Carry = 1 Descrição: o estado do bit de Carry verificado. Se C = 1, desvia para o endereço (label) especificado. Se C = 0, a instrução seguinte ao JC é executada. Bits do Registrador de Estado afetados: nenhum Exemplo: JC label JHS label

48 Instruções nativas do MSP430 JEQ JZ label label desvia se Z = 1 Descrição: o estado do bit de Zero(Z) é verificado. Se Z = 1, desvia para o endereço (label) especificado. Se Z = 0, a instrução seguinte é executada. Bits do Registrador de Estado afetados: nenhum Exemplo: JEQ label JZ label

49 Instruções nativas do MSP430 JGE label (Jump if greater or equal) desvia se (N.XOR. V) = 0 Descrição: os estados dos bits N e V são verificados. Se os dois bits forem iguais, ocorre o desvio para o endereço (label) especificado. Se os dois bits forem diferentes, a instrução seguinte é executada. Bits do Registrador de Estado afetados: nenhum Exemplo: JGE label

50 Instruções nativas do MSP430 JL label (Jump if less) desvia se (N.XOR. V) = 1 Descrição: os estados dos bits N e V são verificados. Se os dois bits forem diferentes, ocorre o desvio para o endereço (label) especificado. Se os dois bits forem iguais, a instrução seguinte é executada. Bits do Registrador de Estado afetados: nenhum Exemplo: JL label

51 Instruções nativas do MSP430 JN label (Jump if negative) se N = 1, desvia para label Descrição: se o bit N do Registrador de Estado estiver setado, é realizado um desvio para o endereço(label) especificado. Se o bit N estiver zerado, a instrução seguinte é executada. Bits do Registrador de Estado afetados: nenhum Exemplo: JN label

52 Instruções nativas do MSP430 JNC label (Jump if carry not set) JLO label (Jump if lower) se C = 0, desvia para label Descrição: se o bit C do Registrador de Estado estiver zerado, é realizado um desvio para o endereço(label) especificado. Se o bit C estiver setado, a instrução seguinte é executada. Bits do Registrador de Estado afetados: nenhum Exemplo: JNC label JLO label

53 Instruções nativas do MSP430 JNE label (Jump if not equal) JNZ label (Jump if not zero) se Z = 0, desvia para label Descrição: se o bit Z do Registrador de Estado estiver zerado, é realizado um desvio para o endereço(label) especificado. Se o bit Z estiver setado, a instrução seguinte é executada. Bits do Registrador de Estado afetados: nenhum Exemplo: JNE label JNZ label

54 Instruções nativas do MSP430 PUSH[.W/.B] src (Push word/byte onto stack) src Descrição: o Stack Pointer(SP) é decrementado por 2 e, após isso, o operando é movido para o endereço de memória RAM apontado pelo SP (TOS Topo da Pilha) Bits do Registrador de Estado afetados: nenhum Exemplo: PUSH.B #0x55 PUSH.W 30(R15)

55 Instruções nativas do MSP430 RETI TOS SR SP + 2 SP TOS PC SP + 2 SP (Return from Interrupt) Descrição: o Registrador de Estado(SR) que foi colocado na pilha no início da interrupção é restaurado e o Stack Pointer é incrementado por 2. O endereço de retorno é colocado no PC e o Stack Pointer é incrementado por 2. Bits do Registrador de Estado afetados: O Registrador de Estado é restaurado, com o valor do início da interrupção Exemplo: RETI

56 Instruções nativas do MSP430 RRA[.W/.B] dst (Rotate right arithmetically) MSB MSB, MSB MSB-1,... LSB+1 LSB, LSB C Descrição: o operando de destino é deslocado um bit para a direita. O bit mais significativo(msb) é mantido. O bit menos significativo vai para o Carry. Bits do Registrador de Estado afetados: N, Z, C, V Exemplo: RRA.B R10 RRA.W 70(R13)

57 Instruções nativas do MSP430 RRC[.W/.B] dst (Rotate right through carry) C MSB, MSB MSB-1,... LSB+1 LSB, LSB C Descrição: o operando de destino é deslocado um bit para a direita. O Carry vai para o bit mais significativo(msb) é mantido. O bit menos significativo vai para o Carry. Bits do Registrador de Estado afetados: N, Z, C, V Exemplo: RRC.B R10 RRC.W 70(R13)

58 Instruções nativas do MSP430 SUB[.W/.B] src, dst (Subtract source from destination) dst src dst Descrição: o operando de origem é subtraído do operando de destino e o resultado é armazenado no operando de destino.. O operando de origem não é modificado. Bits do Registrador de Estado afetados: N, Z, C, V Exemplo: SUB.B #23, R5 SUB.W R8, R12 20(R10)

59 Instruções nativas do MSP430 SUBC[.W/.B] src, dst (Subtract source and borrow/.not. carry from destination) SBB[.W/.B] src, dst dst +.NOT. src + C dst Descrição: o operando de origem é subtraído do operando de destino somando o complemento de 1 do operando de origem e o Carry. O resultado é armazenado no operando de destino. Bits do Registrador de Estado afetados: N, Z, C, V Exemplo: SUBC.B R9, R5 SUBC.W 0(R8), R12 20(R10)

60 Instruções nativas do MSP430 SWPB dst (Swap bytes) bits 15 a 8 bits 7 a 0 Descrição: os bytes mais significativo e menos significativo do operando de destino são trocados. Bits do Registrador de Estado afetados: nenhum Exemplo: SWPB R5 SWPB 60(R10)

61 Instruções nativas do MSP430 SXT dst (Extend Sign) bit 7 bit 8 bit 15 Descrição: o bit de sinal (bit 7) é replicado para os bits 8 a 15. Bits do Registrador de Estado afetados: N, Z, C, V Exemplo: SXT R7 SXT 30(R5)

62 Instruções nativas do MSP430 XOR[.W/.B] src, dst (Exclusive OR of source with destination) src.xor. dst dst Descrição: é realizada uma operação lógica XOR entre os operandos e o resultado fica armazenado no operando de destino. O operando de origem não é modificado. Bits do Registrador de Estado afetados: N, Z, C, V Exemplo: XOR.B #5A, R5 XOR.W R8, 20(R12) &P1OUT

63 Instruções emuladas do MSP430 ADC[.W/.B] dst (Add carry to destination) dst + C dst Emulação: ADDC.W #0, dst 0 + C + dst dst Descrição: o Carry é somado ao operando de destino. BR/BRANCH dst (Branch to destination) dst PC Emulação: MOV.W dst, PC Descrição: é realizado um desvio incondicional para o endereço especificado.

64 Instruções emuladas do MSP430 CLR[.W/.B] dst (Clear destination) 0 dst Emulação: MOV[.W/.B] #0, dst 0 dst Descrição: o operando de destino é zerado. CLRC (Clear Carry bit) 0 C Emulação: BIC.W #0x0001, SR Descrição: o bit de Carry no Registrador de Estado é zerado.

65 Instruções emuladas do MSP430 CLRN (Clear negative bit) 0 N Emulação: BIC.W #0x0004, SR Descrição: o bit de negativo no Registrador de Estado(N) é zerado. CLRZ (Clear Zero bit) 0 Z Emulação: BIC.W #0x0002, SR Descrição: o bit de Zero no Registrador de Estado é zerado.

66 Instruções emuladas do MSP430 DADC[.W/.B] dst (Add carry decimally to destination) C + dst dest (BCD) Emulação: DADD[.W/,B] #0, dst Descrição: o bit de Carry é somado ao operando de destino, em BCD. DEC[.W/.B] dst (Decrement destination) dst - 1 dst Emulação: SUB[.W/.B] #1, dst Descrição: o operando de destino é decrementado em 1.

67 Instruções emuladas do MSP430 DECD[.W/.B] dst (Double-decrement destination) dst 2 dest Emulação: SUB[.W/.B] #2, dst Descrição: o operando de destino é decrementado em 2. DINT (Disable general interrupts) 0 GIE Emulação: BIC.W #0x0008, SR Descrição: o bit de Habilitação Geral de Interrupções(GIE), no Registrador de Estado é zerado.

68 Instruções emuladas do MSP430 EINT (Enable general interrupts) 1 GIE Emulação: BIS.W #0x0008, SR Descrição: o bit de Habilitação Geral de Interrupções(GIE), no Registrador de Estado é setado. INC[.W/.B] dst (Increment destination) dst + 1 dst Emulação: ADD[.W/.B] #1, dst Descrição: o operando de destino é incrementado em 1.

69 Instruções emuladas do MSP430 INCD[.W/.B] dst (Double-increment destination) dst + 2 dest Emulação: ADD[.W/.B] #2, dst Descrição: o operando de destino é incrementado em 2. INV[.W/.B] dst (Invert destination).not. dst dst Emulação: XOR.W #0xFFFF, dst XOR.B #0xFF, dst Descrição: os bits do operando de destino são complementados.

70 Instruções emuladas do MSP430 NOP (No operation) nenhuma Emulação: MOV.W R3, R3 Descrição: nenhuma operação é executada, porém é utilizado um ciclo de máquina. POP[.W/.B] dst (Pop word/byte from stack to dst SP + 2 SP Emulação: dst Descrição: o conteúdo do endereço apontado pelo Stack Pointer(TOS) é movido para o operando de destino.

71 Instruções emuladas do MSP430 RET (Return from PC SP + 2 SP Emulação: PC Descrição: o endereço de retorno, colocado na pilha pela instrução CALL é movido para o PC. O programa continua a execução na instrução seguinte à instrução CALL. RLA[.W/.B] dst (Rotate left arithmetically) C MSB MSB-1 LSB+1 LSB 0 Emulação: ADD[.W/.B] dst, dst Descrição: o operando de destino é deslocado um bit para a esquerda. O MSB vai para o Carry e o LSB é preenchido com zero.

72 Instruções emuladas do MSP430 RLC[.W/.B] dst (Rotate left through carry) C MSB MSB-1 LSB+1 LSB C Emulação: ADDC[.W/.B] dst, dst Descrição: o operando de destino é deslocado um bit para a esquerda. O Carry vai para o LSB e o MSB vai para o Carry. SBC[.W/.B] dst (Subtract borrow from destination) dst + 0FFFFh + C dst Emulação: SUBC[.W/.B] #0, dst Descrição: o operando de destino é somado ao Carry menos 1.

73 Instruções emuladas do MSP430 SETC[.W/.B] (Set Carry bit) 1 C Emulação: BIS #1, SR Descrição: O bit de Carry é setado. SETN (Set Negative bit) 1 N Emulação: BIS #4, SR Descrição: o bit de Negativo é setado.

EL08D - MICROCONTROLADORES

EL08D - MICROCONTROLADORES Curso Técnico de Nível Médio Integrado Eletrônica - 8o Período Disciplina de Microcontroladores 2 (EL08D) 1º Sem 2016 Professor Gabriel Kovalhuk Email: kovalhuk@utfpr.edu.br Página pessoal: http://paginapessoal.utfpr.edu.br/kovalhuk

Leia mais

Prof. Gabriel Kovalhuk

Prof. Gabriel Kovalhuk Curso Técnico de Nível Médio Integrado Eletrônica - 8º Período Disciplina de Microcontroladores 2 (EL08D) 1º Sem 2016 Professor Gabriel Kovalhuk Email: kovalhuk@utfpr.edu.br Página pessoal: http://paginapessoal.utfpr.edu.br/kovalhuk

Leia mais

MICROCONTROLADORES 2 EL08D - TURMA M12

MICROCONTROLADORES 2 EL08D - TURMA M12 MICROCONTROLADORES 2 EL08D - TURMA M12 SISTEMA DE RESET E SISTEMA DE CLOCK Prof. Gabriel Kovalhuk E-mail: Kovalhuk@utfpr.edu.br Site: http://pessoal.utfpr.edu.br/kovalhuk MSP430 SISTEMAS DE RESET E SISTEMAS

Leia mais

SEL 0415 INTROD. À ORGANIZAÇÃO DE COMPUTADORES

SEL 0415 INTROD. À ORGANIZAÇÃO DE COMPUTADORES SEL 0415 Aula 11 Microcontrolador 8051 Parte 3 SEL 0415 INTROD. À ORGANIZAÇÃO DE COMPUTADORES Prof. Dr. Marcelo A. C. Vieira SEL 415 INTERRUPÇÃO Estrutura de Interrupção do 8051 n 5 Fontes [ 2 Externas

Leia mais

Conjunto de Instruções do 8051

Conjunto de Instruções do 8051 Apêndice B Conjunto de Instruções do 8051 A.G. e E.T.M. / 2001 (revisão) O 8051 apresenta 111 tipos de instruções, sendo 49 de um byte, 45 de dois bytes e 17 de três bytes. Levando-se em contas as variações

Leia mais

Sistemas Microprocessados

Sistemas Microprocessados Sistemas Microprocessados satoutfpredubr http://pessoal.utfpr.edu.br/sato/ A satoutfpredubr Sobre o material Essas transparências foram baseadas no manual do ATmega8 da Atmel,

Leia mais

Professor: Dr. Rogério Rodrigues de Vargas.

Professor: Dr. Rogério Rodrigues de Vargas. UNIVERSIDADE ESTADUAL DE SANTA CRUZ DEPARTAMENTO DE CIÊNCIAS EXATAS E TECNOLÓGICAS Bacharelado em Ciência da Computação Software Básico Linguagem de Programação Assembly: Uma introdução no Linux/i386 (AT&T)

Leia mais

Microprocessadores I ELE Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios

Microprocessadores I ELE Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios Microprocessadores I ELE 1078 Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios Grupos de Instruções do 8085 As instruções no 8085 são distribuídas em 5 grupos: 1. Grupo de transferência da

Leia mais

Interrupção. Prof. Adilson Gonzaga

Interrupção. Prof. Adilson Gonzaga Interrupção Prof. Adilson Gonzaga Estrutura de Programação Assembly Programa Principal Chamada de Sub-rotina1 Programa Principal Chamada de Sub-rotina2 Sub-rotina1 Subrotina2 Programa Principal Chamada

Leia mais

Microprocessadores I ELE Conjunto de Instruções do Microprocessador 8085 Aula 9 - PILHA E SUBROTINAS -

Microprocessadores I ELE Conjunto de Instruções do Microprocessador 8085 Aula 9 - PILHA E SUBROTINAS - Microprocessadores I ELE 1078 Conjunto de Instruções do Microprocessador 8085 Aula 9 - PILHA E SUBROTINAS - 9.1 - Grupos de Instruções As instruções no 8085 são distribuídas em 5 grupos: 1. Grupo de transferência

Leia mais

MSP430 - Arquitertura

MSP430 - Arquitertura Curso Técnico de Nível Médio Integrado Eletrônica - 8o Período Disciplina de Microcontroladores 2 (EL08D) Professor Gabriel Kovalhuk Email: kovalhuk@utfpr.edu.br Página pessoal: http://paginapessoal.utfpr.edu.br/kovalhuk

Leia mais

Prof. Adilson Gonzaga

Prof. Adilson Gonzaga Microprocessadores são Máquinas de Estado Seqüenciais Síncronas que operam mediante a execução de uma seqüência de códigos binários armazenados em memória. Prof. Adilson Gonzaga 1 As ordens ou comandos

Leia mais

CONJUNTO DE INSTRUÇÕES

CONJUNTO DE INSTRUÇÕES CONJUNTO DE INSTRUÇÕES Rn - Registrador R0 R7 do banco de registradores selecionado. direto - 8-bits de endereço da posição da RAM de dados Podem ser referentes tanto à RAM interna (0 7F) como ao espaço

Leia mais

Prof. Adilson Gonzaga

Prof. Adilson Gonzaga Prof. Adilson Gonzaga Temporização da CPU Todos os Microcontroladores da família MCS-51 têm um oscilador interno. Para uso deste oscilador deve-se conectar um cristal entre os pinos Xtal1 e Xtal2 da CPU.

Leia mais

Sistema Digitais. Bacharelado de Informática UEM DIN - Prof. Elvio v. 17a

Sistema Digitais. Bacharelado de Informática UEM DIN - Prof. Elvio v. 17a 5197 - Sistema Digitais Bacharelado de Informática UEM DIN - Prof. Elvio v. 17a Roteiro A Família AVR Introdução ao ATmega328 Características Gerais Memórias Família AVR AVR = Advanced Virtual RISC Fundadores

Leia mais

2.5 - Instruções Lógicas do ULA

2.5 - Instruções Lógicas do ULA 2.5 - Instruções Lógicas do 8085 - ULA Todas as operações lógicas e aritméticas em qualquer microprocessador são realizadas em uma unidade dedicada denominada Unidade Lógica e Aritmética (ULA). Para auxiliar

Leia mais

Sistemas Embutidos Prática. Prof. Marcos Augusto Menezes DCC/ /UFMG

Sistemas Embutidos Prática. Prof. Marcos Augusto Menezes DCC/ /UFMG Sistemas Embutidos Prática Prof. Marcos Augusto Menezes Vieira mmvieira@dcc.ufmg.br DCC/ /UFMG Arquivos IAR http://www.dcc.ufmg.br/~mmvieira/se/slac050ag.zip Arquivos dos Projetos http://www.dcc.ufmg.br/~mmvieira/se/praticas.zip

Leia mais

7. PROGRAMANDO O MICROCONTROLADOR. Microcontroladores - Prof: Demantova

7. PROGRAMANDO O MICROCONTROLADOR. Microcontroladores - Prof: Demantova 7. PROGRAMANDO O MICROCONTROLADOR 1 7. PROGRAMANDO O MICROCONTROLADOR: Hardware parte física do circuito eletrônico CPU onde está localizado o microcontrolador. Dentro do microcontrolador existe um conjunto

Leia mais

Microcontrolador 8051

Microcontrolador 8051 Microcontrolador 8051 Inicialmente fabricado pela INTEL, atualmente fabricado por várias empresas; Possui uma grande variedade de dispositivos, com diversas características, porém compatíveis em software;

Leia mais

Temporização Interrupções. Prof: Evandro L. L. Rodrigues. Rotinas de Atraso

Temporização Interrupções. Prof: Evandro L. L. Rodrigues. Rotinas de Atraso Temporização Interrupções Prof: Evandro L. L. Rodrigues Rotinas de Atraso Temporização da CPU Todos os Microcontroladores da família MCS-51 têm um oscilador interno. Para uso deste oscilador deve-se conectar

Leia mais

Introdução ao PIC. Guilherme Luiz Moritz 1. 6 de novembro de DAELT - Universidade Tecnológica Federal do Paraná

Introdução ao PIC. Guilherme Luiz Moritz 1. 6 de novembro de DAELT - Universidade Tecnológica Federal do Paraná Guilherme Luiz Moritz 1 1 DAELT - Universidade Tecnológica Federal do Paraná 6 de novembro de 2013 Características do PIC Arquitetura Harvard RISC, 35 instruções 8 a 84 pinos Mais de 180 modelos Vários

Leia mais

Tópicos: 1 - Modos de endereçamento do Pilha e instruções de Pilha. 3 - Instruções que usam pilha: - instrução CALL - instrução RET

Tópicos: 1 - Modos de endereçamento do Pilha e instruções de Pilha. 3 - Instruções que usam pilha: - instrução CALL - instrução RET Tópicos: 1 - Modos de endereçamento do 8051 2 - Pilha e instruções de Pilha 3 - Instruções que usam pilha: - instrução CALL - instrução RET 4 - Interrupção 1 - Modos de Endereçamento do 8051 Os modos de

Leia mais

Microarquitetura IJVM. Datapath mic-1. Função dos Registradores. mic-1

Microarquitetura IJVM. Datapath mic-1. Função dos Registradores. mic-1 Microarquitetura IJVM mic-1 Datapath mic-1 Este é mais um exemplo de datapath para microarquitetura IJVM desenvolvida por Andew Tanenbaum Parte da CPU que contém a ALU, suas entradas e saídas 2 Função

Leia mais

Símbolos e abreviaturas utilizadas na descrição das instruções

Símbolos e abreviaturas utilizadas na descrição das instruções Símbolos e abreviaturas utilizadas na descrição das instruções acumulador registo A addr endereço de 16 bits data quantidade de 8 bits data 16 quantidade de 16 bits byte 2 segundo byte da instrução byte

Leia mais

Cesar - características CESAR. Registradores. Modos de endereçamento. Endereçamento de memória. Modo Registrador. (As bases da civilização atual)

Cesar - características CESAR. Registradores. Modos de endereçamento. Endereçamento de memória. Modo Registrador. (As bases da civilização atual) Cesar - características CESAR (As bases da civilização atual) Largura de dados e s de 16 bits Dados representados em complemento de dois 8 de uso geral de 16 bits (R-R) 1 registrador de estado com 4 códigos

Leia mais

Aula 10 Microcontrolador Intel 8051 Parte 2

Aula 10 Microcontrolador Intel 8051 Parte 2 SEL 0415 Aula 10 Microcontrolador Intel 8051 Parte 2 SEL 0415 INTROD À ORGANIZAÇÃO DE COMPUTADORES Prof Dr Marcelo A C Vieira SEL 415 Mapeamento das memórias internas Memória de dados interna (RAM) n 8051

Leia mais

Neander - características

Neander - características NEANDER x RAMSES (Ou porque da necessidade de upgrade :-) Texto original: ftp://ftp.inf.ufrgs.br/pub/inf108/ramses-instrucoes.ppt Neander - características Largura de dados e endereços de 8 bits Dados

Leia mais

Curso de Microcontroladores PIC 16F84A

Curso de Microcontroladores PIC 16F84A Curso de Microcontroladores PIC 16F84A João Neto Caetano Jnetcaetano@hotmail.com Marciel Gonçalves Azevedo Marcielgazevedo@hotmail.com Célio Rodrigues Pinto Treinamentos em geral, suporte a alunos universitários

Leia mais

SEL-614 MICROPROCESSADORES E APLICAÇÕES. Adilson Gonzaga

SEL-614 MICROPROCESSADORES E APLICAÇÕES. Adilson Gonzaga SEL-614 MICROPROCESSADORES E APLICAÇÕES Prof: Adilson Gonzaga HISTÓRICO Microprocessador Circuito integrado ( chip ) capaz de executar instruções. 1971 Intel Corporation lançou no mercado o microprocessador

Leia mais

Assembly Sintaxe do Assembly. Instruções que afectam Flags. Aplicações de Microprocessadores 2006/2007

Assembly Sintaxe do Assembly. Instruções que afectam Flags. Aplicações de Microprocessadores 2006/2007 Assembly 8051 Aplicações de Microprocessadores 2006/2007 Sintaxe do Assembly [Label] Op-code [Operando] [Comentário] tabela: movc a,@a+dptr ; vai à tabela buscar o seu correspondente ASCII 2 2 Instruções

Leia mais

Sistemas Microprocessados. sato<at>utfpr<dot>edu<dot>br

Sistemas Microprocessados. sato<at>utfpr<dot>edu<dot>br Sistemas Microprocessados satoutfpredubr http://pessoal.utfpr.edu.br/sato/ Assembly do 805 satoutfpredubr Sobre o material Essas transparências foram baseadas em materiais elaborados

Leia mais

Microcontroladores 2 EL08D Turma M12

Microcontroladores 2 EL08D Turma M12 Microcontroladores 2 EL08D Turma M12 Prof. Gabriel Kovalhuk E-mail: kovalhuk@utfpr.edu.br Site: http://paginapessoal.utfpr.edu.br/kovalhuk TEMPORIZADORES / CONTADORES NO MSP430 Este material foi retirado

Leia mais

Temporização da CPU SEL-433 APLICAÇÕES DE MICROPROCESSADORES I. Ciclos de Máquina. Ciclos de Máquina. Temporização Interrupções Rotinas de Atraso

Temporização da CPU SEL-433 APLICAÇÕES DE MICROPROCESSADORES I. Ciclos de Máquina. Ciclos de Máquina. Temporização Interrupções Rotinas de Atraso SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Temporização da CPU Todos os Microcontroladores da família MCS-51 têm um oscilador interno. Para uso deste oscilador deve-se conectar um cristal entre os pinos

Leia mais

29/03/2017. Temporização da CPU SEL-433 APLICAÇÕES DE MICROPROCESSADORES I. Ciclos de Máquina. Ciclos de Máquina

29/03/2017. Temporização da CPU SEL-433 APLICAÇÕES DE MICROPROCESSADORES I. Ciclos de Máquina. Ciclos de Máquina SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Temporização da CPU Todos os Microcontroladores da família MCS-5 têm um oscilador interno. Para uso deste oscilador deve-se conectar um cristal entre os pinos

Leia mais

Organização e Projeto de Computadores 3: Modo de Endereçamento, Sub-Rotina, Instruções de E/S, Interrupção

Organização e Projeto de Computadores 3: Modo de Endereçamento, Sub-Rotina, Instruções de E/S, Interrupção Organização e Projeto de Computadores 3: Modo de Endereçamento, Sub-Rotina, Instruções de E/S, Interrupção 1 Modo de Endereçamento Determina como o operando é obtido durante a execução de uma ins trução.

Leia mais

Arquitetura de Computadores Conceitos Fundamentais. Graduação em Engenharia Elétrica - UFPR Prof. Carlos Marcelo Pedroso 2016

Arquitetura de Computadores Conceitos Fundamentais. Graduação em Engenharia Elétrica - UFPR Prof. Carlos Marcelo Pedroso 2016 Arquitetura de Computadores Conceitos Fundamentais Graduação em Engenharia Elétrica - UFPR Prof. Carlos Marcelo Pedroso 2016 Um Computador Muito Simples CPU UC ULA A B PC IR FLAGS SP CS DS SS... 0A 09

Leia mais

ELE Microprocessadores I

ELE Microprocessadores I ELE 1078 - Microprocessadores I AULA 13 Conjunto de Instruções do Microprocessador 8085A - Entrada e Saída (I/O) - 13.1 - Grupos de Instruções As instruções no 8085 são distribuídas em 5 grupos: Grupo

Leia mais

PRÁTICAS. Microcontroladores: (LT36D) Prof: DaLuz. Práticas - 2º sem Microcontroladores LT36D - 26/04/ :56 1/16

PRÁTICAS. Microcontroladores: (LT36D) Prof: DaLuz. Práticas - 2º sem Microcontroladores LT36D -  26/04/ :56 1/16 PRÁTICAS Microcontroladores: (LT36D) Prof: DaLuz 1/16 Laboratório 01: - Laboratórios Instrução / diretiva (ORG e END), exemplos: ORG 0000h posiciona o código na linha 0000h da EPROM ORG 0100h posiciona

Leia mais

Data types. In C: char. short. int/long. double/long long AC 2017/2018. Pedro Serra / Sérgio Ferreira

Data types. In C: char. short. int/long. double/long long AC 2017/2018. Pedro Serra / Sérgio Ferreira x86 Data types In C: char short int/long double/long long 2 O stack O stack cresce em direção a endereços de memória menores Instruções fundamentais: push, pop 0xFF90 0xA331 0xFF8E 0xFF8C 0xFF8A 0x4712

Leia mais

1.1 Noções básicas sobre interrupções em Microcontroladores

1.1 Noções básicas sobre interrupções em Microcontroladores Capítulo 1 Interrupções 1.1 Noções básicas sobre interrupções em Microcontroladores PIC Interrupções é obrigação em uma programação profissional. Quando um evento ocorrer, uma bandeira de interrupção será

Leia mais

Sistemas de Microprocessadores I Lista de exercícios (questões de provas de semestre anteriores)

Sistemas de Microprocessadores I Lista de exercícios (questões de provas de semestre anteriores) Sistemas de Microprocessadores I Lista de exercícios (questões de provas de semestre anteriores) 1 - Fazendo uma comparação entre a arquitetura proposta por Von Neumann e a arquitetura de um microcomputador

Leia mais

Microcontrolador PIC 16F877

Microcontrolador PIC 16F877 Microcontrolador PIC 16F877 Parte 1 Instruções de MOV, e PORT Microcontrolador PIC 16F877 Termos utilizados nas instruções: Campo f w ou W b k d Descrição registro entre 0 e 127 registro Work bit utilizado

Leia mais

Estrutura Básica de um Computador

Estrutura Básica de um Computador SEL-0415 Introdução à Organização de Computadores Estrutura Básica de um Computador Aula 2 Prof. Dr. Marcelo Andrade da Costa Vieira INTRODUÇÃO n Organização Æ implementação do hardware, componentes, construção

Leia mais

Trabalhos Práticos Arquitetura de Computadores I Prof. Fabian Vargas

Trabalhos Práticos Arquitetura de Computadores I Prof. Fabian Vargas Trabalhos Práticos Arquitetura de Computadores I Prof. Fabian Vargas Material a ser utilizado: Kits de desenvolvimento de sistemas microprocessados para aplicações em DSP Texas DSK-TMS320C67xx. Apresentação

Leia mais

Microcontroladores 8051

Microcontroladores 8051 Microcontroladores 8051 1. Microcontroladores Microcontrolador é o nome dado ao componente que incorpora em um só "chip" todos os elementos necessários a um microcomputador. Deve ter : CPU, Memória e Interfaces

Leia mais

No. de bits. O primeiro IBM PC foi construído com o 8088 (versão de 8 bits do 8086).

No. de bits. O primeiro IBM PC foi construído com o 8088 (versão de 8 bits do 8086). Cap2.1 2. Arquitetura do microprocessador 8086 2.1 A família Intel iapx86 (ou 80X86) Processador Co-proc. Ano de introdução No. de bits No. de transistores Velocidade (MHz) 4004-1971 4 2.205-8008 - 1972

Leia mais

EEL Microprocessadores

EEL Microprocessadores EEL7030 - Microprocessadores 8086 Primeiro (1980) da família do Pentium (80x86). Componente com arquitetura similar (8088) utilizado no primeiro IBM PC. Cada descendente executa código dos antepassados

Leia mais

Microcontrolador Assembly UTFPR / DAELN Microcontroladores 1 Prof. Gabriel Kovalhuk

Microcontrolador Assembly UTFPR / DAELN Microcontroladores 1 Prof. Gabriel Kovalhuk Assembly 8051 Num sistema microprocessado, geralmente, não existe um sistema operacional; O programa desenvolvido pelo programador deve cuidar tanto da lógica do programa, bem como da configuração e acesso

Leia mais

Aula 4 Conjunto de Instruções do Microprocessador 8085 Grupo Aritmético

Aula 4 Conjunto de Instruções do Microprocessador 8085 Grupo Aritmético Microprocessadores I Aula 4 Conjunto de Instruções do Microprocessador 8085 Grupo Aritmético 4.1 - Grupos de Instruções As instruções no 8085 são distribuídas em 5 grupos: 1. Grupo de transferência da

Leia mais

ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR

ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR Prof. Filippo Valiante Filho http://prof.valiante.info Estrutura do Computador Computador CPU (Central Processing Unit) Sistema de Armazenamento (Memórias) Sistema

Leia mais

Aula 8 Microcontrolador 8051

Aula 8 Microcontrolador 8051 SEL 0415 Departamento de Engenharia Elétrica e de Computação EESC-USP SEL 0415 Introdução à Organização de Computadores Aula 8 Microcontrolador 8051 Profa. Luiza Maria Romeiro Codá Autores: Prof. Dr. Marcelo

Leia mais

Sistemas Processadores e Periféricos Aula 2 - Revisão

Sistemas Processadores e Periféricos Aula 2 - Revisão Sistemas Processadores e Periféricos Aula 2 - Revisão Prof. Frank Sill Torres DELT Escola de Engenharia UFMG Adaptado a partir dos Slides de Organização de Computadores 2006/02 do professor Leandro Galvão

Leia mais

Aula 8 Microcontrolador 8051

Aula 8 Microcontrolador 8051 SEL 0415 Departamento de Engenharia Elétrica e de Computação EESC-USP SEL 0415 Introdução à Organização de Computadores Aula 8 Microcontrolador 8051 Profa Luiza Maria Romeiro Codá Autores: Prof Dr Marcelo

Leia mais

1. Instruções de Desvio

1. Instruções de Desvio 1. Instruções de Desvio Def.: Estas instruções permitem que, de forma condicional ou não, seja feito um desvio na seqüência de uma programa. O desvio é efetuado fazendo com que o valor carregado no PC

Leia mais

Arquitetura de Computadores. Prof. João Bosco Jr.

Arquitetura de Computadores. Prof. João Bosco Jr. Arquitetura de Computadores Prof. João Bosco Jr. Aula 4 (nivel ISA Arquitetura PIC) Características do Controlador 16F628A 18 Pinos Até 20 Mhz (5M instruções por segundo) PortA e PortB 10 Interrupções

Leia mais

Aula 14 Funcionamento de Processadores (Visão específica)

Aula 14 Funcionamento de Processadores (Visão específica) Aula 14 Funcionamento de Processadores (Visão específica) Com base nas aulas de Prof. José Delgado (autorizado) Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm

Leia mais

Programação de Microprocessadores. Programação de Microprocessadores SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

Programação de Microprocessadores. Programação de Microprocessadores SEL-433 APLICAÇÕES DE MICROPROCESSADORES I SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Programação de Microprocessadores Microprocessadores são Máquinas de Estado Seqüenciais Síncronas que operam mediante a execução de uma seqüência de códigos binários

Leia mais

As 5 partes fundamentais. Linguagem de Programação Pinagem Características Elétricas Ambiente de Desenvolvimento Integrado - IDE

As 5 partes fundamentais. Linguagem de Programação Pinagem Características Elétricas Ambiente de Desenvolvimento Integrado - IDE SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Como conhecer/estudar um Microprocessador/Microcontrolador As 5 partes fundamentais Programação de Microprocessadores Prof: Evandro L. L. Rodrigues Arquitetura

Leia mais

Processamento e Linguagem de Máquina. O processador Programação Assembler (Linguagem de Máquina)

Processamento e Linguagem de Máquina. O processador Programação Assembler (Linguagem de Máquina) Processamento e Linguagem de Máquina O processador Programação Assembler (Linguagem de Máquina) O PROCESSADOR Literatura Tanenbaum e Stallings Abordagens similares mas divergentes Foco maior em funcionamento

Leia mais

Linguagem de Montagem Assembly

Linguagem de Montagem Assembly Linguagem de Montagem Assembly Especificações O programa em Assembly Fica sobre a camada do Sistema Operacional Efetua chamadas ao Sistema Operacional O montador Chama-se Assembler Traduz a linguagem de

Leia mais

TRABALHO PROCESSADOR H8

TRABALHO PROCESSADOR H8 TRABALHO PROCESSADOR H8 abel ferreira 05132002 eberle rambo- 05132118 Monografia abel ferreira 05132002 eberle rambo - 05132118 Prefácio. A família do micro processador h8 inclui diversas versões. Nesse

Leia mais

Prof. Adilson Gonzaga

Prof. Adilson Gonzaga Prof. Adilson Gonzaga Memória de Dados Interna (RAM Interna) O endereçamento é feito com 8 bits Chips com 128 bytes de RAM não possuem a área I (Apenas Endereçamento Indireto) Memória de Dados Interna

Leia mais

SSC510 Arquitetura de Computadores 1ª AULA

SSC510 Arquitetura de Computadores 1ª AULA SSC510 Arquitetura de Computadores 1ª AULA REVISÃO DE ORGANIZAÇÃO DE COMPUTADORES Arquitetura X Organização Arquitetura - Atributos de um Sistema Computacional como visto pelo programador, isto é a estrutura

Leia mais

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 04: ASPECTO BÁSICO DO PROJETO DE UMA CPU SIMPLES E LINGUAGEM DE MONTAGEM Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia

Leia mais

Notas de Aula Guilherme Sipahi Arquitetura de Computadores

Notas de Aula Guilherme Sipahi Arquitetura de Computadores Notas de Aula Guilherme Sipahi Arquitetura de Computadores Conjunto de Instruções: Elementos de uma instrução: Operation Code (Opcode): especifica a operação a ser executada. Source operand reference:

Leia mais

Organização de Computadores

Organização de Computadores Organização de Computadores Aula 25 Conjunto de Instruções: Características e Funções Rodrigo Hausen 10 de novembro de 2011 http://cuco.pro.br/ach2034 1/92 Apresentação 1. Bases Teóricas 2. Organização

Leia mais

PSI3441 Arquitetura de Sistemas Embarcados

PSI3441 Arquitetura de Sistemas Embarcados PSI31 Arquitetura de Sistemas Embarcados - Arquitetura do µprocessador Escola Politécnica da Universidade de São Paulo Prof. Gustavo Rehder grehder@lme.usp.br Prof. Sergio Takeo kofuji@usp.br Prof. Antonio

Leia mais

Organização e Projeto de Computadores

Organização e Projeto de Computadores Organização e Projeto de Computadores 1 Processamento no Computador Operações principais: leitura de instrução do programa leitura de dados processamento: execução da instrução escrita de resultado entrada/saída

Leia mais

Descrição de uma Unidade Processadora Discreta Microprogramável

Descrição de uma Unidade Processadora Discreta Microprogramável Descrição de uma Unidade Processadora Discreta Microprogramável EDNA MIE KANAZAWA WILIAN SOARES LACERDA UFLA Universidade Federal de Lavras DCC Departamento de Ciência da Computação Cx. Postal 37 CEP 37.200-000

Leia mais

Computador Cleópatra

Computador Cleópatra ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES Computador Cleópatra Assembly Alexandre Amory Edson Moreno 2 / 36 Na Aula Anterior Vimos a máquina de estados da Cleo 3 / 36 Arquitetura Cleópatra - Von Neumann

Leia mais

Sistemas Microcontrolados

Sistemas Microcontrolados Sistemas Microcontrolados Aula 3: Microcontroladores PIC e Programação Assembly Marco Jose da Silva mdasilva@utfpr.edu.br Especificação de um uc Qual escolher? Capacidade de processamento 8 bits (16 bits

Leia mais

LISTA 02 CONJUNTO DE INSTRUÇÕES - GABARITO

LISTA 02 CONJUNTO DE INSTRUÇÕES - GABARITO LISTA 02 CONJUNTO DE INSTRUÇÕES - GABARITO 1) Identifique na instrução em linguagem de máquina armazenada na memória, os elementos da instrução 2) Na figura acima, qual a quantidade de código de operações

Leia mais

A arquitectura IA32. A arquitectura de um processador é caracterizada pelo conjunto de atributos que são visíveis ao programador.

A arquitectura IA32. A arquitectura de um processador é caracterizada pelo conjunto de atributos que são visíveis ao programador. A arquitectura IA32 A arquitectura de um processador é caracterizada pelo conjunto de atributos que são visíveis ao programador. Tamanho da palavra Número de registos visíveis Número de operandos Endereçamento

Leia mais

NEANDERWIN. Algumas características do processador Neander são:

NEANDERWIN. Algumas características do processador Neander são: NEANDERWIN O NeanderWin é um simulador da máquina Neander, definida no livro do Raul F. Weber (UFRGS), Fundamentos de Arquitetura de Computadores, Ed. Sagra Luzzatto. A máquina original foi estendida aqui

Leia mais

Sistemas Microprocessados

Sistemas Microprocessados Sistemas Microprocessados satoutfpredubr http://pessoal.utfpr.edu.br/sato/ Assembly do ATmega8 satoutfpredubr Sobre o material Essas transparências foram baseadas no manual

Leia mais

Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Aula 2. Cibele Lemos Freire Viginoski

Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Aula 2. Cibele Lemos Freire Viginoski Aula 2 Cibele Lemos Freire Viginoski Registradores R0-R7: disponíveis para todas as instruções R8-R15: disponíveis para algumas instruções R13: SP (Stack Pointer) Pilha obrigatoriamente LIFO decrescente

Leia mais

UTFPR Departamento Acadêmico de Eletrônica Curso Técnico em Eletrônica Microcontroladores 1 - Prof. Cion nov/2010 (atualizado em jul 2015)

UTFPR Departamento Acadêmico de Eletrônica Curso Técnico em Eletrônica Microcontroladores 1 - Prof. Cion nov/2010 (atualizado em jul 2015) UTFPR Departamento Acadêmico de Eletrônica Curso Técnico em Eletrônica Microcontroladores 1 - Prof. Cion nov/2010 (atualizado em jul 2015) Interrupção e Contadores/Temporizadores Este texto apresenta uma

Leia mais

Disciplina: Arquitetura de Computadores

Disciplina: Arquitetura de Computadores Disciplina: Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof a. Carla Katarina de Monteiro Marques UERN Introdução Responsável por: Processamento e execução de programas armazenados na

Leia mais

AJProença, Sistemas de Computação, UMinho, 2017/18 1. Componentes (físicos) a analisar: a unidade de processamento / o processador:

AJProença, Sistemas de Computação, UMinho, 2017/18 1. Componentes (físicos) a analisar: a unidade de processamento / o processador: Introdução aos Sistemas de Computação (4) Estrutura do tema ISC 1. Representação de informação num computador 2. Organização e estrutura interna dum computador 3. Execução de programas num computador 4.

Leia mais

SEL PROGRAMAÇÃO EM C

SEL PROGRAMAÇÃO EM C SEL0337 1 8051 PROGRAMAÇÃO EM C LINGUAGEM C Linguagem que pode ser utilizada atualmente na programação de quase todos os microcontroladores; Há microcontroladores com instruções otimizadas para programação

Leia mais

Microcontrolador 8051:

Microcontrolador 8051: Microcontrolador 8051: Fonte: CORRADI 2009 O Microcontrolador 8051: Começou a ser produzido no início da década de 80, pela Intel; Hoje é fabricado por várias empresas e com muitas variações; Atualmente,

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Conjunto de Instruções Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Material do prof. Sílvio Fernandes - UFERSA

Leia mais

Universidade de São Paulo

Universidade de São Paulo Conjunto Instruções ARM Universidade de São Paulo Sistemas Embarcados Jorge Luiz e Silva ARM versões. ARM Linguagem Assembly. ARM modelo de programação. ARM organização de memória. ARM operação com dados.

Leia mais

Jadsonlee da Silva Sá

Jadsonlee da Silva Sá Introdução aos Sistemas Microcontrolados Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br www.univasf.edu.br/~jadsonlee.sa Introdução aos Sistemas Microcontrolados Assembly, C, java,... Circuito Reset

Leia mais

PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR

PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR Introdução Instruções são representadas em linguagem de máquina (binário) E x i s t e m l i n g u a g e n

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura e Organização de Computadores Conjunto de Instruções Prof. Sílvio Fernandes

Leia mais

Revisão: Modo Real, pt 2 Interrupções

Revisão: Modo Real, pt 2 Interrupções Revisão: Modo Real, pt 2 Interrupções Interrupção Evento (interno ou externo) que faz o processador parar o programa em execução para tratar a interrupção Ex: ler o teclado, comunicação com os dispositivos

Leia mais

Microcontroladores PIC

Microcontroladores PIC Microcontroladores PIC Prof. Adilson Gonzaga 1 Arquitetura de Microcomputadores Arquitetura von Neumann: Há apenas um barramento (duto) de dados e um de endereço. As Instruções e os dados ocupam o mesmo

Leia mais

Arquitectura de Computadores

Arquitectura de Computadores Nuno Cavaco Gomes Horta Universidade Técnica de Lisboa / Instituto Superior Técnico Sumário Introdução Unidade de Processamento Unidade de Controlo Conjunto de Instruções (CPU) Unidade de Entrada/Saída

Leia mais

14/3/2016. Prof. Evandro L. L. Rodrigues

14/3/2016. Prof. Evandro L. L. Rodrigues SEL 433 APLICAÇÕES DE MICROPROCESSADORES I SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Prof. Evandro L. L. Rodrigues Tópicos do curso Conceitos básicos - Aplicações e utilizações dos microcontroladores

Leia mais

Conjunto de Instruções e Modelos de Arquiteturas

Conjunto de Instruções e Modelos de Arquiteturas Departamento de Engenharia Elétrica e de Computação EESC-USP SEL-0415 Introdução à Organização de Computadores Conjunto de Instruções e Modelos de Arquiteturas Aula 7 Prof. Marcelo Andrade da Costa Vieira

Leia mais

7. A pilha e subrotinas

7. A pilha e subrotinas Cap7.1 7. A pilha e subrotinas 7.1 Organização da Pilha (stack) Stack: estrutura de dados de uma dimensão organizada em algum trecho (segmento) da Memória; o primeiro item adicionado é o último a ser removido

Leia mais

A linguagem ASSEMBLY

A linguagem ASSEMBLY A linguagem ASSEMBLY Assembly é uma linguagem de baixo nível, chamada freqüentemente de linguagem de montagem É uma linguagem considerada difícil, principalmente porque o programador precisa conhecer a

Leia mais

Organização de Computadores

Organização de Computadores Organização de Computadores Aula 25 Conjunto de Instruções: Modos de Endereçamento e Formatos Rodrigo Hausen 11 de novembro de 2011 http://cuco.pro.br/ach2034 1/26 Apresentação 1. Bases Teóricas 2. Organização

Leia mais

Solução Lista de Exercícios Processadores

Solução Lista de Exercícios Processadores Solução Lista de Exercícios Processadores Questão 1 A ULA é o dispositivo da CPU que executa operações tais como : Adição Subtração Multiplicação Divisão Incremento Decremento Operação lógica AND Operação

Leia mais

Microcontrolador PIC 16F877

Microcontrolador PIC 16F877 Microcontrolador PIC 16F877 Parte 2 Instruções de ADD, SUB e DECF Instruções Aritméticas (ADD) : ADDLW k Descrição: Soma uma constante k é somada com W Operação: w = w + k Limites: 0 a 255 Nro de Ciclos:

Leia mais

MSP 430 Lab 04 Fontes de clock e configuração das entradas e saídas digitais

MSP 430 Lab 04 Fontes de clock e configuração das entradas e saídas digitais MSP 430 Lab 04 Fontes de clock e configuração das entradas e saídas digitais Teste com o sociloscópio Neste Lab iremos descrever os passos necessários para inicialização de duas fontes de clock da CPU

Leia mais

NOTAS DE AULA 06 MICROCONTROLADOR 8051

NOTAS DE AULA 06 MICROCONTROLADOR 8051 NOTAS DE AULA 06 MICROCONTROLADOR 8051 SUMÁRIO DO VOLUME NOTAS DE AULA 06 1 INTRODUÇÃO AOS MICROCONTROLADORES 2 PROGRAMANDO EM LINGUAGEM ASSEMBLY - 8051 3 INSTRUÇÕES: JUMPS, LOOPS E CALL 4 DESCRIÇÃO DOS

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição

William Stallings Arquitetura e Organização de Computadores 8 a Edição William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 11 Conjuntos de instruções: Modos de endereçamento e formatos slide 1 Diagrama do endereçamento imediato Instrução Opcode

Leia mais

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I SEL 433 APLICAÇÕES DE MICROPROCESSADORES I SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Apresentação do curso Critério de avaliação Média final = 0.8 * MP + 0.2 * ME onde MP = (P1 + P2) / 2 e ME = Notas

Leia mais