Interrupções e Timers

Documentos relacionados
Sistemas Microcontrolados

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

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

Sistemas Digitais e Microcontrolados

Sistemas Digitais e Microcontrolados

Registros do 16F628A. Prof. Luiz Antonio Vargas Pinto Prof. Vargas

Arquitetura PIC - PWM

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

Sistemas Microcontrolados

Sistemas Microcontrolados. Período Aula 9. 1 Saulo O. D. Luiz

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

Sistemas Digitais e Microcontrolados

Curso de Microcontroladores PIC 16F84A

Sistemas Embarcados:

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

Eder Terceiro. Programação C com o PIC16F628a. Eder Terceiro. 31 de Outubro de 2016

Jadsonlee da Silva Sá

Temporizadores e Contadores (Timer/Counter)

LABORATÓRIO DE ARQUITETURA DE COMPUTADORES PREPARAÇÃO 03: INTERRUPÇÕES

Cerne. Conhecimento para o Desenvolvimento. Cerne Tecnologia e Treinamento

Sistemas Microcontrolados

Temporizadores e Contadores

Microcontroladores: Programação em C

Sistemas Microprocessados

Interrupções e timers

OMicrocontrolador PIC16F877A implementa um conversor

Microprocessadores. Cap. 4 Assembly

RTC Real Time Counter e Pinos do JM60

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

Microcontroladores PIC

MICROCONTROLADORES PIC

Microcontroladores PIC. Interrupções e Timers

Introdução ao Microcontrolador PIC

Objetivos MICROCONTROLADORES HARDWARE. Microcontroladores I. Prof. Mauricio. Micro-I Prof. Mauricio 1. Microcontroladores PIC. Requisitos de Hardware

Microcontrolador 8051:

OMicrocontrolador PIC16F877A apresenta dois módulos

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

Sistemas Embarcados:

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

Microcontroladores 2 EL08D Turma M12

Microprocessadores TIMER/COUNTER I

Interrupção. Prof. Adilson Gonzaga

Periféricos do PIC - Comparadores e UART

Organização de Memórias

Microcontrolador 8051

EL08D - MICROCONTROLADORES

TECLADO MATRICIAL. Universidade Tecnológica Federal do Paraná - UTFPR Sistemas Microcontrolados Monitor da disciplina: Luís Paulo Custódio

Cerne. Conhecimento para o Desenvolvimento. Cerne Tecnologia e Treinamento. Apostila de BASIC para PIC16F628A

Cerne. Conhecimento para o Desenvolvimento. Cerne Tecnologia e Treinamento

MICROCONTROLADORES NO RADIOAMADORISMO

Professor: Vlademir de Oliveira Disciplina: Microcontroladores e DSP. Memórias de Dados e de Programa

INTRODUÇÃO: MICROCONTROLADORES

Manual do usuário. Kit Clp Pic. - Kit Clp Pic 28 v4.0. Manual do usuário. Copyright VW Soluções

Prof. Adilson Gonzaga

PMR2415 Microprocessadores em Automação e Robótica. Jun Okamoto Jr.

PMR5229 Projeto de Sistemas Mecatrônicos com Microprocessadores. Jun Okamoto Jr.

Laboratório de Microprocessadores e Microcontroladores

Aula 10 Microcontrolador Intel 8051 Parte 1

ELE Microprocessadores I

1.1. Microprocessadores e microcontroladores Sistemas genéricos e sistemas dedicados. 2. Microcontrolador PIC:

FACULDADE LEÃO SAMPAIO

Introdução ao PIC. Guilherme Luiz Moritz 1. 6 de novembro de DAELT - Universidade Tecnológica Federal do Paraná

Laboratório de Microprocessadores e Microcontroladores

Curso básico de linguagem C para microcontroladores PIC. Índice

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

Placa McLab1 Upgrade PIC16F84A p/ PIC16F62x

EPAC Microcontroladores Organização do curso 30/8/2007

MSP430 - Arquitertura

Controladores do IBM-PC. Gustavo G. Parma

Manual da Pinagem dos Microcontroladores BASIC Step 1 e M8 + Esquema de instalação do cabo

Laboratório de Microprocessadores e Microcontroladores

Sistemas Embebidos I , Tiago Miguel Dias ISEL, ADEETC - Secção de Eletrónica e Telecomunicações e de Computadores

Microcontroladores: Programação em C

PIC18F4550. Curso Engenharia de Controle e Automação. Alex Vidigal Bastos alexvbh@gmail.com

SEL 0415 INTROD. À ORGANIZAÇÃO DE COMPUTADORES

Cerne. Conhecimento para o Desenvolvimento. Cerne Tecnologia e Treinamento

