Sistemas Embarcados:

Documentos relacionados
Sistemas Embarcados:

Sistemas Embarcados:

16F628A - The Configuration Word Jon Wilder 25 de agosto de 2011.

Microcontroladores: Programação em C

Jadsonlee da Silva Sá

Placa de desenvolvimento USB AFSmartBoard utiliza PIC18F4550 da Microchip, microcontrolador com o Flash 32kb, 2048 bytes de memória RAM

Arquitetura e Organização de Computadores. Conjunto de Instruções da Arquitetura CompSim

Sistemas Microcontrolados

Microcontrolador 8051

Sistemas Embarcados:

Microcontrolador PIC: Conceitos Básicos

Arquitetura do Microcontrolador Atmega 328

Família de Microcontroladores AVR

Painel Luminoso com LEDs

Application Note FBEE Controle de Placas com entradas Analógicas REV01. 1 Rev01

Faculdade de Tecnologia SENAI Pernambuco - Unidade Santo Amaro Curso de Tecnologia em Mecatrônica Industrial

Painel Luminoso com LEDs

Data Sheet FBEE Kit V05

Objetivos MICROCONTROLADORES HARDWARE. Aula 03: Periféricos. Prof. Mauricio. MICRO I Prof. Mauricio 1. Arquitetura de um Microcontrolador

Sistemas Microcontrolados

Sistemas Microcontrolados

AULA 6 - INTRODUÇÃO AO ARDUINO Revisão de Eletrônica Digital e introdução aos Sistemas Computacionais.

Introdução aos microcontroladores Microcontroladores e microprocessadores Tecnologia em Manutenção Industrial

Circuito Eletrônico. Entendendo o circuito eletrônico na robótica. domingo, 28 de agosto de 11

Laboratório de Hardware

Guia da Placa de desenvolvimento PD Mega16 N1

1.1 Noções básicas sobre interrupções em Microcontroladores

A placa descrita pode receber alimentação pela conexão USB ou por uma fonte de alimentação externa.

Microcontrolador 8051:

Temporizador com PIC 12F675

Curso de Microcontroladores PIC 16F84A

Microcontroladores PIC

Sumário. 1. Apresentação Hardware Microcontrolador PIC16F628A Displays de 7 segmentos Teclas...

Sistemas Digitais EDUARDO ELIAS ALVES PEREIRA

Hardware Reconfigurável

Interrupção Externa. Capítulo 1. Noções básicas sobre interrupções em Microcontroladores PIC

Montagem do Robô. Especificações. domingo, 28 de agosto de 11

Introdução ao Microcontrolador PIC

1.2 Registradores relacionados as Interrupções. 3. TOSE Sentido da transição da borda do sinal aplicado am TMR0

Totem Pole, Coletor Aberto e Tristate

Universidade Federal de Juiz de Fora Laboratório de Eletrônica CEL 037 Página 1 de 6

MANUAL DO KIT FPGA EE02-SOQ

Disciplina : Microcontroladores AVR

Projeto de Sistemas Eletrônicos

AAAA AAAA SEL Aplicação de Microprocessadores I. Aula 5 Temporização e Interrupção. Marcelo Andrade da Costa Vieira

Aplicações Avançadas de Microprocessadores. Professor: Marco Shawn Meireles Machado

Capítulo 14. Expandindo as portas de comunicação 8031 com a PPI Interface PPI 8255

INTRODUÇÃO: MICROCONTROLADORES

Sistemas Digitais: Introdução

9/3/2009. Aula 4. Engenharia de Sistemas Embarcados. Cenário: Sistema de Controle de LEDs

Conhecendo o PIC24 e o mikropascal

Aula 4. Engenharia de Sistemas Embarcados. Prof. Abel Guilhermino Tópico: Arquitetura de um microcontrolador 8051

OMPLAB é um programa para PC, que roda sobre a

Experiência. Montagem Kit Didático. 2. Turma: Nota: 5. MICRO-I Prof. Mauricio. Identificação dos Alunos:

Características técnicas Baseado no ATMega da empresa AVR, fabricante de micro-controladores em plena ascensão e concorrente do PIC Pode usar ATMega

SICILIANO TECNOLOGIA

Anatomia do Arduino Bootloader

Prof. Adilson Gonzaga

Técnicas de Interface com Microcontroladores (8051)

Introdução à Plataforma ARDUINO

Programa Trainee 2012 Módulo 4 Microcontroladores AVR

QSPAVR40 Manual do usuário Ver 1.0

Gravadora USB para Microcontroladores AVR Atmel

Por Fernando Koyanagi

Sistema Digitais. Bacharelado de Informática UEM DIN - Prof. Elvio 2017

Revisão: Projeto e síntese de Circuitos Digitais em FPGA

