Buscar

SENAI_Microcontroladores_Aula_01

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 42 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 42 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 42 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Aula 1
Prof. Ricardo Teixeira
Tecnologia em Mecatrônica Industrial
SENAI
Modelo da disciplina
Aulas teórica e práticas em hardware e simuladas.
Programação em C
Microcontrolador PIC18F4550
Kit didático Mac Master 2
Como está o nível do C da turma?
2
Modelo da disciplina
Avaliação 1:
5 atividades ao longo das 10 primeiras aulas. 
Todas devem ser entregues na data especificada.
Todas as atividades deverão conter os arquivos para simulação e execução do projeto.
Avaliação 2:
Projeto em grupo.
Descrição do projeto (o que vai ser feito).
Pode compor com outras disciplinas (ex.: controlar um motor em eletrônica de potência etc.).
Esquema elétrico e código fonte.
Apresentação funcionando no kit didático.
Os códigos das atividades deverão ser compreensíveis. Se algum cálculo for realizado código deve ter os comentários explicando como se chegou ao resultado.
A descrição do projeto deve ser apresentada e aprovada.
3
Modelo da disciplina
Avaliação Final:
Prova teórica aberta com 5 questões.
Tipo de questão:
Criar um código dado um problema.
Criar um circuito dado o código.
Questões discursivas.
Prova sem consulta e individual realizada em papel pautado.
Diferença para os microprocessadores.
4
Introdução
O microcontrolador é pequeno computador em um único chip.
Neste mesmo chip temos o core de processamento, memória e periféricos de E/S programáveis.
Os modelos mais novos não necessitam de outros componentes para funcionar, são autossuficientes.
Estão disponíveis em diversos encapsulamentos, variadas famílias e modelos com características próprias (conversores AD, USB, tipo de arquitetura etc.).
Diferença para os microprocessadores.
5
Introdução
Diagrama em blocos do microcontrolador PIC16F877. Fonte: http://www.mikroe.com/
6
Aplicações
Processos Industriais;
Automóveis;
Dispositivos eletrônicos (smartphones, brinquedos, eletrodomésticos etc.);
Aplicações médicas;
Redes de Sensores Sem Fio (RSSF);
Robótica etc.
7
Aplicações
8
Aplicações
9
Modelos
Diversos fabricantes:
Microchip (PIC e dsPIC);
ATMEL (8051, AVR);
ARM (série Cortex);
Texas Instruments (série MSP)
10
Dúvida
E onde fica o Arduino nessa história?
Trata-se de uma plataforma de desenvolvimento opensource.
Utiliza microcontroladores ATMEL (ex.: Arduino Uno utiliza ATMEGA328).
11
Microcontroladores PIC
Microcontroladores PIC
Desenvolvidos pela Microchip
Chips com características semelhantes mesmo em famílias diferentes (ex. PIC16F877A e PIC18F4550).
13
Alguns Chips
PIC16F628A 
 8 bits, 2 KB de FLASH, 20 MHz, USART.
PIC 16F877A
8 bits, 8 KB de FLASH, 20 MHz, SPI, I²C.
PIC 18F4550
8 bits, 32 KB de FLASH, 48 MHz, USB.
dsPIC30F4013 
16 bits, 48 KB de FLASH, 40 MHz, CAN BUS, DSP.
14
PIC 16F877A
15
PIC 18F4550
16
PIC18F4550
Clock de até 48 MHz
32 KB de memória FLASH
35 E/S, 
13 canais A/D 10 bits, 
Protocolos de comunicação USB, UART, SPI e I²C,
1 PWM
4 Timers
SPI, I²C, USART
Boot-loader, necessita de gravador apenas na primeira gravação
17
PIC18F4550
5 portas digitais de entrada e saída: A, B, C, D, E – cada uma com capacidades diferentes.
USB 2.0 – HID (Human Interface Device): é reconhecido como um novo dispositivo no Windows por exemplo.
18
Arquitetura
PIC18F4550
Arquitetura Harvard (memórias separadas com barramentos independentes);
Porta A e B: 8 bits;
Porta C: 7 bits, RC3 não está disponível;
Porta D e E: 4 bits;
Apenas um barramento de dados;
Circuito de geração de clock interno.
 