Transcrição:

Interrupções e timers Guilherme Luiz Moritz 1 1 DAELT - Universidade Tecnológica Federal do Paraná 4 de dezembro de 2013

Objetivos Compreender o funcionamento de um display de sete segmentos Compreender o sistema de interrupções do PIC Compreender a arquitetura de Timers do PIC

Display de Sete Segmentos Figura : Display de 7 segmentos (cátodo comum)

Multiplexação de displays de 7 segmentos

74HC4511

Introdução Vivemos num mundo controlado pelo tempo Muitas das ações que um microcontrolador toma devem ser regradas pelo tempo O sistema de timers e interrupções provê maneiras do microcontrolador responder em tempo aos estímulos do sistema

Interrupções Interrupções

Conceito de interrupção Uma interrupção de um processador funciona de maneira análoga a uma interrupção do mundo real Num processador, ela é atendida de maneira urgente. É importante salvar o contexto antes de atender a interrupção

O que gera uma interrupção no PIC? Escrita na EEPROM Comparador UART RX e TX Timer 1 (Capture e Match e Overflow) Timer 2 (Match) Interrupções externas (GPIO) Outros chips possuem outras fontes

Como configurar uma interrupção no PIC INTCON -> Liga ou desliga as diferentes interrupções (mascara) PIE1 -> Peripheral enable IRQs Habilite a geração de interrupção do periférico!

Como configurar uma interrupção no PIC Figura : Sistemas de interrupção do PIC

O que acontece quando o PIC detecta uma interrupção? Completa a instrução corrente Salva o Program Counter Limpa o GIE Executa o código na posição correspondente a interrupção (0x0004) No fim o programa usa uma instrução especial que restaura o Program counter, continuando daonde o programa parou

O que acontece quando o PIC detecta uma interrupção? Figura : Ilustração de interrupção do PIC

Salvamento de contexto O estado dos registradores do PIC devem ser salvos para execução da interrupção O MicroC faz este trabalho Se for usar assembly, deve ser feito no código

Regiões Críticas Regiões onde o processador não pode parar para realizar outra tarefa Mascaramento de interrupções

Como fazer no MicroC? void interrupt() { counter++; TMR0 = 96; INTCON = 0x20; }

Como fazer no MicroC? void interrupt() { if (INTCON.TMR0IF){ counter++; TMR0 = 96; INTCON.TMR0IF = 0; } else if (INTCON.RBIF){ counter++; TMR0 = 96; INTCON.RBIF = 0; } }

Contadores Contadores

O que é um contador? Figura : Contador digital

Usos do contador Contar tempo [com o auxílio do módulo de capture/compare/pwm (será estudado na aula sobre PWM)] Contar eventos

Timer1 do PIC Figura : Timer 1 do PIC16f628A Olhar datasheet!

Timer 1 - Passo a passo O Prescaler sempre está ativo: Deve se configurar sua taxa (T1CKPS1 e T1CKPS0) no T1CON Selecione o modo: TMR1CS (0: externo, 1: interno) Ative T1OSCEN: O oscilador começa a contar e o valor de TMR1H e TMR1L são incremendados a cada ciclo de clock Quando a contagem estoura, a flag TMR1IF é setada (e gera uma interrupção caso a mesma esteja configurada)

Outros Timers Timer 0 - WatchDog timer Timer 2 - Base de tempo para o PWM e o CCP

Timer 0 do PIC Olhar datasheet! Figura : Timer 0 do PIC16f628A

Contando tempo com o Timer 0 Tempo de estouro (8bits) = ciclo de máquina * prescaler * (256 - TMR0) Ciclo de máquina = 1 Fosc/4 Prescaler: PS< 2 : 0 > Valor de contagem é carregado em TMR0 Como fica para o estouro de 16 bits?

Timer 0 - Passo a passo Selecione o modo do timer no OPTIONREG (T0CS: 0 = timer e 1 = counter) Caso se desejar utilizar o prescaler, o mesmo deve ser habilitado com o bit PSA do OPTIONREG. O valor do prescaler é configurado em PS2-PS0 Se a interrupção for utilizada, GIE e T0IE devem ser configurados no INTCON Para contar tempo Escreva o valor de TMR0 (condição inicial) Lendo-se TMR0 tem se o número de ciclos passados (o que pode ser convertido em tempo) A flag de interrupção TMR0IF do INTCON é setada toda vez que TMR0 estoura. Para contar pulsos A polaridade dos pulsos em RA4 deve ser selecionada pelo TOSE do option reg O número de pulsos é contado em TMR0, as interrupções funcionam normalmente