








Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
TRABALHO SOBRE MICROPROCESSADOR MSP430
Tipologia: Trabalhos
1 / 14
Esta página não é visível na pré-visualização
Não perca as partes importantes!









Marcos Carvalho da Silva RA: 967972--
Jundiaí Maio/
Os microcontroladores MSP
A família MSP430 é uma família de microcontroladores de propósito geral de baixo consumo de potência desenvolvida pela Texas Instruments na década de
É composta por microcontroladores de 16 bits de arquitetura Von Neumann. Seu conjunto de instruções é formado por 27 instruções físicas e 24 instruções emuladas, totalizando 51 instruções. Devido às características de baixíssimo consumo de energia, alto desempenho e baixo custo, os microcontroladores MSP430 tornaram-se extremamente populares. Segundo a Texas Instruments, atualmente a família conta com cerca de 230 dispositivos diferentes, voltados tanto para aplicações gerais como específicas. Os microcontroladores da família MSP430 podem ser identificados como mostrado na figura abaixo:
Identificação dos microcontroladores MSP430.
A CPU – Principais Características
Os microcontroladores MSP430 possuem uma CPU de 16 bits de arquitetura RISC capaz de executar 27 instruções, a maioria delas em dois formatos diferentes, byte ou word , em até oito modos de endereçamento diferentes.
A CPU possui 16 registradores de 16 bits:
R3 00 00000h R3 01 00001h R3 10 00002h R3 11 0FFFFh
Tabela - Gerador de Constantes
O conjunto de instruções
O conjunto de instruções do MSP430 é composto por 27 instruções físicas e mais 24 instruções emuladas, totalizando 51 instruções. As instruções físicas são as instruções convencionais executadas pela CPU que possuem opcodes próprios. As instruções emuladas são aquelas que tornam o código-fonte mais simples de ser lido e escrito, mas não possuem opcodes próprios. Elas são substituídas automaticamente pelo assembler por instruções físicas (TEXAS, 2011). Todas as instruções possuem 16 bits e podem ocupar uma, duas ou até três palavras na memória de programa, dependendo do modo de endereçamento utilizado.
Elas podem ser classificadas em três formatos diferentes:
As instruções de um operando possuem o formato ilustrado na tabela abaixo:
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Conteúdo 0 0 0 1 0 0 Opcode B/W As Registrador Rs Formato das instruções de um operando
O conjunto das instruções de um operando e seus respectivos opcodes são mostrados na tabela abaixo:
Opcode Mnemônico Operação 0 0 0 RRC Desloca um bit para a direita com carry 0 0 1 SWPB Inverte a posição dos bytes mais e menos significativos 0 1 0 RRA Desloca um bit para a direita aritmeticamente 0 1 1 SXT Estende sinal 1 0 0 PUSH Empilha 1 0 1 CALL Chama sub-rotina 1 1 0 RETI Retorna de interrupção
Conjunto de instruções de um operando
As instruções de dois operandos possuem o formato ilustrado na Tabela abaixo:
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Conteúdo Opcode Registrador Rs Ad B/W As Reg. Destino (Rd) Formato das instruções de dois operandos
As informações que cada instrução carrega são explicadas a seguir:
Opcode: é o código de operação. É o conjunto de bits que especifica a operação a ser executada;
B/W: é o bit que especifica o formato da instrução. B/W=0 para instruções do formato word e B/W=1 para instruções do formato byte ;
As: indica o modo de endereçamento do registrador origem. Os quatro possíveis modos de endereçamento para registradores origem são mostrados na tabela abaixo:
As Modo de endereçamento
Descrição
0 0 Modo registrador O operando encontra-se no registrador Rn 0 1 Modo indexado O operando encontra-se no endereço de memória Rn + X 1 0 Modo indireto O operando encontra-se no endereço de memória contido em Rn 1 1 Indireto/auto incremento
O operando encontra-se no endereço de memória contido em Rn. Em seguida Rn é incrementado em 2 Modos de endereçamento do registrador origem
*** Ad:** indica o modo de endereçamento do registrador destino (Rd). Ad=0 indica modo registrador, enquanto Ad=1 indica modo indexado. *** Offset:** representa um número de 10 bits com sinal que é usado para calcular o novo valor do registrador PC caso a condição de salto seja satisfeita. Caso isso ocorra, o registrador PC é atualizado da seguinte forma:
A organização da memória
O mapa da memória do MSP430 é mostrado na figura abaixo:
Mapa da memória do MSP430. Figura retirada de (TEXAS, 2013).
A memória do MSP430 pode ser dividida em algumas regiões básicas:
selecionado como entrada. Bit=1 indica que o respectivo pino está selecionado como saída.
Módulo básico de clock
O módulo básico de clock , também conhecido como BCM, é o periférico responsável por gerar os sinais de clock que comandam o funcionamento dos componentes do microcontrolador.
Watchdog Timer O watchdog timer é o periférico que possui a função de reiniciar o microcontrolador quando algum problema de software ocorre. Se a função watchdog não for necessária na aplicação, este periférico pode ser configurado como temporizador, gerando interrupções em intervalos de tempo regulares. Sempre que o microcontrolador é reiniciado, o watchdog timer é configurado para funcionar no modo watchdog com intervalo de 32.768 ciclos de clock. O usuário deve desativar ou parar a contagem do watchdog antes que ela alcance seu valor máximo, caso contrário o microcontrolador será reiniciado. A figura 8 mostra o diagrama de blocos do watchdog timer. Nesta figura são mostrados os principais componentes do watchdog timer , entre eles destacam-se o contador de 16 bits, também chamado de WDTCNT e o registrador de controle WDTCTL. O contador WDTCNT é o componente principal do watchdog timer , através dele é feita a contagem dos pulsos de clock que determinam o funcionamento deste periférico. Seu valor não pode ser acessado por software. O contador WDTCNT pode ser configurado para contar até 64, 512, 8.192 ou 32.768 e pode ser excitado pelos sinais de clock ACLK ou SMCLK.
Timer A
O timer A é o temporizador mais versátil, de propósito geral e presente em todos os dispositivos da família MSP430 (DAVIES, 2008). Seu hardware é dividido em dois blocos: o bloco temporizador e os canais de captura/comparação. O bloco temporizador tem seu funcionamento baseado no contador de 16 bits TAR. Esse contador pode ser excitado pelos sinais ACLK e SMCLK gerados pelo módulo básico de clock ou por sinais externos TACLK e INCLK. Cada um desses sinais pode ter sua frequência dividida em dois, quatro ou oito se necessário. O contador TAR pode operar de três formas diferentes:
Linguagens de Programação
As linguagem de programação utilizadas no Microcontrolador MSP430 são:
C/C++, Assembly
Exemplo:
Lê-se repetidas vezes o valor do pino de entrada P1.3, que está ligado à chave S
*Se o valor lido é 0 (chave pressionada), o led vermelho é ativado