Parte II Arquitetura. professorferlin.blogspot.com. professorferlin.blogspot.com. Sociedade Paranaense de Ensino e Informática

Conjunto de Instruções e Modelos de Arquiteturas

Introdução do Arduino para aquisição de dados e controle de instrumentos

PKBurner. Programador e Debugger USB. Conteúdo. Índice

ARDUINO BÁSICO E T A P A 1 O QUE É ARDUINO? Prof. Amadeu Zanon Neto

Suporta os microcontroladores: R. Leonardo da Vinci, Campinas/SP CEP F.: (19) Kit de Desenvolvimento ACEPIC 28

TEMPORIZADOR MICROCONTROLADO PARA BACKLIGHT DO RÁDIO TURNIGY 9X

FACULDADE DE TALENTOS HUMANOS DEPARTAMENTO DE ENGENHARIA MECÂNICA PROCEDIMENTOS EXPERIMENTAIS DE ELETIVA I PARA AUTOMAÇÃO E CONTROLE

07/06/2015. Outras características importantes em Microprocessadores/Microcontroladores SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

Interrupções e Timers

HEXKIT F877 PLUS Manual do usuário Versão 1.0

ITEM Instituto de Tecnologia Emerson Martins MANUAL DO KIT FPGA-EE REV-01

Placa McLab1 Upgrade PIC16F84A p/ PIC16F62x

EMERSON ELETRÔNICOS 15/03/2015

Cerne Tecnologia e Treinamento

Portas de entrada e saída; Interrupções; Interrupções externas; Temporizadores Contadores; Interface Serial

ENG-1450 Microcontroladores e Sistemas Embarcados. Lab02 Apresentação Kit PicGenios Interrupção e Timers

Módulo de Desenvolvimento PIC16F877A PCI208

Guia do Usuário Mc Data

LAB DE SIST MICRO CONTROLADO

Copyright 2014 VW Soluções

Descrição dos pinos de entrada e saída e de funções especiais. Descrição dos modos de acesso: individual e por porto

Transcrição:

Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Sistemas Embarcados: Interfaces de Entradas e Saídas DCA0119 Sistemas Digitais Heitor Medeiros Florencio

Tópicos da Aula Programação de Microcontroladores: Bits de configuração. Sinais digitais de entrada e saída: Portas I/O. Portas de MCU PIC. Portas de MCU AVR. 2

Programação de μc Alimentar o μc; Escolher a fonte de clock; Gravador Escolher a forma de gravação; Arquivo.hex Compilador C Escolher o compilador; Programa em C???? 3

Programação de μc Programa em C Compilador C Arquivo.hex Gravador Existem registradores especiais nos microcontroladores que, através dos bits ou flags desses registradores, podemos configurar o características funcionais dos μc. A biblioteca do μc deve incluir esses bits/flags para que o usuário tenha permissão de altera-los. 4

Fuses: bits de configuração A configuração dos bits de configuração (fuses) do microcontrolador deve ser a primeira coisa a ser feita na programação. Cada microcontroladores tem seus fuses. A configuração incorreta de fuses pode levar o microcontrolador a funcionalidades incorretas, ou até mesmo danificá-lo. Exemplos: Desabilitar a programação da memória flash. Impedir a execução do programa principal. Esses bits determinam o funcionamento do μc: Modo do oscilador. Contador para resetar. Modo de programação. Proteção do código. 5

Fuses: PIC16F628A Os principais bits de configuração (fuses) que influenciam no funcionamento dos componentes do μc PIC16F628 são: CP: Proteção da memória flash (proteção de código). CPD: Proteção da memória EEPROM (proteção de dados). LVP: Habilita a tensão para programação ICSP. BOREN: Proteção contra baixa tensão de execução. MCLRE: Fuse de reset. FOSC0, FOSC1, FOSC2: Seleciona a fonte de clock. PWRTE: Habilita um período de reset quando alimentado. WDTE: Watchdog Reiniciar o μc após um período de tempo sem funcionamento. 6

Fuses: PIC16F628A Obs.: Os principais bits de configuração citados anteriormente estão no registrador CONFIG. 7

CP e CPD: PIC16F628 CP: protege a memória de programa (Flash) contra leitura e cópia. CPD: protege a memória interna de dados (EEPROM) contra leitura e gravações externas. 8

LVP: PIC16F628A Na gravação utilizando ICSP, o pino MCLR eleva a tensão para garantir a correta transferência dos dados. LVP: pino utilizado para permitir a gravação com a própria tensão de alimentação. O pino PGM é referente ao bit LVP na gravação. 9

