Escolar Documentos
Profissional Documentos
Cultura Documentos
MICROCONTROLADORES
HARDWARE
Objetivos
2
Arquitetura de
um
Microcontrolador
Unidade Central de
Processamento
Periféricos
• Portas de Entrada e Saída
• Porta Serial
• Temporizador / Contador
• Conversor A/D
Diagrama de Blocos
MICRO-I
Prof. Mauricio 1
Arquitetura de um Microcontrolador
3
Arquitetura de um
Microcontrolador
Arquitetura de um Microcontrolador
4
MICRO-I
Prof. Mauricio 2
Arquitetura de um Microcontrolador
5
Arquitetura de um Microcontrolador
6
MICRO-I
Prof. Mauricio 3
Arquitetura de um Microcontrolador
7
Periféricos
Arquitetura de um Microcontrolador
8
Periféricos
Os periféricos são circuitos digitais incorporados ao CI do
microcontrolador, dentre os quais destacam-se:
E
Temporizadores Conversores
Portas de I/O Porta Serial ... T
/ Contadores A/D
C
MICRO-I
Prof. Mauricio 4
Arquitetura de um Microcontrolador
9
Periféricos
Arquitetura de um Microcontrolador
10
Periféricos
PORTAS DE ENTRADA E SAÍDA
As portas de entrada e saída de um microcontrolador são a
interface com os componentes externos do sistema de
controle.
Geralmente são configuráveis bit-a-bit como entrada ou
saída.
Isso permite o seu uso para receber informações de sensores
bem como enviar comandos aos atuadores do processo a
ser controlado.
As portas de I/O são multiplexadas pois a maioria das
portas possuem mais do que uma função.
MICRO-I
Prof. Mauricio 5
Arquitetura de um Microcontrolador
11
Periféricos
Registradores comuns utilizados na programação C de
microcontroladores PIC.
TRISx: Configura Pinos para Sinais de Entrada e/ou Saída.
1→ Entrada
0→ Saída
Arquitetura de um Microcontrolador
12
Periféricos
PORTAS DE ENTRADA E SAÍDA
MICRO-I
Prof. Mauricio 6
Arquitetura de um Microcontrolador
13
Periféricos
PORTAS DE ENTRADA E SAÍDA
Arquitetura de um Microcontrolador
14
Periféricos
Manipulando os pinos de I/O do microcontrolador.
Registrador TRISB
TRISB.RB1 = 1;
TRISB.RB3 = 0;
TRISB.RB6 = 1;
MICRO-I
Prof. Mauricio 7
Arquitetura de um Microcontrolador
15
Periféricos
Manipulando os pinos de I/O do microcontrolador.
PORTB.RB1 = 1;
Registrador PORTB
On Off
Arquitetura de um Microcontrolador
16
Periféricos
Manipulando os pinos de I/O do microcontrolador.
PORTB.RB1 = 1;
PORTB.RB3 = 1;
On Off
MICRO-I
Prof. Mauricio 8
Arquitetura de um Microcontrolador
17
Periféricos
Manipulando os pinos de I/O do microcontrolador.
Manipulação do Byte
PORTB = 0;
On Off
Arquitetura de um Microcontrolador
18
Periféricos
Manipulando os pinos de I/O do microcontrolador.
Manipulação do Byte
PORTB = 255;
On Off
MICRO-I
Prof. Mauricio 9
Arquitetura de um Microcontrolador
19
Periféricos
Manipulando os pinos de I/O do microcontrolador.
Manipulação do Byte
PORTB = 0x0F;
On Off
Arquitetura de um Microcontrolador
20
Periféricos
Manipulando os pinos de I/O do microcontrolador.
Manipulação do Byte
PORTB = 0b01010101;
On Off
MICRO-I
Prof. Mauricio 10
Arquitetura de um Microcontrolador
21
Periféricos
Manipulando os pinos de I/O do microcontrolador.
Manipulação do Byte
PORTB = 0b00110000;
On Off
Arquitetura de um Microcontrolador
22
Periféricos
Manipulando os pinos de I/O do microcontrolador.
Manipulação do Byte
PORTB = 0x35;
On Off
MICRO-I
Prof. Mauricio 11
Arquitetura de um Microcontrolador
23
Periféricos
Manipulando os pinos de I/O do microcontrolador.
PORTB.RB2 = 1;
PORTB.RB5 = 1;
On Off
Arquitetura de um Microcontrolador
24
Periféricos
Manipulando os pinos de I/O do microcontrolador.
Manipulação do Byte
PORTB = 0;
On Off
MICRO-I
Prof. Mauricio 12
Arquitetura de um Microcontrolador
25
Periféricos
Manipulando os pinos de I/O do microcontrolador.
ERRO
Manipulação do Byte COMUM
PORTB = 1;
On Off
Arquitetura de um Microcontrolador
26
Periféricos
Manipulando os pinos de I/O do microcontrolador.
Manipulação do Byte
PORTB = 1;
CORRETO
On Off
MICRO-I
Prof. Mauricio 13
Arquitetura de um Microcontrolador
27
Periféricos
PORTAS DE ENTRADA E SAÍDA
Arquitetura de um Microcontrolador
28
Periféricos
Circuitos de Saída de Dados
Barra Resistiva
de 330Ω
MICRO-I
Prof. Mauricio 14
Arquitetura de um Microcontrolador
29
Periféricos
Circuitos de Entrada de Dados
Barra Resistiva
de 10KΩ
Arquitetura de um Microcontrolador
30
Periféricos
Circuitos de Entrada de Dados
MICRO-I
Prof. Mauricio 15
Arquitetura de um Microcontrolador
31
Periféricos
PORTA SERIAL
A porta serial transmite e recebe a informação bit-a-bit, permitindo a
conexão do sistema de controle com:
Outros sistemas de controle.
Sistemas supervisórios.
Periféricos remotos.
Atuadores remotos.
Os tipos mais usuais de portas seriais encontradas nos microcontroladores
são:
Assíncronas.
Síncronas (SPI e I2C). Estas mais utilizadas para a interconexão de CI’s.
Arquitetura de um Microcontrolador
32
Periféricos
PORTA SERIAL
MICRO-I
Prof. Mauricio 16
Arquitetura de um Microcontrolador
33
Periféricos
TEMPORIZADOR / CONTADOR
Estes periféricos possibilitam a temporização e a contagem de
eventos que são elementos essenciais à grande maioria dos
sistemas de controle.
Os temporizadores nada mais são do que contadores que
utilizam o próprio clock da CPU. Além disso, esses dispositivos
possuem capacidade para interromper a CPU quando sua
contagem máxima é ultrapassada (transbordo).
Existem vários modos de operação dos temporizadores /
contadores permitindo aplicações tais como:
Registrador de captura.
Gerador de baudrate.
Gerador PWM.
Arquitetura de um Microcontrolador
34
Periféricos
TEMPORIZADOR / CONTADOR
MICRO-I
Prof. Mauricio 17
Arquitetura de um Microcontrolador
35
Periféricos
CONVERSOR A/D
Este periférico é encontrado num grande número de
microcontroladores.
O conversor A/D é um dispositivo capaz de converter sinais
analógicos em informação digital.
O ADC mais comumente encontrado nos microcontroladores
é do tipo SAR (Sucessive Approximation Register) com
resolução de 8 a 12 bits.
Alguns fabricantes possuem microcontroladores com alta
resolução (16 bits) e tecnologia Delta- Sigma.
Arquitetura de um Microcontrolador
36
Periféricos
CONVERSOR A/D
Sistemas Analógicos
Exemplos:
Sensores de
Temperatura,
Luminosidade, etc.
Microfone.
Sinal Alternado, etc.
MICRO-I
Prof. Mauricio 18
Arquitetura de um Microcontrolador
37
Periféricos
CONVERSOR A/D
Clock
SAR
Entrada Registrador de
Analógica
- Aproximação
Ve
Sucessiva
+ d7
Vd
d6
d5
Saída
...
.
. ... Digital
.
d0
Conversor D/A
Arquitetura de um Microcontrolador
38
Periféricos
CONVERSOR A/D
MICRO-I
Prof. Mauricio 19
Arquitetura de um Microcontrolador
39
Diagrama de Blocos
Diagrama PIC
de Blocos 16F877A
Diagrama
de Blocos:
PIC
16F877A
MICRO-I
Prof. Mauricio 20
Diagrama
de Blocos:
PIC
16F877A
33 Portas de I/O
Diagrama
de Blocos:
PIC
16F877A
MICRO-I
Prof. Mauricio 21
Arquitetura de um Microcontrolador
43
Diagrama de Blocos – 16F877A
Analisando Códigos
Fonte em C
MICRO-I
Prof. Mauricio 22
Programação em C
45
Circuito Elétrico
Aguarda 1
segundo
Desliga LED1
Aguarda 1
segundo
MICRO-I
Prof. Mauricio 23
Analisando Códigos Fonte em C
47
Código 01
Código Fonte em Linguagem C
while(1)
{
PORTD.RD0 = 1; // Coloca pino RD0 em 1 – LED1 Ligado.
Delay_ms(1000); // Aguarda 1000 ms (milisegundos).
PORTD.RD0 = 0; // Coloca pino RD0 em 0 – LED1 Desligado.
Delay_ms(1000); // Aguarda 1000 ms (milissegundos).
}
}
Fluxograma
INÍCIO
MICRO-I
Prof. Mauricio 24
Analisando Códigos Fonte em C
49
Código 02
Código Fonte em Linguagem C
//Acionamento de Tecla
/* Ao acionar o botão CH1, o LED1 ACENDE. Ao desacionar o botão CH1, o LED1 APAGA.
O botão CH1 está ligado no pino 34 (RB1) e o LED1 está ligado no pino 19 (RD0)*/
void main()
{
adcon1 = 0x07; //Configura pinos analógicos para I/O digital.
trisd = 0; //Configura PORTD como saída.
portd = 0; //LEDS desligados.
trisb.rb1 = 1; //Configura a tecla CH1 (RB1) como entrada.
portb.rb1 = 1; //Mantenho o pino RB1 nível 1através do pull-up.
while(1)
{
if (portb.rb1 == 0) //Se a tecla CH1 for pressionada, então...
portd.rd0 = 1; //Acende LED1
else
portd.rd0 = 0; //Apaga LED1
}
}
Projetos Microcontrolados
50
Projetos Microcontrolados
MICRO-I
Prof. Mauricio 25
Projetos – Etapa: 1
51
• PIC 16F877A.
• Cristal de 8 MHz.
Projete o circuito
elétrico de um • 4 Botões ligados no Portb com
microcontrolador resistores de Pull-Up (B0, B1,
com as seguintes B2 e B3).
características: • 8 Leds ligados no Portd no
modo catodo comum (L0, L1,
L2, L3, L4, L5, L6 e L7).
Projetos – Etapa: 2
52
Utilizando o circuito elétrico desenvolvido na Etapa 1, para as
descrições narrativas abaixo, desenvolva o fluxograma e o código
fonte em linguagem C:
MICRO-I
Prof. Mauricio 26
Referências
53
Microcontroladores PIC – • Família PIC18F – Microchip Baseado no Compilador mikroC PRO for PIC
Programação Embarcada em C
Linguagem C Embarcada para • Microgenios
Microcontroladores
Introdução à Programação de • www.pictronics.com.br
Microcontroladores
Dúvidas
54
Terminamos!!!
Alguma Dúvida ???
MICRO-I
Prof. Mauricio 27