Upload
demectrius343
View
222
Download
0
Embed Size (px)
Citation preview
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
1/40
Powered by Enderson Neves Cruz
Curso Tcnico de EletrnicaLaboratrio de Microprocessadores
Enderson Neves [email protected]
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
2/40
2Powered by Enderson Neves Cruz
Agenda
Apresentao Avaliao Kit de desenvolvimento e Emuladores Modos de endereamento Aula prtica 01 Aula prtica 02 Dvidas
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
3/40
3Powered by Enderson Neves Cruz
Avaliao
Trabalho = 50% (Grupo) Tema deve ser previamente discutido com o professor Deve ser apresentado na aula anterior a prova
Prova = 50% Um trabalho extra individual pode ser entregue no dia da prova.
Se estiver funcionando corretamente substituir 50% do valor daprova. O tema do trabalho dever ser discutido com o professor at a
aula anterior a prova
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
4/404Powered by Enderson Neves Cruz 4
Avaliao
Trabalho = 50% (Grupo) Descrio do funcionamento Diagrama em blocos
Recursos a serem utilizados Fluxograma Programa Simulao Circuitos Custo do projeto Previso de possveis problemas.
Montagem Testes Concluso
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
5/405Powered by Enderson Neves Cruz
Kits de desenvolvimento e Emuladores
Programador (Gravador) - Programmer Kit de Desenvolvimento - Experimenter Boards Emuladores
Programador (gravador)Microprocessadores PIC
Programador (gravador)Microprocessadores MSP430
http://focus.ti.com/mcu/docs/mcuprodtoolsw.tsp?sectionId=95&tabId=1203&familyId=342&toolTypeId=1#FETkits
Kit de Desenvolvimento
Microprocessadores MSP430
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
6/406Powered by Enderson Neves Cruz
Kits de desenvolvimento e EmuladoresEmulao via JTAG
JTAG ( Joint Test Access Group ) uma interface de programao e teste de circuitos digitais, padronizada comoIEEE 1.149,1.
Originalmente desenvolvido para a programadores lgicos, tambm freqentemente utilizado paramicrocontroladores.
O dispositivo acessado atravs de quatro linhas seriais (TMS, TCK, TDI, TDO) atravs dos quais as portas,memria, registradores, etc., podem ser lidos e escritos em alta velocidade:
1. TDI (Test Data In) Entrada de dados
2. TDO (Test Data Out) Sada de dados
3. TCK (Test Clock) - Clock4. TMS (Test Mode Select) Seletor de modo
5. TRST (Test Reset) optional.
JTAG padroniza os dispositivo programao. Alguns programadores de dispositivos, podem programardispositivos JTAG compatveis, mesmo quando ainda no entraram na lista do dispositivo.
Alm da programao, a interface JTAG tambm permite testar e depurar seus microcontroladores e as portasI/O. Com um depurador JTAG pode desenvolver software diretamente na placa eletrnica original. O depuradordesencadeia interrupo de hardware e software, interrompe o programa e execut-lo em nico passo, semnecessidade de emulador e sem hardware adicional.
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
7/407Powered by Enderson Neves Cruz
Kits de desenvolvimento e EmuladoresEmulao via JTAG
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
8/408Powered by Enderson Neves Cruz
Desenvolvimento de programas
Edio consiste na digitao, de todos os mnemnicos pertencentes ao programa, utilizando um editor de texto tipo ASCII. Nesteestgio o programa est em linguagem assembly e conhecido como cdigo fonte.
Montagem a traduo do texto digitado (mnemnicos) para o respectivo cdigo de mquina (binrio) da CPU. Caso seja obtidosucesso nesta etapa ser gerado o cdigo objeto.
Compilao - significa traduzir o cdigo de fonte de uma linguagem de programao de alto nvel para uma linguagem de programao debaixo nvel (por exemplo, linguagem de montagem assembly ou cdigo de mquina). Interpretadores - programas de computador que leem um cdigo fonte de uma linguagem de programao interpretada e o converte em
cdigo executvel.
Linkedio (Linker)- insere informaes relativas ao sistema operacional, que est sendo utilizado, ao cdigo fonte. Entretanto o papelmais relevante da linkedio a ligao de vrios cdigos objetos.
Depurao (em ingls: debugging, debug) o processo de encontrar e reduzir defeitos num aplicativo de software ou mesmo emhardware. Erros de software incluem aqueles que previnem o programa de ser executado e aqueles que produzem um resultadoinesperado.
Kits de desenvolvimento e Emuladores
EdioEdit
Interpretao
ConstruoBuild
DepuraoDebug
CompilaoCompile
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
9/409Powered by Enderson Neves Cruz
Kits de desenvolvimento e EmuladoresEmulador IAR Embedded Workbench
IAR empresa Sueca que desenvolveu o software (IAR Systems).
IAR Systems foi fundada em 1983 e desenvolve principalmente emuladores, compiladores para auxiliar nodesenvolvimento de sistemas microprocessados e microcontroladores.
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
10/4010Powered by Enderson Neves Cruz
Kits de desenvolvimento e EmuladoresEmulador IAR Embedded Workbench
Workspacerea de trabalho
LogMessagens de erro e
acompanhamento
rea de edio Situao dosregistradores
Situao da memria
Botes de controlede execuo
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
11/40
11Powered by Enderson Neves Cruz
Kits de desenvolvimento e EmuladoresEmulador IAR Embedded Workbench
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
12/40
12Powered by Enderson Neves Cruz
Agenda
Modos de endereamento Contador de programa PC Ponteiro (Apontador de pilha) - SP Aula prtica 02 Aula prtica 03 Aula prtica 04 Dvidas
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
13/40
13Powered by Enderson Neves Cruz
Sistemas MicrocontroladosEstrutura bsica de um sistema microcontrolado
Memria
Dispositivos I/OBarramento de Endereos
Barramento de Dados
Barramento de Controle
CPU
Clock
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
14/40
14Powered by Enderson Neves Cruz
Sistemas MicrocontroladosArquitetura tpica de um microcomputador tpico e suas Interfaces
Barramento de Endereos
Barramento de Dados
Interface com os dispositivosde interao com o usurio
Interface com os dispositivosde armazenamento em massa
Interface com os dispositivosde controle e sensoramento
Barramento de Controle
MemriaMicroprocessador
Barramento de Endereos
Barramento de Dados
Interface com os dispositivosde interao com o usurio
Interface com os dispositivosde interao com o usurio
Interface com os dispositivosde armazenamento em massaInterface com os dispositivosde armazenamento em massa
Interface com os dispositivosde controle e sensoramento
Interface com os dispositivosde controle e sensoramento
Barramento de Controle
MemriaMemriaMicroprocessadorMicroprocessador
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
15/40
15Powered by Enderson Neves Cruz
Sistemas MicrocontroladosAcessando os dados
Escrita de um dado no endereo de memria ou I/O
Barramento de Endereos
Barramento de Controle
CPU
Memria I/O
Barramento de Dados
Endereo Contedo
0000 20
0001 37
1000 CC
1001 15
1002 AC
XXXX F2
Endereo Contedo0000 20
0001 37
03F8 AC
YYYY F2
Barramento de Endereos
Barramento de Controle
CPU
Memria I/O
Barramento de Dados
Endereo Contedo
0000 20
0001 37
1000 CC
1001 15
1002 AC
XXXX F2
Endereo Contedo0000 20
0001 37
03F8 AC
YYYY F2
Colocar o endereo desejado(por exemplo, 0000H) no barramento de endereo, colocar o dado desejado no
barramento de dados e em seguida habilitar para escrita o bloco de memria ou I/O, indicando onde dever serrealizada a operao.
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
16/40
16Powered by Enderson Neves Cruz
Sistemas MicrocontroladosAcessando os dados
Leitura de um dado no endereo de memria ou I/O
Barramento de Endereos
Barramento de Controle
CPU
Memria I/O
Barramento de Dados
Endereo Contedo
0000 20
0001 37
1000 CC
1001 15
1002 AC
XXXX F2
Endereo Contedo0000 20
0001 37
03F8 AC
YYYY F2
Barramento de Endereos
Barramento de Controle
CPU
Memria I/O
Barramento de Dados
Endereo Contedo
0000 20
0001 37
1000 CC
1001 15
1002 AC
XXXX F2
Endereo Contedo0000 20
0001 37
03F8 AC
YYYY F2
Colocar o endereo desejado(por exemplo, 1002H) no barramento de endereo, e em seguida habilitar para
leitura o bloco de memria ou I/O, indicando onde dever ser realizada a operao. o dado desejado serdisponibilizado no barramento de dados
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
17/40
17Powered by Enderson Neves Cruz
Sistemas MicrocontroladosComponentes essenciais de um Microcontrolador
Barramento de Endereos (Address Bus)
Barramento de Dados (Data Bus)
Memria dePrograma
(ROM)
Memria deDados(RAM)
Portas deEntrada e Sada
(I/O)
Barramento de Controle (Control Bus)
CPU
Mundo Exterior
Clock
Barramento de Endereos (Address Bus)
Barramento de Dados (Data Bus)
Memria dePrograma
(ROM)
Memria deDados(RAM)
Portas deEntrada e Sada
(I/O)
Barramento de Controle (Control Bus)
CPU
Mundo Exterior
Clock
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
18/40
18Powered by Enderson Neves Cruz
Barramento de Endereos (Address Bus)
Barramento de Dados (Data Bus)
Memria dePrograma
(ROM)
Memria deDados(RAM)
Portas deEntrada e Sada
(I/O)
Barramento de Controle (Control Bus)
CPU
Mundo Exterior
Clock
Barramento de Endereos (Address Bus)
Barramento de Dados (Data Bus)
Memria dePrograma
(ROM)
Memria deDados(RAM)
Portas deEntrada e Sada
(I/O)
Barramento de Controle (Control Bus)
CPU
Mundo Exterior
Clock
Sistemas MicrocontroladosComponentes essenciais de um Microcontrolador
CPU (Unidade central de processamento) : A unidade lgica aritmtica (ALU), que executa os
clculos. Registradores necessrios para o funcionamento bsico
da CPU, como o contador de programa (PC), ponteirode pilha (SP) e registrador de status (SR).
Outros registradores para armazenar resultadostemporariamente.
Decodificador de Instrues e outros circuitos lgicospara controlar a CPU, circuitos de reset e interrupes, eassim por diante.
Memria de programa: memria (no-voltil somente deleitura, ROM), que mantm o seu contedo quando aalimentao removida.Memria de dados : conhecida como memria de acessoaleatrio (RAM) e, geralmente volteis.
Portas de entrada e sada : Para fazer comunicao digitalcom o mundo exterior.
Barramentos : fazer a ligao desses subsistemas para atransferncia de dados, endereos, controle e instrues.
Clock: Para manter todo o sistema sincronizado. Pode sergerados internamente ou obtidos a partir de um cristal oufonte externa; MCUs modernos oferecem uma escolhaconsidervel de clocks.
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
19/40
19Powered by Enderson Neves Cruz
Sistemas MicrocontroladosArquitetura tpica da CPU de um Microcontrolador
X
Apontadorde pilha
(SP)Contador de
Programa(PC)
R1
Rn
AcumuladorCdigo deinstruo Complementos
Decodificador
Unidade decontrole
Buffer deEndereo
Buffer deDados
C
Z
CY
AC
P
Unidade Lgica eAritmtica
(ALU)
FlagsRegistrador
de status (SR)
Registradorde instrues
Registradores
Barramento de Endereos
Barramento de Dados
Sinais de controle
X
Apontadorde pilha
(SP)Contador de
Programa(PC)
R1
Rn
AcumuladorCdigo deinstruo Complementos
Decodificador
Unidade decontrole
Buffer deEndereo
Buffer deDados
C
Z
CY
AC
P
Unidade Lgica eAritmtica
(ALU)
FlagsRegistrador
de status (SR)
Registradorde instrues
Registradores
Barramento de Endereos
Barramento de Dados
Sinais de controle
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
20/40
20Powered by Enderson Neves Cruz
Sistemas MicrocontroladosArquiteturas Von Newmann x Harvard
A arquitetura Harvard um conceito mais recente que a de von Neumann. Ela adveio da necessidade de se obteruma arquitetura que pudesse trabalhar mais rapidamente. Em um computador baseado na arquitetura Von Neumann, a CPU pode tanto ler uma instruo ou ler/escrever
um dado da/para a memria. Ambos no podem ocorrer ao mesmo tempo, pois a instruo e o dado utilizam omesmo sistema de barramento. O mapa de memria, que mostra os endereos em que cada tipo de memriaest localizado, torna-se particularmente importante.
Num computador usando arquitetura Harvard, a CPU pode ler uma instruo e executar um acesso de dado namemria ao mesmo tempo, mesmo sem um cach. Como seu pipeline, esse tipo de arquitetura consegueprocessar um nmero maior de instrues por ciclo de clock. Alm disso, pode ser mais rpido para um circuitocomplexo porque as buscas de instrues e acesso a dados no so sustentados por uma nica via de memria.Possibilidade de tamanhos diferenciados entre barramento de dados e de programa
Um problema com a arquitetura Harvard que as constantes (tabelas, muitas vezes de pesquisa) devem serarmazenados na memria do programa porque ela no-voltil. Isto significa que as constantes no pode ser lido
da mesma forma como os valores volteis da memria de dados. Instrues especiais para ler essas tabelasdevem ser fornecidos ou parte da memria de programa deve ser mapeada em memria de dados.
Memria dePrograma
(ROM)
Memria deDados
(RAM)
CPUAddress Bus
Data Bus
Address Bus
Data Bus
Memria dePrograma
(ROM)
Memria deDados
(RAM)
CPUAddress Bus
Data Bus
Address Bus
Data Bus
Memria dePrograma
(ROM)
Memria deDados
(RAM)
CPUAddress Bus
Data Bus
Espao dememria livre
Memria dePrograma
(ROM)
Memria deDados
(RAM)
CPUAddress Bus
Data Bus
Espao dememria livre
Arquitetura Von NewmannArquitetura Harvard
l d
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
21/40
21Powered by Enderson Neves Cruz
Sistemas MicrocontroladosArquiteturas Von Newmann x Harvard
Pipeline Pipeline uma tcnica de hardware que permite que a CPU realize a busca de uma ou mais instrues alm da
prxima a ser executada. Estas instrues so colocadas em uma fila de memria (dentro da CPU) ondeaguardam o momento de serem executadas.
A tcnica de pipeline utilizada para acelerar a velocidade de operao da CPU, uma vez que a prximainstruo a ser executada est normalmente armazenada dentro da CPU e no precisa ser buscada da memria,normalmente muito mais lenta que a CPU.
Busca Instruo 1Executa Instruo 1
Busca Instruo 2
Executa Instruo 2
Busca Instruo 3
Executa Instruo 3
Busca Instruo 4 Despreza
MOVLW 55H Busca SUB1 Executa SUB1
MOVWF PORTO
CALL SUB1
BSF PORTA,3
INSTRUO SUB1
Fluxo de Instruo/ Pipeline
Si Mi l d
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
22/40
22Powered by Enderson Neves Cruz
Sistemas MicrocontroladosRISC x CISC
CISC - Complex Instruction Set Computer
Computador com um Conjunto Complexo de Instrues
conjunto elevado e complexo de instrues
formatos complexos e diferentes de instrues modos simples de endereamento memria vrios ciclo mquina por operao os chips so mais complexos e muito mais caros. facilita a programao
Os processadores baseados nesta arquitetura contm umamicroprogramao, ou seja, um conjunto de cdigos de
instrues que so gravados no processador, permitindo-lhereceber as instrues dos programas e execut-las, utilizandoas instrues contidas na sua microprogramao. Seria comoquebrar estas instrues, j em baixo nvel, em diversasinstrues mais prximas do hardware (as instrues contidasno microcdigo do processador).Como caracterstica marcante esta arquitetura contm umconjunto grande de instrues, a maioria deles em um elevadograu de complexidade. Os processadores CISC tm avantagem de reduzir o tamanho do cdigo executvel por jpossuirem muito do cdigo comum em vrios programas, emforma de uma nica instruo.
Processadores CISC: x86 Intel, famlia Motorola M680x0Microcontroladores CISC: 8051,
RISC - Reduced Instruction Set Computer
Computador com um Conjunto Reduzido de Instrues
conjunto reduzido e simples de instrues
formatos simples e regulares de instrues modos simples de endereamento memria uma operao elementar por ciclo mquina uso de pipeline os chips so mais simples e muito mais baratos.
A idia principal, que apesar de um processador CISC sercapaz de executar centenas de instrues diferentes, apenas
algumas so usadas freqentemente. Poderamos ento criarum processador otimizado para executar apenas estasinstrues simples que so usadas mais freqentemente. Emconjunto com um software adequado, este processador seriacapaz de desempenhar quase todas as funes de umprocessador CISC, acabando por compensar suas limitaescom uma maior velocidade de processamento.
Processadores RISC: DEC Alpha, SPARC, MIPS, e PowerPCMicrocontroladores RISC: PIC, MSP430, ARM
Si Mi l d
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
23/40
23Powered by Enderson Neves Cruz
Sistemas MicrocontroladosRISC x CISC
Atualmente existem processadores, como o Pentium e o Athlon que utilizam uma arquitetura hbridaInternamente, o processador processa apenas instrues simples. Estas instrues internas, variam deprocessador para processador, so como uma luva, que se adapta ao projeto do chip. Sobre estas instruesinternas, temos um circuito decodificador, que converte as instrues complexas utilizadas pelos programasem vrias instrues simples que podem ser entendidas pelo processador. Estas instrues complexas sim,so iguais em todos os processadores. isso que permite que os processadores Athlon e um Pentium sejamcompatveis entre s.
Maiores informaes: http://0fx66.com/blog/hardware/cisc-risc/
Instrues de mquina
Execuo daInstruo
Instrues de mquina
Converso paraMicrocdigo
Microinstrues
Execuo daMicronstruo
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
24/40
Si t Mi t l d
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
25/40
25Powered by Enderson Neves Cruz
Sistemas MicrocontroladosVantagens da utilizao de Microcontroladores
Microcomputador-de-um-s-chip Pode reunir em um s chip:
Microprocessador, Memrias (ROM,RAM, flash)
Temporizadores (timers) Contadores WDT (Watch Dog Timer) POR (Power On Reset) Portas de comunicao (Serial, USB, I2C, etc.) Portas de I/O Conversores AD/DA etc.
Menor tamanho Menor rea de placa Menor custo Facilidade no desenvolvimento Menor tempo de desenvolvimento Programa gravado na memria interna o que impede cpias ilegais Grande quantidade de fabricantes e famlias e tipos.
Si t Mi t l d
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
26/40
26Powered by Enderson Neves Cruz
Sistemas MicrocontroladosAplicaes
Atualmente microcontroladores esto presentes em quase todos equipamentos eletrnicos.
Eletrnicos de consumo Eletrnica automotiva Eletrnica de Segurana Automao Residencial Automao Industrial Robtica Telemetria/telecomando Instrumentao Lazer/Entretenimento etc.
Sistemas Microcontrolados
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
27/40
27Powered by Enderson Neves Cruz
Sistemas MicrocontroladosArquitetura Famlia MSP430x14x - Diagrama em blocos
Sistemas Microcontrolados
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
28/40
28Powered by Enderson Neves Cruz
MAB, 16-Bit
MDB, 16-Bit MDB, 8-Bit
Sistemas MicrocontroladosArquitetura Famlia MSP430x14x - Diagrama em blocos
CPU
Interface JTAG
Clock
Portas de entrada e sada
USARTsTimers
WatchdogTimer
Memria deDadosMemria de
ProgramaConversor
ADC
Comparador
Power OnReset
Multiplicador por Hardware
Sistemas Microcontrolados
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
29/40
29Powered by Enderson Neves Cruz
Sistemas MicrocontroladosArquitetura Famlia MSP430x14x - Caractersticas
Flexvel e poderosa capacidade de processamento. Arquitetura von-Neumann 16 bits RISC Arquitetura Ortogonal Sete modos de endereamento fonte (operando fonte) Quatro modos de endereamento destino (operando destino) Somente 27 instrues (core) e 24 emuladas Interrupes aninhadas em funo do nvel de prioridade Grande quantidade de registros Capacidade de execuo de programa em RAM
Eficiente processamento de tabelas Rpida converso hex para decimal Grande nmero de perifricos, todos mapeados em memria Conversor A/D de 12 bits (2 s a 6MHz) Comparador analgico de preciso Mltiplos temporizadores e capacidade de PWM
Conversor A/D tipo slope (rampa) USARTs Watchdog timer Mltiplos I/O com capacidade de interrupo Oscilador programvel Oscilador a cristal de 32 KHz Oscilador a cristal de 450KHz a 8MHz
Sistemas Microcontrolados
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
30/40
30Powered by Enderson Neves Cruz
Sistemas MicrocontroladosArquitetura Famlia MSP430x14x - Caractersticas
Ultrabaixo consumo
Consumo de corrente nominal de 0.1 a 400 A a 1MHz Faixa de tenso de alimentao de 1.8 a 3.6V Sada do modo de stand-by em 6 s.
Grande capacidade de interrupo tornando o polling desnecessrio.Ferramentas de desenvolvimento completas e de fcil uso
Simulador (incluindo perifricos e simulao de interrupo) Compilador C Assembler Linker Emulador via JTAG
Vrias verses de dispositivos:
ROM OTP FLASH EPROM
Sistemas Microcontrolados
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
31/40
31Powered by Enderson Neves Cruz
Sistemas MicrocontroladosArquitetura Famlia MSP430x14x -Caractersticas
Perifricos da famlia MSP430x14X: Sistema bsico de clock contendo:
Um oscilador controlado digitalmente DCO Um oscilador a cristal de baixa freqncia LFXT1 Um oscilador a cristal de alta freqncia LFXT2
Watchdog timer / temporizador de propsitos gerais Timer A3 (contador/temporizador de 16 bits com 3 registros de captura/compara e sadas PWM) Timer B7 (contador/temporizador de 16 bits com 7 registros de captura/compara e sadas de PWM) Portas de I/O 1 e 2 (8 bits de I/O cada, todas com capacidade de interrupo). Portas de I/O 3, 4, 5 e 6 (8 bits de I/O cada) Comparador A (comparador analgico de preciso ideal para converso A/D tipo slope) ADC/12 (conversor analgico/digital - 8 canais multiplexados de12 bits) USART0 e USART1(universal sncrono/assncrono recebe/transmite serial) Multiplicador de hardware
Dispositivos 14X disponveis:
MSP430F147 - 32KB + 256B Flash, 1KB RAM MSP430F148 - 48KB + 256B Flash, 2KB RAM MSP430F149 - 60KB + 256B Flash, 2KB RAM
Sistemas Microcontrolados
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
32/40
32Powered by Enderson Neves Cruz
Sistemas MicrocontroladosArquitetura do microcontrolador PIC16F84A
Sistemas Microcontrolados
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
33/40
33Powered by Enderson Neves Cruz
Sistemas MicrocontroladosArquitetura do microcontrolador PIC16F84A
Caractersticas principais
1k (1024) palavras de 14 bits para programa; 68 bytes de RAM para uso geral; 64 bytes de EEPROM para dados; Stack com 8 nveis; Arquitetura Harvard; Apenas 35 instrues RISC;
15 registros especficos em RAM para controle do chip e seus perifricos; Timer de 8 bits com opo de prescaler de 8 bits; 13 pinos que podem ser configurados individualmente como entrada e sada; Alta capacidade de corrente nos pinos; Capacidade de gerenciar interrupes (at 5 entradas), do timer e EEPROM;
Watch Dog para recuperao e reset em caso de travas no software; Memria de programa protegida contra cpias; Modo Sleep para economia de energia; Vrias opes de osciladores.
DatasheetPIC16F84A
Modos de Endereamento MSP430
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
34/40
34Powered by Enderson Neves Cruz
Modos de Endereamento MSP430
Modos de endereamento Sintaxe Descrio Endereo Operando
Modo registrador Rn O contedo do registrador o operando Registrador Contedo do Registrador
Modo indexado X(Rn) Rn + X aponta para o operando.X armazenado na prxima word. Contedo do Registrador + X Memria
Modo simblico ADDR PC + X aponta para o operando.X armazenado na prxima word. Contador de programa (PC) + X Memria
Modo absoluto &ADDR A palavra aps a instruo contm o endereoabsoluto Fornecido diretamente na instruo Memria
Modo registro indireto @Rn Rn usado para apontar para o operando. Contedo do Registrador Memria
Modo indireto comautoincremento @Rn+
Rn usado para apontar para o operando.Rn incrementado aps o uso da instruo. Contedo do Registrador Memria
Modo imediato #N A palavra aps a instruo contm a constanteimediata N. Fornecido diretamente na instruo
Contador de Programa - PC
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
35/40
35Powered by Enderson Neves Cruz
Contador de Programa PCContador de Programa ( Program Counter PC )
O Contador de programa (PC/R0) aponta para a prxima instruo a ser executada. Cada instruo usa um nmero par de bytes ( 2, 4 ou 6), desta forma o contador de programa ser incrementado
de acordo com o nmero de bytes da instruo O acesso das instrues no espao de endereamento de 64KB, realizado em Words, o PC alinhado para os
endereos pares, para tanto o bit 0 sempre mantido em nvel lgico 0.
Contador de programa - PC
O PC pode ser lido ou escrito diretamente pelo software em execuo, permitindo o uso de tcnicas, como porexemplo: Desvio Calculado.Exemplos :
MOV #USJT ,PC ;Desvio para o endereo USJTMOV R7 ,PC ;Desvio para o endereo contido em R7MOV @R14 ,PC ;Desvio indireto para o endereo apontado por R14
Apontador de Pilha - SP
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
36/40
36Powered by Enderson Neves Cruz
Apontador de Pilha SPApontador de Pilha ( Stack Pointer SP )
O apontador da pilha (SP/R1) utilizado pela CPU para armazenar os endereos de retorno de sub-rotinas einterrupes.
Utiliza modo de prdecremento (decrementa e depois desempilha) e ps-incremento (incrementa e depoisempilha) .
A cada operao de empilhamento (armazenar dado na pilha) o SP decrementado de 2, e a cada operao dedesempilhamento (leitura de dado na pilha) o SP incrementado de 2.
O SP pode se utilizado por software em todos os modos de endereamento e com todas as instrues. O SP inicializado em memria RAM pelo usurio, sendo alinhado por endereos pares, para tanto o bit 0 sempre mantido em nvel lgico 0.
Aps o reset o SP fica em valor indeterminado, devendo ser inicializado pelo usurio antes de utilizar a pilha.
Apontador de Pilha - SP
Exemplo :
MOV 2(SP) ,R6 ;Carrega I2 em R6MOV R7 ,0 (SP) ;Escreve R7 em TOS
PUSH #0123h ;Coloca 0123h em TOSPOP R8 ;R8 = 0123h
Temos um caso especial da utilizao do SP como argumento para asinstrues PUSH e POPPUSH Armazenamento na pilhaPOP Leitura de um valor da pilha
Registrador de Status SR
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
37/40
37Powered by Enderson Neves Cruz
Registrador de Status SRRegistrador de Status ( Status Register SR )
Status Register (SR/R2): Registrador especial de 16 bits que contem os FLAGS de condies lgicas e aritmticasalem dos bits de controle de Low Power Mode (LPM) e bit de habilitao global das Interrupes Mascarveis.
Registrador de Status ( Status Register SR )Descrio
8 V Flag de estouto (Overflow). Ser setado se o resultado de uma operao aritmticatransbordar (overflow). O bit vlido para operao de byte ou de word.
7 SCG1 Gerador de clock do sistema . Controla o sinal SMCLK.
6 SCG0 Gerador DC do DCO (Oscilador Controlado Digi ta lmente) do sistema. Controla o sinal DCOCLK.
5 OSCOFFFlag de desligamento do cristal oscilador do sistema de clock . Se este bit estiver setado, o oscilador a cristal entra em estado desligado. Todas asatividades dependentes deste sinal de clock cessam, contudo o contedo de RAM, portos e registros so mantidos. Caso a CPU dependa deste clocksomente voltar a funcionar se ocorrer uma interrupo externa, quando o bit GIE estiver habilitado ou um sinal NMI ou reset.
4 CPUOFF Flag de desligamento do clock da CPU . Se este bit estiver setado a CPU entra em modo desligado. A execuo de programaspra, contudo, RAM, registros e portas so preservados. Somente sair deste estado atravs de interrupo ou reset.
3 GIEFlag habilitador geral de interrupo (General Interrupt Enable) . Se setado habilita todas as interrupes mascarveis. Se resetado desabilita todas asinterrupes mascarveis. O bit GIE resetado automaticamente pela interrupo e setado automaticamente pela instruo RETI ou por outra instruoapropriada.
2 N Flag Negativo. Ser setado se o resultado de uma operao for negativo. Em operaes de word o bit N = bit 15 do resultado.Em operaes de byte o bit N = bit 7 do resultado.
1 Z Flag Zero.Ser setado se o resultado de uma operao de byte ou word for zero. Caso contrrio ser resetado.
0 C Flag de transporte (carry) . Ser setado se uma operao produzir um carry (vai um) e zerado se no houver carry.Em algumas instrues o bit de carry indica resultado diferente de zero (bit de zero invertido).
Bit
Os bits de status V, N, Z e C so modificados somente com instrues especficas, consulte o conjunto de instrues.
Conjunto de instrues
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
38/40
38Powered by Enderson Neves Cruz
j
Descrio
1 MOV Copia dados da fonte para o destino
2 CLR Apaga o contedo do destino
3 SWP Troca os bytes do destino
4 PUSH Amazena um dado na pilha5 POP Restaura um dado da pilha
6 BIC Apaga um ou mais bits do destino
7 BIS Seta um ou mais bits do destino
Instrues de movimentao e manipulao de dados
Instruo Descrio
8 ADD Adio
9 ADDC Adio com transporte
10 ADC Adio do transporte
11 DADD Adio decimal
12 DADC Adio decimal com transporte
13 SUB Subtrao
14 SUBC Subtrao com emprstimo
15 SBC Subtrao o bit de emprstimo
16 INC Incremento
17 INCD Incremento em dois
18 DEC Decremento
19 DECD Decremento de dois
20 RLA Rotao aritmtica esquerda (multiplicao por 2)
21 RRA Rotao aritmtica direita (diviso por 2)
22 SXT Extenso do sinal23 AND Operao lgica E
24 XOR Operao lgica Ou Exclusivo
25 INV Inverte os bits (Operao lgica NOT)
26 RLC Rotao esquerda por meiodo transporte
27 RRC Rotao direita por meiodo transporte
Instrues Aritmticas e Lgicas
Instruo
Conjunto de instrues
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
39/40
39Powered by Enderson Neves Cruz
j
Descrio
28 BIT Teste de bits
29 CMP Comparao
30 TST Testa se igual a zero
31 BR Desvio absoluto incondicional32 JMP Slato absoluto incondicional
33 JEQ/JZ Desvia se igual a zero
34 JNE/JNZ Desvia se diferente de zero
35 JC/JHS Desvia se C = 1 ou se maior ou igual
36 JNC/JLO Desvia se C = 0 ou se menor
37 JGE Desvia se maior/igual38 JL Desvia se menor
39 JN Desvia se negativo
40 CALL Chamada de sub-rotina
41 RET Retorno de sub-rotina
42 RETI Retorno de interrupo
Instrues de teste e desvio
Instruo Descrio
43 CLRC Apaga bit C
44 CLRN Apaga bit N
45 CLRZ Apaga bit Z
46 SETC Seta bit C47 SETN Seta bit N
48 SETZ Seta bit Z
49 DINT Desabilita interrupes
50 EINT Habilita interrupes
51 NOP Nenhuma operao
Instruo
Instrues de controle da CPU
Conjunto de instrues
8/8/2019 Aulas 2 - Laboratrio de Microprocessadores
40/40
40Powered by Enderson Neves Cruz
j Leis de De Morgan