BOREN e MCLRE: PIC16F628A BOREN: Brown-out Reset Enable. A CPU é reinicializada quando a tensão cai abaixo de um limite definido Vbor por um período superior a Tbor. MCLRE: Reinicializa o microcontrolador quando o pino recebe tensão 0V. 10

FOSC0, FOSC1, FOSC2: PIC16F628A FOSC0, FOSC1, FOSC2: Seleciona a fonte de clock. Obs.: Além de definir a fonte de clock, o programador deve definir o valor do clock através da flag XTAL. 11

FOSC0, FOSC1, FOSC2: PIC16F628A Exemplo: Oscilador Interno com clock de 4MHz. Utilizando o MPLAB X e o compilador XC8. 12

WDTE: Watchdog Watchdog é um contador, independente dos outros componentes do μc, que reinicia o microcontrolador após um certo período de tempo. O temporizador Watchdog não depende do clock do μc. Funciona como um cão de guarda. O tempo do watchdog é definido pela flags TMR0 (temporizador 0), normalmente 18ms. 13

WDTE: Watchdog 14

WDTE: Watchdog Vantagens: Contra bugs: caso o programa venha gerar um bug que trave o a execução do microcontrolador em um determinado comando, o estouro do watchdog reinicializará o programa. Falhas inesperáveis: caso a falha esteja no próprio oscilador da microcontrolador, a reinicialização do uc pode resolver. 15

Configurando Fuses PIC no MPLAB X (1) 16

Configurando Fuses PIC no MPLAB X (2) (3) 17

Fuses: ATMega328 Fuses: PORF: Power-on Reset. EXTRF: External Reset. BORF: Brown-out Reset. WDRF: Watchdog System Reset. Todos os fuses mostrados acima estão no registrador MCUSR: 18

Watchdog: ATMega328 É possível escolher vários tempos do temporizador watchdog. 19

Watchdog: ATMega328 Bit 7 - WDIF: Watchdog Interrupt Flag Bit 6 - WDIE: Watchdog Interrupt Enable Bit 4 - WDCE: Watchdog Change Enable Bit 3 - WDE: Watchdog System Reset Enable Bit 5, 2..0 - WDP3..0: Watchdog Timer Prescaler 3, 2, 1 and 0 20

Watchdog: ATMega328 Bit 5, 2..0 - WDP3..0: Watchdog Timer Prescaler 3, 2, 1 and 0 21

Configurando Fuses AVR no Atmel Studio Tools -> Device Programming. 22

Configurando Fuses AVR Configurando via AtmelStudio. Também é possível configurar via comandos no argumento do AVRDUDE. 23

Sinais Digitais de Entrada e Saída (Portas I/O) 24

Sinais Digitais I/O A programação de microcontroladores inclui a lógica de programação a ser embarcada e a configuração de registradores dos componentes o μc. Atualmente, a maioria dos microcontroladores são baseados na tecnologia de sinais digitais TTL (Lógica Transistor Transistor). 25

Portas I/O Os microcontroladores dividem seus pinos digitais de entrada e saída (pinos I/O) em grupos, chamados de Portas I/O. Exemplo: PIC16F628A 2 portas I/0 (16 pinos I/O). Exemplo: ATMega328 3 portas I/0 (24 pinos I/0). 26

Portas I/0: Registradores Todos esses pinos digitais I/O são configurados através da combinação de valores de alguns registradores. Os registradores definem o estado do pino: Nível alto. Nível baixo. Alta impedância. Coletor aberto / dreno aberto. 27

Coletor Aberto / Dreno Aberto Coletor aberto (para tecnologia TTL) e dreno aberto (para tecnologia CMOS) representa o mesmo funcionamento. Circuitos com tecnologia TTL apresentam tensão de 5V de saída para nível lógico 1. Se você quiser atuar com esse sinal de saída em um dispositivo que necessita de uma tensão maior para o nível lógico 1? Por exemplo, um dispositivo que precise de 12 V? 28

Coletor Aberto usando Resistor de pull-up Solução: Colocar o pino digital de saída para configuração coletor/dreno aberto e utilizar um resistor de pull-up. A saída digital (0 ou 1) do C.I., no caso do μc, será a base de um transistor Q1. O transistor Q1 será conectado a um Vcc e GND externo, que será definido pelo usuário para obter a tensão desejada. 29

Coletor Aberto usando Resistor de pull-up Solução: Colocar o pino digital de saída para configuração coletor/dreno aberto e utilizar um resistor de pull-up. Atenção: Verifique os limites de corrente de pull-up definido no CI. A saída digital (0 ou 1) do C.I., no caso do μc, será a base de um transistor Q1. O transistor Q1 será conectado a um Vcc e GND externo, que será definido pelo usuário para obter a tensão desejada. 30

