Microcontroladores Industriais - Faculdades Integradas Simonsen

Propaganda
Apostila de Microcontroladores Industriais
Prof. Vitor Dias
Introdução
Nos dias de hoje temos percebido o quanto estamos ao redor de
controles automáticos das mais diversas aplicações no dia-a-dia. Isto se deve
ao fato de que os microcontroladores estão presentes nestes circuitos e são
capazes de realizar controle de vários equipamentos. Por exemplo, podemos
considerar um circuito de senha que seja utilizado ao acesso de uma área
restrita com uma senha pré-estabelecida. Este tipo de circuito pode conter um
microcontrolador que é responsável por este tipo de controle. Outro exemplo
que podemos considerar, seria o controle do acendimento e desligamento de
lâmpadas de um shopping que pode ser utilizado um microcontrolador.
A vantagem que
um microcontrolador tem em relação a
um
microprocessador é que sua aplicação não depende do uso de periféricos e
memórias
como
nós
observamos
em
computadores
que
utilizam
microprocessadores pois em seu interior já contém todas estas atribuições
internas e isso o faz um circuito integrado muito particular. Portanto um
microcontrolador contém uma série de periféricos que são úteis para o
controle de qualquer processo, sendo eles:
• Memória de programa
• Memória de dados
• Portas de entrada e saída
• Timers (Contadores)
• Conversor Analógio/Digital (A/D)
• Etc.
1. Arquitetura de Microcontroladores
A arquitetura dos microcontroladores é composta, como já vimos, por
componentes essenciais ao seu funcionamento. Dessa forma podemos
descrever vários exemplos que podem ser utilizado os microcontroladores de
forma eficiente. Assim sendo, apresentaremos a seguir um diagrama em
blocos de um microcontrolador em quem se apresentam todos os
componentes utilizados nele e descreveremos um exemplo em que utilizamos
esses componentes.
Fonte: http://www.mzeditora.com.br/artigos/mic_modernos.htm ,
09/02/2012 às 15:47h
Para um projeto de controle de um elevador necessitaremos de vários
componentes, como memória ROM para o programa, memória RAM para os
dados, PORTA PARALELA para realizar os acionamentos, PORTA SERIAL
para receber os sinais digitais dos sensores e realizarmos as configurações e
rodarmos diagnósticos, um conversor AD para ler o sensor de carga que
informa o peso total das pessoas que entraram no elevador, um temporizador
para controlar o tempo de abertura das portas, dentre outros componentes que
poderíamos utilizar. Isso nos faz chegar ao diagrama acima apresentado e que
todos estes componentes se concentram em uma única pastilha que pode
realizar o controle desse sistema.
Os Microcontroladores que encontramos no mercado utilizam dois tipos
de arquitetura que são a de Von Neumann e a de Harvard. A arquitetura de
Von Neumann é muito comum nos microcontroladores já existentes no
mercado e a arquitetura Harvard corresponde àquela utilizada pela microchip.
Abaixo, apresentamos um exemplo em blocos dos dois tipos de arquitetura e a
sua devida descrição:
1.1.
Arquitetura Harvard
Fonte:
http://www.joiville.ifsc.edu.br/~nivaldo/Microcontroladores/Aulas/Introdu
cao_ao_PIC.pdf em 09/02/2012 às 15:45h
Percebemos já pela observação da figura esquemática deste tipo de
arquitetura que a memória de dados é separada da memória do programa e
isto garante um fluxo de informações bem mais eficiente através da CPU
(Unidade Central de Processamento) e conseqüentemente no dispositivo a ser
controlado. Estes tipos de microcontroladores são chamados de “RISC” que
provém de Computador com um conjunto Reduzido de Instruções (Reduced
Instruction Set Computer).
1.2.
Arquitetura Von Neumann
Fonte:
http://www.joiville.ifsc.edu.br/~nivaldo/Microcontroladores/Aulas/Introdu
cao_ao_PIC.pdf em 09/02/2012 às 15:45h
Neste tipo de arquitetura, observamos pelo diagrama esquemático que há
somente um único barramento onde os dados e endereços são utilizados e
isso faz com que o fluxo de dados entre a CPU e a memória de dados fique
mais comprometida em termos de velocidade. Este tipo de arquitetura é
chamado de “CISC” que origina de Computador com um Conjunto Complexo
de Instruções (Complex Instruction Set Computer).
Dessa forma, através da observação do esquema em blocos dos
componentes que compõem um microcontrolador, descreveremos a utilidade
de cada componente do microcontrolador em seu processo de ação no
sistema.
Fonte:
http://www.joiville.ifsc.edu.br/~nivaldo/Microcontroladores/Aulas/Introdu
cao_ao_PIC.pdf em 09/02/2012 às 15:45h
1.3.
Componentes principais do Microcontrolador
1.3.1. Unidade de Memória
Fonte:
http://www.joiville.ifsc.edu.br/~nivaldo/Microcontroladores/Aulas/Introdu
cao_ao_PIC.pdf em 09/02/2012 às 15:45h
A memória corresponde a parte responsável por guardar os dados no
microcontroldador de acordo com o endereço determinado.
1.3.2. Unidade Central de Processamento (CPU)
Fonte:
http://www.joiville.ifsc.edu.br/~nivaldo/Microcontroladores/Aulas/Introdu
cao_ao_PIC.pdf em 09/02/2012 às 15:45h
Este bloco executa as diversas operações matemáticas em um
microcontrolador. No interior da CPU se encontram os registros que ajudam a
executar com maior rapidez várias operações desejadas.
1.3.3. Barramento Bus
Fonte:
http://www.joiville.ifsc.edu.br/~nivaldo/Microcontroladores/Aulas/Introdu
cao_ao_PIC.pdf em 09/02/2012 às 15:45h
O barramento é composto por 8, 16 ou mais fios. Como podemos perceber
pela figura existem dois tipos de barramento que são o de dados e o de
endereços e que tem funções específicas. O número de linhas do barramento
de dados depende da quantidade de memória que se deseja endereçar e o
número de linhas do barramento de endereço depende da largura da palavra
de dados.
1.3.4. Unidade de entrada/saída
Fonte:
http://www.joiville.ifsc.edu.br/~nivaldo/Microcontroladores/Aulas/Introdu
cao_ao_PIC.pdf em 09/02/2012 às 15:45h
As entradas e saídas são denominadas I/O em que “I” significa entrada (input)
e “O” significa saída (output).
1.3.5. Porta de comunicação serial
Fonte:
http://www.joiville.ifsc.edu.br/~nivaldo/Microcontroladores/Aulas/Introdu
cao_ao_PIC.pdf em 09/02/2012 às 15:45h
Este controle a partir da porta serial tem por objetivo realizar controles
adicionais para verificação do status dos dispositivos e até diagnosticar
devidos problemas no circuito.
1.3.6. Unidade de Temporização
Fonte:
http://www.joiville.ifsc.edu.br/~nivaldo/Microcontroladores/Aulas/Introdu
cao_ao_PIC.pdf em 09/02/2012 às 15:45h
O bloco de temporização concede informações referentes ao tempo (hora,
duração de um evento). A unidade básica do temporizador é o contador que
incrementa ou decrementa um valor fixo de acordo com o intervalo de tempo
estabelecido. Com isso podemos conhecer intervalos de tempo decorridos
contendo dois marcos de tempo.
1.3.7. Watchdog (cão de guarda)
Fonte:
http://www.joiville.ifsc.edu.br/~nivaldo/Microcontroladores/Aulas/Introdu
cao_ao_PIC.pdf em 09/02/2012 às 15:45h
Este bloco ser refere a um contador interno que o programa sempre põe a
zero quando ele é executado corretamente. No caso de o programa travar, o
zero não vai ser escrito e o contador fará o reset sozinho quando chegar ao
seu valor máximo.
1.3.8. Conversor analógico – digital (A/D)
Fonte:
http://www.joiville.ifsc.edu.br/~nivaldo/Microcontroladores/Aulas/Introdu
cao_ao_PIC.pdf em 09/02/2012 às 15:45h
Como os sinais dos periféricos de entrada de dados como por exemplo
sensores analógicos não podem ser entendidos pelos microcontroladores da
forma como sinais digitais (0 ou 1), estes sinais ou variações analógicas
precisam ser convertidos em sinais digitais para que possa ser compreendido
pelo microcontrolador. Esta operação será executada por este bloco
(conversor A/D) que será convertido para um valor binário e com isso poderá
ser processado pela CPU rapidamente.
1.3.9. Esquema detalhado de um Microcontrolador
Dessa forma conhecendo todos os componentes um pouco melhor que
compõem o microcontrolador, podemos apresentar a seguir um diagrama mais
detalhado dos componentes internos já observados de um microcontrolador.
Logo após apresentamos uma figura que inclue todos estes blocos incluídos
em um circuito integrado.
Fonte:
http://www.joiville.ifsc.edu.br/~nivaldo/Microcontroladores/Aulas/Introdu
cao_ao_PIC.pdf em 09/02/2012 às 15:45h
Fonte:http://www.roboticalivre.com/index.php?
option=com_flexicontent&view=items&cid=58&id=70 ,
09/02/2012
às
15:55h
Exercícios
1) Qual alternativa representa corretamente os componentes principais
pertencentes a um microcontrolador?
2) Qual alternativa representa corretamente os dois tipos de arquitetura em um
microcontrolador?
3) Qual é a principal característica da arquitetura Harvard?
4) Qual o bloco do microcontrolador que executa as operações matemáticas?
5) Qual a unidade responsável por guardar os dados no microcontrolador?
6) Qual a função do Conversor A/D no microcontrolador?
7) Qual a função da Porta Paralela?
8) Qual o componente que se encontra no interior da CPU que ajuda a
realizar as operações desejadas com maior rapidez?
2. Programação de Microcontroladores
Os
microcontroladores
em
geral
podem
ser
classificados
em
programáveis e reprogramáveis. Ilustramos os dois tipos logo abaixo:
Fonte: http://pt.wikipedia.org/wiki/Microcontrolador_PIC , 20/03/2012 às
16:00h
Além disso podemos expressar a performance de um microcontrolador com
relação as funcionalidades existentes através do gráfico abaixo:
Fonte:
http://www.roboticalivre.com/index.php?
option=com_flexicontent&view=items&cid=58&id=70
Com isso, os microcontroladores se estendem a várias aplicações com
inúmeras funcionalidades. Alguns exemplos de aplicações podem ser
apresentados abaixo:
Fonte:http://www.roboticalivre.com/index.php?
option=com_flexicontent&view=items&cid=58&id=70 ,
15:55h
09/02/2012
às
Fonte:http://www.roboticalivre.com/index.php?
option=com_flexicontent&view=items&cid=58&id=70 ,
09/02/2012
às
15:55h
3. Conjunto de Instruções
As instruções que são compreendidas pelo microcontrolador, são
conhecidas como o “Conjunto de Instruções”. Quando se escreve um
programa na linguagem Assembler, está a se “contar uma estória”,
especificando as instruções pela ordem que as mesmas devem ser
executadas. Abaixo apresentamos um conjunto de instruções de um
microcontrolador PIC com os respectivos blocos de operações divididos:
Fonte: http://www.baixebr.org/cursos-e-apostilas/apostila/apostilamicrocontroladores-pic-senac/, 20/03/2012 às 15:20h
4. Modos de Endereçamento
Os seguintes modos de endereçamento podem variar de
microcontrolador para microcontrolador. Dessa forma podemos apresentar
como são representados os modos de endereçamento no microcontrolador
8051. Para acessar um dado, as instruções do microcontrolador 8051 contam
com seis tipos de endereçamentos: Direto, Indireto, por Registradores, por
Registrador Específico, Imediato e Indexado.
•
Endereçamento Direto: nesse modo, o endereço do operando é
especificado por um campo de 8bits na instrução. Somente RAM de
dados interna e a região SFR pode ser diretamente endereçadas.
•
Endereçamento Indireto: a instrução especifica um registrador que
contém o endereço do operando. Ambas externa e interna RAM’s
podem ser indiretamente acessadas. Se tal endereço possui 8bits, seu
valor é armazenado em R0 ou R1, do respectivo banco selecionado, ou
no Stack Pointer. Por outro lado, se tal endereço possui 16bits, seu
valor é armazenado no registrador DPTR.
•
Endereçamento por Registradores: instruções que suportam um espaço
de três bits em seu opcode podem acessar registradores de R0 a R7
dos bancos de registradores. Tais instruções são eficientes por
eliminarem um byte de endereço. Quando uma instrução desse tipo é
executada, um dos quatro bancos de registradores é selecionado pelos
bits RS0 e RS1 de PSW em tempo de execução.
•
Endereçamento por Registrador Específico: algumas instruções são
específicas a certos registradores. Por exemplo, algumas instruções
sempre operam no Acumulador e, para elas, não é necessário um
ponteiro. O próprio opcode é capaz de realizar tal tarefa.
•
Endereçamento Imediato: quando uma constante segue o opcode.
•
Endereçamento Indexado: somente a Memória de Programas, cuja
única operação é leitura, pode ser acessada por esse modo. É usado
para fazer leituras em tabelas na Memória de Programas. Um
registrador de 16bits (DPTR ou PC) aponta para o início da tabela
enquanto o Acumulador é ajustado para a n-ésima posição da mesma.
O endereço de uma entrada para a tabela é formado pela soma entre o
Acumulador e o registrador de 16bits. Uma outra aplicação desse tipo
de endereçamento é na formação do endereço destino de jumps pela
soma do índice e do valor do Acumulador.
Exercícios:
1) Quais são as principais instruções de um microcontrolador?
2) Quais são os três principais tipos de endereçamento?
Fonte:
http://www.joiville.ifsc.edu.br/~nivaldo/Microcontroladores/Aulas/Introdu
cao_ao_PIC.pdf em 09/02/2012 às 15:45h
Fonte:http://www.mzeditora.com.br/artigos/mic_modernos.htm ,
09/02/2012 às 15:47h
http://www.roboticalivre.com/index.php?
option=com_flexicontent&view=items&cid=58&id=70 ,
09/02/2012
às
15:55h
http://members.fortunecity.com/fabiomed/microcontroladores/m8051.htm
l, 20/03/2012 às 15:00h
Download