dsPIC tem 2 barramentos de dados, X e Y.
19
Ferramentas de Desenvolvimento
CCS – compilador para a linguagem C
MPLAB – gratuito para download em www.micrcochip.com 
Permite programação em assembly e C, além da gravação dos dispositivos
Pode ser usado para programação em C por meio de plugins
Também podem ser usados para programação o PicKit 2 Programmer, PICKit 3 Programmer entre outros.
Mikro C – compilador para a linguagem C com diversas ferramentas integradas
Proteus – simulador de circuito elétrico e código digital de microcontroladores
Possui limitações de simulação importantes que podem inviabilizar a simulação ou não prever completamente o funcionamento do circuito real.
20
Material de Estudo
Materiais de aula no site www.ricardoteix.com
Livros:
Dogan Ibrahim, ADVANCED PIC MICROCONTROLLER PROJECTS IN C: From USB to RTOS with the PIC18F Series, Newnes, 2008. (mikroC)
David José de Souza, Desbravando o PIC, ed. Érica – 12ª Ed, 2009. (Assembly)
D. J. de Souza e Nicolás Cesar Lavinia, Conectando o PIC, recursos avançados. Ed Érica, 4ª Ed., 2007. 
Fábio Pereira, Microcontroladores PIC, programação em C (CCS). ed Érica, 7ª Ed, 2007.
21
Material de Estudo
Outros materiais:
Datasheet do PIC18F4550.
PIC18F4XXX Family Programming Specification
Microchip website
Manual do compilador utilizado (F1)
Apostilas e tutoriais em geral na internet sobre microcontroladores PIC em C e Proteus.
22
Kit Didático MacMaster 2
Displays 7 segmentos
LCD
LEDs
Teclado matricial
Memória serial (I²C)
RTC etc.
23
Kit Didático McMaster 2
24
Kit Didático McMaster 2
25
Um pouco do Proteus
Entradas:
1: botão pressionado gera zero
2: botão pressionado gera 1
3: Arranjo com barra de resistor e dip switch (repare no uso da ferramenta label)
4: gerador lógico apenas para simulação (logic state)
5: botão de três terminais
1
2
3
4
5
Um pouco do Proteus
Saídas:
1: Controlando o LED
2: Arranjo com barra de LEDs
3: mostrador lógico apenas para simulação (logc probe)
1
2
3
Um pouco do Proteus
Teste seus códigos
Hardware de teste – disponível no material de aulas
Atenção:
à velocidade, 
ao arquivo .hex,
ao relógio da simulação
à sinalização de níveis lógicos: 
vermelho = 1
Azul = 0
Amarelo = curto circuito
Cinza = desconectado ou indefinido (zona proibida)
Dica importante - 1
O arquivo de configuração 18F4550.h possui a sintaxe as configurações de várias funcionalidades do controlador.
Para visualizar quais as opções disponíveis:
Abra o projeto (Exemplo_01),
Compile (F9)
Botão direito sobre #include<PIC164550.h>
Opção: open file at cursor
Ou apenas na aba Files dê duplo clique no arquivo.
Dica importante - 2
O arquivo .lst que mostra o código em assembly permite a visualização da área de código.
Para visualizar o arquivo .lst:
Abra o programa (Exemplo_01)
Compile (F9)
Clique na aba Files
Output/Exemplo_01.lst
Dica importante - 3
Ao abrir e compilar um programa no CCS é criado automaticamente um projeto associado.
Caso você abra um segundo programa e tente compilar, o projeto aberto (com o primeiro programa aberto) é o que será compilado.
Dica importante - 4
A diretiva #use delay (clock = 20M) apenas informa ao compilador qual a velocidade do clock que será implementado em hardware
Se houver diferença entre o cristal escolhido no Proteus ou na placa e o informado na diretiva as temporizações serão erradas.
Programação em C
Compilador CCS
ANSI C mais as especificações do uC
Ver arquivo 18F4550.h
Atenção aos tipos de dados
33
Programação em C
Cada tipo comporta uma quantidade de bits
O estouro do valor pode acarretar em perda dos dados
34
Programação em C
Alguns tipos são equivalentes
35
Estrutura básica
#include <18F4550.h> // inclui arquivo de bibliotecas do dispositivo
#use delay (clock = 20000000)// Isso apenas informa para o compilador
 // qual a frequencia do clock será utilizada
 // para os calculos de tempo do compilador
// bits de configuração 
#fuses HS, NOWDT, NOPROTECT, NOPUT, NOBROWNOUT, NOLVP
void main () {// rotina principal
 //instruções que irão ser executadas apenas uma vez 
 
 while(true) { // loop infinito
 // Área de código em loop que será executada indefinidamente
 }
}
Os bits de configuração
XT,HS,INTRC – Selecionam a velocidade do cristal – datasheet página 121
NOWDT,WDT – Watchdog Timer (cão de guarda) - datasheet página 131
NOPUT,PUT – Power-up timer – datasheet página 124PROTECT, NOPROTECT – Protege o código, não permite a sua leitura (tem na internet como quebrar de algumas famílias)
DEBUG,NODEBUG
Os bits de configuração
NOBROWNOUT,BROWNOUT – Reset com tensão baixa
LVP,NOLVP – Programação em baixa tensão
Principais arquivos gerados pelo compilador
Xxx.cof 
código em linguagem de máquina para ser carregado no controlador ou no Proteus – permite debug no Proteus
Xxx.hex
código em linguagem de máquina para ser carregado no controlador ou no Proteus
Xxx.lst
código em assembly 
Para visualizar os arquivos, acesse a aba files após compilar. 
Configurando o simulador proteus
Clique com o botão direito sobre o controlador – propriedades
Carregue o programa .hex ou .cof e configure a velocidade
Primeiro Programa em C
Leitura e escrita de portas
input_x () 
output_x ()
Manual de referência pág. vii (via sumário)
value = input_a () //lê a porta A e carrega na variável value (byte ou inteiro)
output_a (value) //escreve a variável value na porta a.
Exemplo 01
#include <18F4550.h>
#FUSES NOWDT //No Watch Dog Timer
#FUSES INTRC //Internal osc 
#FUSES NOMCLR //Master Clear pin desabled
#use delay(crystal=4MHz)
#define LED PIN_B0
#define DELAY 1000
void main() {
 while(true){
 output_low(LED);
 delay_ms(DELAY);
 output_high(LED);
 delay_ms(DELAY);
 }
}
VDD
R10
1k
SW9
SW-SPST-MOM
VDD
SW10
SW-SPST-MOM
R11
1k
l
a
b
e
l
label
12345678
1
6
1
5
1
4
1
3
1
2
1
1
1
0
9
SW11
SW-DIP8
234567891
RP2
RESPACK-8
VDD
0
SW1
SW-SPDT
R10
560
D1
LED-RED
Pino de saida
?
12345678
2
0
1
9
1
8
1
7
1
6
1
5
1
4
1
3
91
0
1
2
1
1
U3
LED-BARGRAPH-GRN
R12
470R
R13
470R
R14
470R
R15
470R
R16
470R
R17
470R
R18
470R
R19
470R

Continue navegando