Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI

Slides:



Advertisements
Apresentações semelhantes
Microcontroladores Uma visão geral.
Advertisements

Aula 5 – Anatomia da Placa-Mãe
Instrumentação Eletrônica
Arquitetura e organização de computadores
Arquitetura e organização de computadores
Entrada e Saída Introdução.
Meu primeiro programa em ARDUINO
professor Victory Fernandes
AULA 1: Introdução a Sistemas Embarcados
Altera NIOS II: uma breve introdução
Rganização de Computadores A Interface entre o Processador e os Periféricos Capítulo 8 – Patterson & Hennessy (seções 8.4 e 8.5) Organização de Computadores.
Bruno Souza de Oliveira e Rodrigo Nardi
Professor: Carlos Roberto da Silva Filho, M. Eng.
Sistemas Digitais Microprocessados
Sistemas Digitais Microprocessados
Componentes do Computador e noções de Arquitetura de Computadores
DSP – TMS320LF2407A.
Introdução a Programação
Professor Robson Campos
Arquitetura de Computadores
Título do Trabalho: Kit Didático de Programação de Microcontroladores PIC (PUIC), Engenharia Elétrica. Prof. Anderson Soares André, PUIC Disciplina. Engenharia.
Arquitetura de Computadores
PIC16F877A Linguagem C e Assembly
Conversor A/D – PIC16F877A Jadsonlee da Silva Sá
UNIVERSIDADE LUTERANA DO BRASIL
Introdução a Linguagens de Programação
Sistemas Operacionais I
Introdução aos Sistemas Microcontrolados
Entrada e Saída (E/S ou I/O)
Iniciação ao Arduino uno
Sistemas Operacionais
Implementação de um Ohmímetro Utilizando PIC16F877A
Introdução à INFORMÁTICA
PIC Peripheral Interface Controller
Programação de PIC em C Exposição das funções básicas para
Unidade de Ensino 0: Apresentação da Matéria 03/03/2015
e suas funcionalidades
ARQUITETURA DE COMPUTADORES II
Microcontroladores PIC
Escolha da Placa. Porta Serial / COM Port Partes do Código.
Organização e Arquitetura de Computadores
Termômetro Digital com PIC e LM35
Microprocesadores x Microcontroladores
Componentes de um Sistema de Computação
Introdução às TIC Prof. Carlos Freire Copyright, Carlos Freire.
Processador 2014/2015 Comunicação de Dados Ricardo Bento 12ºL.
Engenharia de Sistemas Embarcados Aula 5: Um Conjunto Básico de Ferramentas.
Alteração Emergencial de Projeto
Coletor de dados.
Introdução à Programação
Arquitetura de Sistemas Operacionais
IMC BIOS, SETUP.
Objetivos 1.Realizar comunicação USB entre o MATLAB e o PIC18F4550; 2.Criar uma interface amigável que facilite a monitoração das principais variáveis.
Microcontroladores.
Introdução 1ª Semana # Introdução # Álgebra Lógica Simbólica Famílias Lógicas 2ª Semana # Organização de um Computador # Memória Registradores Instruções.
Por Cássio Mello e André Luis.  É a parte inteligente do circuito, onde sinais de controle serão recebidos e enviados e o processamento será efetuado.
ECA-703 AUTOMAÇÃO DE SISTEMAS ELÉTRICOS
Aula 9 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.
O controle de comandos via Twitter
Aula 7 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.
Aula 4 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.
DsPIC Prof. Ricardo Teixeira Especialização em Sistemas Embarcados POLI - UPE.
Aula 05: Sensores do robô e Bibliotecas. Aula 05: Sensores do robô  O que vamos aprender? 1.Funcionamento e aplicações dos sensores 2.Utilidade das Bibliotecas.
Prof. Me. Gustavo Fernandes de Lima
Clique para editar o título Arduino seu primeiro microcontrolador PMR
Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI
Aula 3 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.
Aula 12 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.
Aula 14 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.
Transcrição da apresentação:

Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI 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?

Modelo da disciplina Avaliação 1: Avaliação 2: 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.

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.

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.

Introdução Diagrama em blocos do microcontrolador PIC16F877. Fonte: http://www.mikroe.com/

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.

Aplicações

Aplicações

Diversos fabricantes: Modelos Diversos fabricantes: Microchip (PIC e dsPIC); ATMEL (8051, AVR); ARM (série Cortex); Texas Instruments (série MSP)

E onde fica o Arduino nessa história? 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).

Microcontroladores PIC

Microcontroladores PIC Desenvolvidos pela Microchip Chips com características semelhantes mesmo em famílias diferentes (ex. PIC16F877A e PIC18F4550).

PIC16F628A PIC 16F877A PIC 18F4550 dsPIC30F4013 Alguns Chips 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.

PIC 16F877A

PIC 18F4550

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

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.

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.

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.

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.

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.

Kit Didático MacMaster 2 Displays 7 segmentos LCD LEDs Teclado matricial Memória serial (I²C) RTC etc.

Kit Didático McMaster 2

Kit Didático McMaster 2

Um pouco do Proteus Entradas: 1: botão pressionado gera zero 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

Programação em C Cada tipo comporta uma quantidade de bits O estouro do valor pode acarretar em perda dos dados

Programação em C Alguns tipos são equivalentes

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 124 PROTECT, 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 inteira) Output_a (value) //escreve a variável value na porta a.