Resistor de Pull-up ou Pull-down na Entrada μc PB0 Qual o valor da tensão aplicada ao pino de entrada PB0: quando o botão estiver pressionado? quando o botão não estiver pressionado?? 31

Resistor de Pull-up ou Pull-down na Entrada μc PB0 Qual o valor da tensão aplicada ao pino de entrada PB0: quando o botão estiver pressionado? Resp.: 5V. quando o botão não estiver pressionado?? Resp.:????? 5V?? 0V?? (circuito aberto). 32

Resistor de Pull-up ou Pull-down na Entrada O resistor de pull-up ou pull-down são utilizados na entrada de pinos digitais para assegurar que a tensão aplicada (nível lógico aplicado) é ~0V ou ~5V. Mesmo quando o botão não estiver pressionado (circuito aberto no botão), o circuito com resistor de pull-up ou down força uma tensão de 0V ou ~5V. 33

Resistor de Pull-up ou Pull-down na Entrada Atualmente, a maioria dos microcontroladores integram, de forma opcional, a ligação de resistores de pull-up ou pulldown nas suas entradas digitais. 34

Portas I/0: Registradores As portas I/O dos μcs são configuráveis através de registradores. Microcontroladores da família AVR utilizam os registradores: Registrador PORT (dados leitura/escrita); Registrador DDR (controle de direção do pino de I/O- escrita/leitura); Registrador PIN (leitura do pino de I/O apenas leitura). Microcontroladores da família PIC utilizam os registradores: Registrador PORT (dados leitura/escrita); Registrador TRIS (controle de direção do pino I/O leitura/escrita); Registrador LAT (armazena o valor do último comando de escrita). 35

Portas I/O: PIC16F628A Analisando o datasheet verifica-se que cada pino pode ter uma configuração diferente devido as diversas funcionalidades que ele pode executar. Exemplos: 36

Portas I/O: PIC16F628A Um diagrama genérico de um pino I/0: 37

TRIS - PORT: PIC16F628A O registrador TRIS define se o pino/porta é de entrada ou saída de dados: TRISA = 00000000; //os oito bits da porta A são bits de saída (0); TRISA = 11111111; //os oito bits da porta A são bits de entrada (1); TRISA = 11110001; //os bits 7, 6, 5, 4 e 0 são de entrada; //os bits 1, 2 e 3 são de saída; Existem alguns compiladores que permitem acessar um bit específico da porta. 38

TRIS - PORT: PIC16F628A O registrador PORT define: qual o nível lógico que será escrito na saída.. aux = PORTA; //a variável aux vai armazenar o nível lógico lido; Dado que o registrador TRISA esteja com o valor 1 - entrada. qual o nível lógico lido na entrada.. PORTA = 11111111; //todos os bits da porta A terão o nível lógico 1 ; Dado que o registrador TRISA esteja com o valor 0 - saída. 39

Portas I/O: ATMega328 Esquema geral de todos os pinos lógicos: Diodos de proteção; Resistor de pull-up; Todas as porta em microcontroladores AVR: Permite utilizar o pino com resistores de pull-up; Permite utilizar o pino na configuração tri-state outputs ( 0, 1 ou Z alta impedância). Permite a configurar a direção, o valor e se vai utilizar pull-up ou não. 40

Portas I/O: ATMega328 DDR Pino Resistor pull-up PORT PIN 41

DDR - PORT: ATMega328 O registrador DDR define se o pino funcionará como saída ou entrada de dados: DDRA = 00000000; //os oito bits da porta A são bits de entrada (0); DDRA = 11111111; //os oito bits da porta A são bits de saída (1); DDRA = 11110001; //os bits 7, 6, 5, 4 e 0 são de saída; //os bits 1, 2 e 3 são de entrada; 42

DDR - PORT: ATMega328 O registrador PORT define: qual o nível lógico que será escrito na saída.. aux = PORTA; //a variável aux vai armazenar o nível lógico lido; Dado que o registrador TRISA esteja com o valor 1 - entrada. qual o nível lógico lido na entrada.. PORTA = 11111111; //todos os bits da porta A terão o nível lógico 1 ; Dado que o registrador TRISA esteja com o valor 0 - saída. 43

Práticas 44

Programando em PIC Exercícios: Acender o LED1. Acender o LED1 e o LED2. Piscar o LED1 (utilizar função delay). Demoboard PICKIT3 PIC18F54K20 45

Programando em AVR Exercícios: Acender o LED1. Acender o LED1 e o LED2. Piscar o LED1 (utilizar função delay). Atmel Studio avrdude ATMega328 46

Referências http://www.embarcados.com.br/configuration-bits-dopic16f877a/ http://www.embarcados.com.br/niveis-e-limites-de-tensoesdigitais/ 47

Dúvidas? Dúvidas por email: heitorm@dca.ufrn.br 48