Plano de Aula. 1 o semestre. Aula número 009 Interrupções. Fazer uso das interrupções externas no Arduíno

Tamanho: px
Começar a partir da página:

Download "Plano de Aula. 1 o semestre. Aula número 009 Interrupções. Fazer uso das interrupções externas no Arduíno"

Transcrição

1 Diretoria de Curso Plano de Aula 1 o semestre Nome do curso Eng. Ciências da Computação + TI + TADS + Eng. Elétrica Nome da Unidade Curricular Microprocessadores e Microcontroladores Aula número 009 Tema Interrupções Período Turma Noturno Tópicos O que são interrupções Uso de interrupções no Arduíno Objetivos Compreender o que são e para que servem as interrupções em um sistema microprocessado Fazer uso das interrupções externas no Arduíno Habilidades Utilização das rotinas de configuração das interrupções externas Aplicação prática, leitura de um encoder incremental Bases Tecnológicas Plataforma online 123d.circuits.io 1

2 Recomendada Bibliografia Primeiros passos com o Arduíno - Massimo Banzi e Michael Shiloh Microcontrolador 8051 Detalhado - Denys E. C. Nicolosi Parte II - Capítulo 6 Documentação oficial do Arduíno

3 1 Interrupções Interrupção é um evento, externo ou interno ao microcontrolador, que o obriga a suspender temporariamente suas atividades para atender a este evento que o interrompe. Toda vez que uma interrupção ocorre, o microprocessador irá se desviar para outra parte do código, o chamado serviço de interrupção, adequado para tratar a interrupção gerada. Após completar a execução do serviço de interrupção (que costuma ser um trecho de código bem pequeno e rápido), o microprocessador deve voltar para o código que executava antes de ser interrompido. Repare que a chamada ao serviço de interrupção é semelhante à chamada a uma função ou sub-rotina comum, a grande diferença esta no fato de que uma interrupção não é um evento previsto. Uma analogia válida é pensar no trabalho em escritório para compreender como funcionam as interrupções. Suponha que você esteja trabalhando em uma determinada tarefa A e em um dado momento não programado, seu chefe lhe solicita a execução imediata de uma outra tarefa B. Você é então obrigado a parar completamente a tarefa A, atende a solicitação para executar a tarefa B e, apenas quando esta última estiver concluída, você pode então retornar para o ponto onde parou na execução da tarefa A. 1.1 Propriedades de uma interrupção Vetorada ou não vetorada: Quando o microprocessador é interrompido, ele desvia para o endereço onde se encontra o serviço adequado para tratar a interrupção. Se esse endereço é fixo, chamamos de interrupção não vetorada. Por outro lado, se esse endereço pode ser especificado pelo dispositivo que gera a interrupção, chamamos de interrupção vetorada. Mascaramento: Por meio do mascaramento, realizado via software ou também via hardware, podemos habilitar ou desabilitar uma ou mais interrupções. Isso é especialmente útil na realização de tarefas críticas onde por alguma razão o microprocessador não possa ser interrompido em hipótese alguma. Prioridade: Geralmente um microprocessador pode aceitar diversas interrupções diferentes. Neste caso, é possível programar a prioridade de cada evento de interrupção, de modo que não haja conflitos ou disputas entre elas. Origem: No caso de microcontroladores, a interrupção pode ser interna caso seja gerada por algum periférico interno ao chip (timer ou UART por exemplo), ou externa, caso venha de um dispositivo externo ao chip. Tipo de disparo: É uma propriedade das interrupções externas ao chip, pode-se programar um pino para gerar interrupções de acordo com o nível lógico (0 ou 1) ou de acordo com a borda (transição de 0 para 1 ou transição de 1 para 0). 2 Interrupções externas no Arduíno Uno O Arduíno Uno possui dois pinos capazes de gerar interrupções externas, são os pinos digitais 2 e 3. Além disso, a biblioteca padrão do Arduíno já oferece algumas rotinas para simplificar bastante a programação de interrupções externas void attachinterrupt(int interrupt, int isr, int mode): Configura a interrupção interrupt para chamar a rotina isr (interrupt service routine), segundo o modo de operação mode. Esta rotina não retorna nenhum valor e recebe três parâmetros: interrupt: A interrupção a ser utilizada. No caso de interrupções externas, vamos utilizar o valor retornado pela chamada à função digitalpintointerrupt(pino), onde pino pode assumir o valor 2 ou 3. isr: O nome da rotina que vai tratar a interrupção gerada, é o nosso serviço de interrupção ou interrupt service routine. Deve ser declarada como uma função que não receberá nem retornará parâmetros, por exemplo: void meu_isr ( ) { / / Código do s e r v i ç o de i n t e r r u p ç ã o v a r _ g l o b a l = v a r _ g l o b a l + 1 ; Devemos observar que a rotina isr deve ser pequena e executar rapidamente. Além disso, ao tratar 3

4 uma interrupção, ou seja, dentro da rotina isr, outras interrupções não podem ocorrer. Isso implica que o código dentro da isr não pode ser interrompido externamente, mas também que funções como delay() e millis() também não irão funcionar (essas duas funções da biblioteca do Arduíno utilizam interrupções internas para operar). Se for imprescindível realizar algum tipo de delay dentro da isr, podemos utilizar a rotina delaymicroseconds(), que recebe um valor em microssegundos, isso permite alguma sincronização para eventos muito rápidos. Outro ponto muito importante é que a isr não recebe nem retorna valores. Assim, qualquer tipo de comunicação entre a isr e o programa principal deve ser realizada por meio de variáveis globais, declaradas como voláteis. Para isso utilizamos a palavra reservada volatile, que diz ao compilador que a variável declarada a seguir pode ser alterada por outros meios além do programa principal. Isso vai desligar qualquer otimização que o compilador julgaria viável em outras situações. mode: O modo de disparo da interrupção. Podemos configurar para um dos quatro valores predefinidos: LOW: Dispara a interrupção quando o pino esta em nível lógico baixo; CHANGE: Dispara a interrupção quando o nível lógico do pino muda; RISING: Dispara a interrupção quando o nível lógico do pino sofre uma transição de 0 para 1; FALLING: Dispara a interrupção quando o nível lógico do pino sofre uma transição de 1 para 0; void detachinterrupt(int interrupt): Desabilita a interrupção em questão. No caso de interrupções externas, devemos utilizar o valor retornado pela chamada à função digitalpintointerrupt(pino), onde pino pode assumir o valor 2 ou 3. interrupts(): Habilita todas as interrupções nointerrupts(): Desabilita todas as interrupções. Essas duas funções podem ser utilizadas para executar partes críticas de um código, onde não será permitida a ocorrência de interrupções. Por exemplo: void s e t u p ( ) { void loop ( ) { n o I n t e r r u p t s ( ) ; / / p a r t e c r í t i c a do c ó d i g o i n t e r r u p t s ( ) ; / / p a r t e não c r í t i c a 2.1 Exemplo No exemplo a seguir, vamos configurar interrupções do tipo RISING nos pinos 2 e 3. Vamos também declarar duas rotinas isr, uma para cada pino gerador de interrupção. O funcionamento do programa será o seguinte. Vamos configurar uma variável do tipo int (inteiro) como um contador. Ao ocorrer uma interrupção no pino 2, esse valor deve ser resetado imediatamente, já ao ocorrer uma interrupção no pino 3, o contador deve assumir o valor 100. Observe que a variável de contagem deve ser declarada como volatile para que não ocorram problemas. 4

5 / / v a r i a v e l de contagem / / s e r á m o d i f i c a d a d e n t r o das r o t i n a s i s r / / e n t ã o deve s e r d e c l a r a d a como v o l a t i l e v o l a t i l e i n t c o n t a d o r ; void s e t u p ( ) { / / vamos c o n f i g u r a r as i n t e r r u p ç õ e s a t t a c h I n t e r r u p t ( d i g i t a l P i n T o I n t e r r u p t ( 2 ), i s r _ p i n o 2, RISING ) ; a t t a c h I n t e r r u p t ( d i g i t a l P i n T o I n t e r r u p t ( 3 ), i s r _ p i n o 3, RISING ) ; void loop ( ) { / / a r o t i n a loop v a i i n c r e m e n t a r a v a r i á v e l de contagem / / a cada 1 segundo d e l a y ( ) ; c o n t a d o r ++; / / D e c l a r a ç ã o das duas ISRs void i s r _ p i n o 2 ( ) { c o n t a d o r = 0 ; void i s r _ p i n o 3 ( ) { c o n t a d o r = 100; 5

6 2.2 Exercícios Crie um programa utilizando interrupção externa do tipo FALLING no pino 2. O programa deve configurar o pino 0 como uma saída digital e o nível lógico escrito neste pino deve ser trocado (de 1 para 0 ou de 0 para 1) quando ocorrer a interrupção / / v a r i a v e l do n í v e l l ó g i c o / / s e r á m o d i f i c a d a d e n t r o das r o t i n a s i s r / / e n t ã o deve s e r d e c l a r a d a como v o l a t i l e v o l a t i l e i n t n i v e l ; void s e t u p ( ) { / / vamos c o n f i g u r a r as i n t e r r u p ç õ e s a t t a c h I n t e r r u p t ( d i g i t a l P i n T o I n t e r r u p t ( 2 ), i s r _ p i n o 2, FALLING ) ; / / vamos c o n f i g u r a r o pino 0 como s a í d a d i g i t a l pinmode ( 0, OUTPUT ) ; / / c o n f i g u r a r um n í v e l l ó g i c o i n i c i a l n i v e l = LOW; void loop ( ) { d i g i t a l W r i t e ( 0, n i v e l ) ; / / D e c l a r a ç ã o das duas ISRs void i s r _ p i n o 2 ( ) { i f ( n i v e l ==LOW) { n i v e l = HIGH ; n i v e l = LOW; 6

7 2.2.2 Crie um programa utilizando interrupção externa do tipo RISING no pino 3. O programa deve incrementar um contador do tipo inteiro sempre que uma interrupção for gerada / / v a r i a v e l de contagem / / s e r á m o d i f i c a d a d e n t r o das r o t i n a s i s r / / e n t ã o deve s e r d e c l a r a d a como v o l a t i l e v o l a t i l e i n t c o n t a d o r ; void s e t u p ( ) { / / vamos c o n f i g u r a r as i n t e r r u p ç õ e s a t t a c h I n t e r r u p t ( d i g i t a l P i n T o I n t e r r u p t ( 3 ), i s r _ p i n o 3, RISING ) ; / / c o n f i g u r a r um v a l o r i n i c i a l c o n t a d o r = 0 ; void loop ( ) { / / D e c l a r a ç ã o da ISR void i s r _ p i n o 2 ( ) { c o n t a d o r ++; 7

8 2.3 Aplicação prática, leitura de encoder incremental Encoders incrementais são comumente utilizados para monitorar mudanças de posição. Diferentemente dos encoders absolutos, um encoder incremental não fornece uma leitura absoluta da posição, mas permite detectar a sua mudança. No entanto, se assumirmos uma dada posição como sendo o referencial zero, ou seja, devemos fazer o setup ou zeramento do encoder, é possível utilizar encoders incrementais para monitorar posições absolutas. Tipicamente, um encoder incremental disponibiliza dois canais onde monitoramos o nível lógico por mudanças que representam um incremento ou um decremento na posição. A tabela 1 ilustra passo a passo os níveis lógicos ao se avançar a posição do encoder Posição Canal A Canal B X X X X X X X X X Tabela 1: Encoder incremental ao se avançar as posições A tabela 2 exibe os níveis lógicos ao se retroceder a posição do encoder Posição Canal A Canal B X X X X X X X X X Tabela 2: Encoder incremental ao se avançar as posições Note que a cada posição, apenas um dos canais muda seu nível lógico. Para determinar a posição atual, devemos verificar a configuração atual e a configuração anterior dos canais A e B do encoder. Assim, se anteriormente tínhamos os canais A e B em nível lógico baixo (zero) e agora verificamos que o canal A apresenta nível lógico alto (um) e o canal B continua com nível lógico baixo, então verificamos que houve um decremento de uma posição na leitura do encoder. Com base nessas informações e nas tabelas 1 e 2, podemos resumir o incremento ou decremento da posição de acordo com a tabela 3 A leitura de um encoder incremental é um caso típico onde é interessante fazer uso de interrupções. Perceba que se deixarmos de monitorar os canais do encoder por um tempo muito longo, podem ocorrer mais de uma mudanças de posição e, neste caso, perderemos a contagem. Por outro lado, monitorar frequentemente os canais do encoder pode demandar muito tempo de processamento, tempo que poderia ser utilizado em outras funções e cálculos. 8

9 Leitura Anterior Leitura Atual Canal A Canal B Canal A Canal B Ação Não Muda Incrementa Decrementa Erro Decrementa Não Muda Erro Incrementa Incrementa Erro Não Muda Decrementa Erro Decrementa Incrementa Não Muda Tabela 3: Ação no encoder conforme mudança nos canais A e B A seguir apresentamos uma possível implementação para a leitura de um encoder incremental utilizando interrupções. Este código pode ser testado online em Inicie a simulação e abra o monitor serial localizado dentro da aba do editor de código. No monitor serial será possível visualizar a indicação da posição lida pelo encoder. 9

10 / / E s t e programa f a z uso de i n t e r r u p ç õ e s p a r a m o n i t o r a r um / / e n c o d e r i n c r e m e n t a l l i g a d o aos p i n o s 2 e 3 do Arduíno UNO. / / Ao o c o r r e r uma mudança, a v a r i á v e l e n c o d e r é a t u a l i z a d a / / e a i n f o r m a ç ã o é d i s p o n i b i l i z a d a na p o r t a s e r i a l / / v a r i á v e i s g l o b a i s e v o l á t e i s / / e n c o d e r armazena o v a l o r da p o s i ç ã o do e n c o d e r / / c a n a l _ a armazena o e s t a d o l ó g i c o a n t e r i o r do c a n a l A / / c a n a l _ b armazena o e s t a d o l ó g i c o a n t e r i o r do c a n a l B / / change s i n a l i z a se houve mudança de e s t a d o, usada / / apenas p a r a a t u a l i z a r a i n f o r m a ç ã o na p o r t a s e r i a l v o l a t i l e long i n t e n c o d e r = 0 ; v o l a t i l e b y t e c a n a l _ a = LOW; v o l a t i l e b y t e c a n a l _ b = LOW; v o l a t i l e b y t e change = LOW; / / r o t i n a de s e t u p void s e t u p ( ) { / / C o n f i g u r a a p o r t a s e r i a l p a r a monitorarmos / / Configuramos uma t a x a de 9600 bauds S e r i a l. b e g i n ( ) ; / / Mensagem de a p r e s e n t a ç ã o do programa S e r i a l. p r i n t l n ( ) ; S e r i a l. p r i n t l n ( T e s t e Encoder : ) ; / / c o n f i g u r a as i n t e r r u p ç õ e s nos p i n o s / / pino 2 > c a n a l A / / pino 3 > c a n a l B a t t a c h I n t e r r u p t ( d i g i t a l P i n T o I n t e r r u p t ( 2 ), i s r _ c a n a l _ a, CHANGE) ; a t t a c h I n t e r r u p t ( d i g i t a l P i n T o I n t e r r u p t ( 3 ), i s r _ c a n a l _ b, CHANGE) ; / / r o t i n a p r i n c i p a l void loop ( ) { / / se houve mudança, e n v i a novo v a l o r p a r a p o r t a s e r i a l i f ( change == HIGH) { S e r i a l. p r i n t ( e n c o d e r = ) ; S e r i a l. p r i n t l n ( e n c o d e r ) ; change = LOW; 10

11 / / r o t i n a s de s e r v i ç o de i n t e r r u p ç ã o ISRs void i s r _ c a n a l _ a ( ) { change = HIGH ; i f ( c a n a l _ a == LOW) { i f ( c a n a l _ b == LOW) { / / AB e r a 00 e f o i p a r a 10, d e c r e m e n t a o e n c o d e r encoder ; c a n a l _ a = HIGH ; / / AB e r a 01 e f o i p a r a 11, i n c r e m e n t a o e n c o d e r e n c o d e r ++; c a n a l _ a = HIGH ; i f ( c a n a l _ b == LOW) { / / AB e r a 10 e f o i p a r a 00, i n c r e m e n t a o e n c o d e r e n c o d e r ++; c a n a l _ a = LOW; / / AB e r a 11 e f o i p a r a 01, d e c r e m e n t a o e n c o d e r encoder ; c a n a l _ a = LOW; void i s r _ c a n a l _ b ( ) { change = HIGH ; i f ( c a n a l _ a == LOW) { i f ( c a n a l _ b == LOW) { / / AB e r a 00 e f o i p a r a 01, d e c r e m e n t a o e n c o d e r e n c o d e r ++; c a n a l _ b = HIGH ; / / AB e r a 01 e f o i p a r a 00, d e c r e m e n t a o e n c o d e r encoder ; c a n a l _ b = LOW; i f ( c a n a l _ b == LOW) { / / AB e r a 10 e f o i p a r a 11, d e c r e m e n t a o e n c o d e r encoder ; c a n a l _ b = HIGH ; / / AB e r a 11 e f o i p a r a 10, i n c r e m e n t a o e n c o d e r e n c o d e r ++; c a n a l _ b = LOW; 11

Plano de Aula. 1 o semestre. Aula número 010 Interrupções Internas Timers. Uso de interrupções internas produzidas pelos timers

Plano de Aula. 1 o semestre. Aula número 010 Interrupções Internas Timers. Uso de interrupções internas produzidas pelos timers Diretoria de Curso Plano de Aula 1 o semestre Nome do curso Eng. Ciências da Computação + TI + TADS + Eng. Elétrica Nome da Unidade Curricular Microprocessadores e Microcontroladores Aula número 010 Tema

Leia mais

Atividade de laboratório 004. Prof: Carlos Eduardo de Brito Novaes 6 de maio de Alunos RA Nome Curso Semestre

Atividade de laboratório 004. Prof: Carlos Eduardo de Brito Novaes 6 de maio de Alunos RA Nome Curso Semestre Atividade de laboratório 004 Prof: Carlos Eduardo de Brito Novaes 6 de maio de 2016 Alunos RA Nome Curso Semestre Resumo Atividade da unidade curricular: Laboratório Integrado de Microprocessadores e Microcontroladores.

Leia mais

Atividade de laboratório 003. Prof: Carlos Eduardo de Brito Novaes 29 de abril de Alunos RA Nome Curso Semestre

Atividade de laboratório 003. Prof: Carlos Eduardo de Brito Novaes 29 de abril de Alunos RA Nome Curso Semestre Atividade de laboratório 003 Prof: Carlos Eduardo de Brito Novaes 29 de abril de 2016 Alunos RA Nome Curso Semestre Resumo Atividade da unidade curricular: Laboratório Integrado de Microprocessadores e

Leia mais

Plano de Aula. 1 o semestre. Aula número 012 Periféricos Comunicação Serial. Conhecer os princípios de comunicação serial

Plano de Aula. 1 o semestre. Aula número 012 Periféricos Comunicação Serial. Conhecer os princípios de comunicação serial Diretoria de Curso Plano de Aula 1 o semestre Nome do curso Eng. Ciências da Computação + TI + TADS + Eng. Elétrica Nome da Unidade Curricular Microprocessadores e Microcontroladores Aula número 012 Tema

Leia mais

Plano de Aula. 1 o semestre. Cronômetro Interrupções, Timers. Utilizar interrupções para criar um cronômetro com parciais

Plano de Aula. 1 o semestre. Cronômetro Interrupções, Timers. Utilizar interrupções para criar um cronômetro com parciais Diretoria de Curso Plano de Aula 1 o semestre Nome do curso Nome da Unidade Curricular Aula número Tema Período Turma Eng. Ciências da Computação + TI + TADS + Eng. Elétrica Microprocessadores e Microcontroladores

Leia mais

Lista de Exercícios A2

Lista de Exercícios A2 Lista de Exercícios A2 Nota: Aluno: RA: Curso: Turma: 1 1 Em um sistema microprocessado, interrupção é o nome dado a um mecanismo que permite interromper a execução normal do programa, para atender a um

Leia mais

Atividade de laboratório 005. Prof: Carlos Eduardo de Brito Novaes 20 de maio de Alunos RA Nome Curso Semestre

Atividade de laboratório 005. Prof: Carlos Eduardo de Brito Novaes 20 de maio de Alunos RA Nome Curso Semestre Atividade de laboratório 005 Prof: Carlos Eduardo de Brito Novaes 20 de maio de 2016 Alunos RA Nome Curso Semestre Resumo Atividade da unidade curricular: Laboratório Integrado de Microprocessadores e

Leia mais

Atividade de laboratório 001. Prof: Carlos Eduardo de Brito Novaes 18 de março de Alunos RA Nome Curso Semestre

Atividade de laboratório 001. Prof: Carlos Eduardo de Brito Novaes 18 de março de Alunos RA Nome Curso Semestre Atividade de laboratório 001 Prof: Carlos Eduardo de Brito Novaes 18 de março de 2016 Alunos RA Nome Curso Semestre Resumo Atividade da unidade currícular: Laboratório Integrado de Microprocessadores e

Leia mais

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador; 1 Microprocessador Um microprocessador é um circuito eletrônico capaz de realizar diversas tarefas conforme os comandos específicos. Para isso ele deve ler esses comandos da memória de programa (ROM) e

Leia mais

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

Descrição dos pinos de entrada e saída e de funções especiais. Descrição dos modos de acesso: individual e por porto Tópicos Descrição dos pinos de entrada e saída e de funções especiais Descrição dos modos de acesso: individual e por porto Acesso individual aos pinos Objetivos Compreender o que são periféricos em um

Leia mais

Plano de Aula. 1 o semestre. Aula número 011 Periféricos Display LCD, Conversor AD e conversor DA (PWM)

Plano de Aula. 1 o semestre. Aula número 011 Periféricos Display LCD, Conversor AD e conversor DA (PWM) Diretoria de Curso Plano de Aula 1 o semestre Nome do curso Eng. Ciências da Computação + TI + TADS + Eng. Elétrica Nome da Unidade Curricular Microprocessadores e Microcontroladores Aula número 011 Tema

Leia mais

Atividade de laboratório 007. Prof: Carlos Eduardo de Brito Novaes 10 de junho de Alunos RA Nome Curso Semestre

Atividade de laboratório 007. Prof: Carlos Eduardo de Brito Novaes 10 de junho de Alunos RA Nome Curso Semestre Atividade de laboratório 007 Prof: Carlos Eduardo de Brito Novaes 10 de junho de 2016 Alunos RA Nome Curso Semestre Resumo Atividade da unidade curricular: Laboratório Integrado de Microprocessadores e

Leia mais

Atividade de laboratório 002. Prof: Carlos Eduardo de Brito Novaes 1 de abril de Alunos RA Nome Curso Semestre

Atividade de laboratório 002. Prof: Carlos Eduardo de Brito Novaes 1 de abril de Alunos RA Nome Curso Semestre Atividade de laboratório 002 Prof: Carlos Eduardo de Brito Novaes 1 de abril de 2016 Alunos RA Nome Curso Semestre Resumo Atividade da unidade curricular: Laboratório Integrado de Microprocessadores e

Leia mais

Microprocessadores TIMER/COUNTER I

Microprocessadores TIMER/COUNTER I Microprocessadores TIMER/COUNTER I Prof. Clayrton Henrique rev. 01 mar. 2016 Roteiro Introdução; Características; Modos de Operação; Modo 0 Modo 1 Modo 2 Modo 3 Exemplos; Referências... 2 Introdução Apresentação

Leia mais

SEL 0415 INTROD. À ORGANIZAÇÃO DE COMPUTADORES

SEL 0415 INTROD. À ORGANIZAÇÃO DE COMPUTADORES SEL 0415 Aula 11 Microcontrolador 8051 Parte 3 SEL 0415 INTROD. À ORGANIZAÇÃO DE COMPUTADORES Prof. Dr. Marcelo A. C. Vieira SEL 415 INTERRUPÇÃO Estrutura de Interrupção do 8051 n 5 Fontes [ 2 Externas

Leia mais

Introdução. O que é o Arduino?

Introdução. O que é o Arduino? Arduino 2 Introdução O que é o Arduino? Arduino é uma plataforma de desenvolvimento de hardware programável que possui um chip Atmel AVR, o qual pode variar dependendo do modelo do Arduino (podendo nos

Leia mais

Microcontroladores. Interrupções no Prof. Guilherme Peron Prof. Heitor S. Lopes Prof. Ronnier Rohrich Prof. Rubão

Microcontroladores. Interrupções no Prof. Guilherme Peron Prof. Heitor S. Lopes Prof. Ronnier Rohrich Prof. Rubão Microcontroladores no 8051 Prof. Guilherme Peron Prof. Heitor S. Lopes Prof. Ronnier Rohrich Prof. Rubão O que é interrupção? Interrupção 2 Definição Qualquer evento interno ou externo que obriga o microcontrolador

Leia mais

Microprocessadores e Microcontroladores. Professor Lucas Araujo do Nascimento

Microprocessadores e Microcontroladores. Professor Lucas Araujo do Nascimento Microprocessadores e Microcontroladores Professor Lucas Araujo do Nascimento REVISÃO Microprocessadores e Microcontroladores Microprocessadores e Microcontroladores COMPUTADOR Microprocessadores e Microcontroladores

Leia mais

Organização de Memórias

Organização de Memórias Intel 8051 O Intel 8051 é um microcontrolador de 8 bits que pertence a família MCS-51 da Intel e foi lançado em 1977. É tido como o microcontrolador mais popular do mundo, pois é muito versátil e possui

Leia mais

Curso introdutório de microcontroladores - Plataforma Arduino

Curso introdutório de microcontroladores - Plataforma Arduino Curso introdutório de microcontroladores - Plataforma Arduino Prof. Fábio Rodrigues de la Rocha FLISOL - UTFPR-PR - Abril/2011 FLISOL - UTFPR-PR - Abril/2011 1 Introdução Mas afinal, o que é Arduino? Arduino

Leia mais

Projeto 01. Adriano Joaquim de Oliveira Cruz Instituto de Matemática UFRJ 2015 Adriano Cruz. 30 de agosto de 2015

Projeto 01. Adriano Joaquim de Oliveira Cruz Instituto de Matemática UFRJ 2015 Adriano Cruz. 30 de agosto de 2015 Projeto 01 Adriano Joaquim de Oliveira Cruz Instituto de Matemática UFRJ 2015 Adriano Cruz 30 de agosto de 2015 1 Introdução Este projeto é baseado no Laboratório 01 do Livro Head First C [2]. A idéia

Leia mais

- Tarefas Práticas de Programação usando Arduino - Imagem do Robô com Legendas

- Tarefas Práticas de Programação usando Arduino - Imagem do Robô com Legendas - Tarefas Práticas de Programação usando Arduino - Profa. Flavia Pereira de Carvalho Imagem do Robô com Legendas Dicas de código: 1) Os pinos dos leds estão nas posições de 2 a 7 2) Comandos básicos necessários

Leia mais

MINICURSO ARDUINO BÁSICO

MINICURSO ARDUINO BÁSICO MINICURSO ARDUINO BÁSICO Ministrantes: Henrique Wippel Parucker da Silva Murilo de Oliveira do Nascimento Ícaro Cristofolini COLMÉIA Quem somos? O que fazemos? PLATAFORMA DE PROTOTIPAGEM ARDUINO ARDUINO

Leia mais

Aula 1 Apresentação e Conceitos Iniciais. Wellington Cássio Faria fb.com/wellingtoncf

Aula 1 Apresentação e Conceitos Iniciais. Wellington Cássio Faria fb.com/wellingtoncf Aula 1 Apresentação e Conceitos Iniciais Formação: Professor: Curso técnico Médio (2o grau) Técnico em Eletrônica Industrial, CEP - Centro de Educação Profissional Tancredo Neves (julho/2010) - concluída.

Leia mais

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

AULA 6 - INTRODUÇÃO AO ARDUINO Revisão de Eletrônica Digital e introdução aos Sistemas Computacionais. AULA 6 - INTRODUÇÃO AO ARDUINO Revisão de Eletrônica Digital e introdução aos Sistemas Computacionais. 6.1 Objetivo: O objetivo desta aula é mostrar aos alunos o que é e como funciona o Arduino e seus

Leia mais

Controladores do IBM-PC. Gustavo G. Parma

Controladores do IBM-PC. Gustavo G. Parma Controladores do IBM-PC Gustavo G. Parma IBM-PC baseado em ISA Sistema de interrupção do x86 Duas entradas de solicitação de interrupção NMI: Non-maskable interruption Erro de paridade da RAM Channel Check

Leia mais

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

LABORATÓRIO DE ARQUITETURA DE COMPUTADORES PREPARAÇÃO 03: INTERRUPÇÕES AEVSF Autarquia Educacional do Vale do São Francisco FACAPE Faculdade de Ciências Aplicadas e Sociais de Petrolina Curso de Ciência da Computação LABORATÓRIO DE ARQUITETURA DE COMPUTADORES Prof. Sérgio

Leia mais

Arduino - Primeiros Passos

Arduino - Primeiros Passos Arduino - Primeiros Passos Por Fábio Souza 06/11/2013 ÍNDICE DE CONTEÚDO 1. Introdução ao Arduino 2. Plataforma de desenvolvimento Arduino 3. Hardware do Arduino 4. Software do Arduino 5. IDE do Arduino

Leia mais

Prof. Adilson Gonzaga

Prof. Adilson Gonzaga Prof. Adilson Gonzaga Temporização da CPU Todos os Microcontroladores da família MCS-51 têm um oscilador interno. Para uso deste oscilador deve-se conectar um cristal entre os pinos Xtal1 e Xtal2 da CPU.

Leia mais

Arduino. Gilmar Aquino

Arduino. Gilmar Aquino Arduino Gilmar Aquino Microcontroladores; O que é o Arduino; Sumário A origem do Arduino; Por que Arduino; Placas; Hardware; Shields; Módulos; Software; Exemplo de aplicação; Dicas, Sites e Livros; Prática.

Leia mais

Mundo Arduino: Vamos começar a programar?

Mundo Arduino: Vamos começar a programar? Mundo Arduino: Vamos começar a programar? Date : 2 de Janeiro de 2014 Por Jorge Alcino para o Pplware O Arduino é uma plataforma de hardware livre, projectado com um microcontrolador Atmel AVR. É uma placa

Leia mais

Lista de Exercícios A1

Lista de Exercícios A1 Lista de Exercícios A1 14 de março de 2016 1 Realizar a conversão dos números a seguir para binário de 8 bits 1.1 Número (100) 10 Resposta: 0110 0100 1.2 Número (33) 10 Resposta: 0010 0001 1.3 Número (66)

Leia mais

Microcontroladores. Contadores e Temporizadores. Prof. Guilherme Peron Prof. Heitor S. Lopes Prof. Ronnier Rohrich Prof. Rubão

Microcontroladores. Contadores e Temporizadores. Prof. Guilherme Peron Prof. Heitor S. Lopes Prof. Ronnier Rohrich Prof. Rubão Microcontroladores Contadores e Temporizadores Prof. Guilherme Peron Prof. Heitor S. Lopes Prof. Ronnier Rohrich Prof. Rubão Introdução Como fazer um temporizador? 2 maneiras 2 Introdução Como fazer um

Leia mais

Disciplina: Laboratório de Fis26

Disciplina: Laboratório de Fis26 1 Disciplina: Laboratório de Fis26 www.fis.ita.br/labfis26 Professores: Sonia Guimarães soniagui@ita.br Douglas Leite prof.dmgl@gmail.com Monitoras: Larissa chazfisica@gmail.com Flávia rocha.pereira.flavia@gmail.com

Leia mais

Enviando Dados Pela Porta Serial na placa LaunchPad MSP430 Utilizando o ambiente ENERGIA

Enviando Dados Pela Porta Serial na placa LaunchPad MSP430 Utilizando o ambiente ENERGIA Enviando Dados Pela Porta Serial na placa LaunchPad MSP430 Utilizando o ambiente ENERGIA Autor: Renne Takao Meguro Portal Ribeirão Preto 14/07/2012 Olá Pessoal, dando continuidade ao artigo do Blog do

Leia mais

Robótica com Arduino Professor: Paulo Marcos Trentin

Robótica com Arduino Professor: Paulo Marcos Trentin Robótica com Arduino Professor: Paulo Marcos Trentin CDI Onde comprar o Arduino? http://lojabrasilrobotics.blogspot.com/ Onde comprar o Arduino? http://www.mercadolivre.com.br/ Onde comprar o Arduino?

Leia mais

Programação do Arduino. Parte 1. IDE Wiring

Programação do Arduino. Parte 1. IDE Wiring Programação do Arduino Parte 1 IDE Wiring Ambiente de programação: IDE Wiring Barra de título Menu Barra de ferramentas Janela de edição Janela de status Ambiente de programação: IDE Wiring Compilação

Leia mais

UTFPR Departamento Acadêmico de Eletrônica Curso Técnico em Eletrônica Microcontroladores 1 - Prof. Cion nov/2010 (atualizado em jul 2015)

UTFPR Departamento Acadêmico de Eletrônica Curso Técnico em Eletrônica Microcontroladores 1 - Prof. Cion nov/2010 (atualizado em jul 2015) UTFPR Departamento Acadêmico de Eletrônica Curso Técnico em Eletrônica Microcontroladores 1 - Prof. Cion nov/2010 (atualizado em jul 2015) Interrupção e Contadores/Temporizadores Este texto apresenta uma

Leia mais

Interrupção. Prof. Adilson Gonzaga

Interrupção. Prof. Adilson Gonzaga Interrupção Prof. Adilson Gonzaga Estrutura de Programação Assembly Programa Principal Chamada de Sub-rotina1 Programa Principal Chamada de Sub-rotina2 Sub-rotina1 Subrotina2 Programa Principal Chamada

Leia mais

INTRODUÇÃO AO ARDUINO DUE, CANAL DIGITAL, FUNÇÃO DELAY

INTRODUÇÃO AO ARDUINO DUE, CANAL DIGITAL, FUNÇÃO DELAY INTRODUÇÃO AO ARDUINO DUE, CANAL DIGITAL, FUNÇÃO DELAY INTRODUÇÃO A Plataforma Arduino é considerada plataforma aberta, ou seja, qualquer pessoa pode efetuar uma melhoria em um código, biblioteca e disponibilizá-la

Leia mais

Interrupções. O que é uma interrupção? Como funciona uma interrupção no AVR?

Interrupções. O que é uma interrupção? Como funciona uma interrupção no AVR? Interrupções O que é uma interrupção? Irei agora começar a falar de interrupções a partir do mais básico o que é uma interrupção? Uma interrupção é basicamente uma pausa no programa, enquanto o processador

Leia mais

Revisão da Linguagem C Prof. Evandro L. L. Rodrigues

Revisão da Linguagem C Prof. Evandro L. L. Rodrigues SEL0433 Aplicação de Microprocessadores I Revisão da Linguagem C Prof. Evandro L. L. Rodrigues Estrutura de um programa C Diretivas de pré processamento Declaração de variáveis globais Declaração de protótipos

Leia mais

Nível da Arquitetura do Conjunto das Instruções

Nível da Arquitetura do Conjunto das Instruções Fluxo Seqüencial de Controle e Desvios (1) Nível da Arquitetura do Conjunto das Instruções (Aula 13) Fluxo de Controle Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 2007/2 Fluxo

Leia mais

Sistemas Embarcados:

Sistemas Embarcados: Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Sistemas Embarcados: Interrupções DCA0119 Sistemas Digitais Heitor Medeiros Florencio Tópicos Conceito de

Leia mais

Acetatos de apoio às aulas teóricas

Acetatos de apoio às aulas teóricas Microprocessadores e Aplicações Acetatos de apoio às aulas teóricas Ana Cristina Lopes Dep. Engenharia Electrotécnica http://orion.ipt.pt anacris@ipt.pt Ana Cristina Lopes, 24 de Outubro de 2004 Microprocessadores

Leia mais

Universidade Federal Fluminense - UFF Escola de Engenharia - TCE Curso de Engenharia de Telecomunicações - TGT

Universidade Federal Fluminense - UFF Escola de Engenharia - TCE Curso de Engenharia de Telecomunicações - TGT Universidade Federal Fluminense - UFF Escola de Engenharia - TCE Curso de Engenharia de Telecomunicações - TGT Programa de Educação Tutorial PET Grupo PET-Tele Tutoriais PET-Tele Implementação de um sistema

Leia mais

Plano de Trabalho Docente Ensino Técnico

Plano de Trabalho Docente Ensino Técnico Plano de Trabalho Docente 2015 Ensino Técnico Etec Etec: Monsenhor Antônio Magliano Código: 088 Município: Garça Eixo Tecnológico: Controle e Processos Industriais Habilitação Profissional: Técnica de

Leia mais

OFICINA Uso da plataforma Arduino no Ensino de Ciências

OFICINA Uso da plataforma Arduino no Ensino de Ciências OFICINA Uso da plataforma Arduino no Ensino de Ciências Grupo 2 de Atividades Astrogildo Junqueira Docente Física/IFSP Lucas D Amásio David Larronda Licenciandos/IFSP Apoio Financeiro: Prodocência / Capes

Leia mais

Introdução à Plataforma ARDUINO

Introdução à Plataforma ARDUINO MINICURSO Introdução à Plataforma ARDUINO PET Mecatrônica/BSI Geruza M. Bressan O que é um microcontrolador (MCU)? É um computador em um chip Processador Memória Entrada/Saída Controla ações e funções

Leia mais

1º minicurso de Arduino no IFUSP 4 a 22 de maio de 2015 Prof. Alexandre Suaide

1º minicurso de Arduino no IFUSP 4 a 22 de maio de 2015 Prof. Alexandre Suaide 1º minicurso de Arduino no IFUSP 4 a 22 de maio de 2015 Prof. Alexandre Suaide Arduino é uma plataforma eletrônica para prototipagem flexível, de baixo custo, fácil de usar e aberta. Inscrições abertas

Leia mais

- Trabalho Prático de Algoritmos e Programação usando Robô Arduino -

- Trabalho Prático de Algoritmos e Programação usando Robô Arduino - Disciplina: Algoritmos e Programação Vale 1.5 para G2 Profa. Flavia Pereira de Carvalho - Trabalho Prático de Algoritmos e Programação usando Robô Arduino - Imagem do Robô com Legendas Dicas de código

Leia mais

PCS-2529 Introdução aos Processadores. Prof. Dr. Paulo Sérgio Cugnasca

PCS-2529 Introdução aos Processadores. Prof. Dr. Paulo Sérgio Cugnasca PCS-2529 Introdução aos Processadores Prof. Dr. Paulo Sérgio Cugnasca 1 2 Existem 4 esquemas diferentes de E/S possíveis, cada um se aplicando em uma determinada situação. E/S Programada. E/S Acionada

Leia mais

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

ARDUINO BÁSICO E T A P A 1 O QUE É ARDUINO? Prof. Amadeu Zanon Neto E T A P A 1 O QUE É ARDUINO? Segundo o site WIKIPEDIA, Arduino é: É um microcontrolador de placa única e um conjunto de software para programá lo. O hardware consiste em um projeto simples de hardware

Leia mais

ALGORITMOS, ARQUITETURA E ARDUINO

ALGORITMOS, ARQUITETURA E ARDUINO INOVAÇÃO TECNOLÓGICA E EMPREENDEDORISMO ALGORITMOS, ARQUITETURA E ARDUINO Prof. Dr. Daniel Caetano 2017-2 Objetivos Rever alguns conceitos iniciais de algoritmos Tomar contato com alguns conceitos de arquitetura

Leia mais

ROBÓTICA 1 INTRODUÇÃO A PROGRAMAÇÃO NO ARDUINO

ROBÓTICA 1 INTRODUÇÃO A PROGRAMAÇÃO NO ARDUINO ROBÓTICA 1 INTRODUÇÃO A PROGRAMAÇÃO NO ARDUINO O QUE VIMOS AULA PASSADA? REVISÃO RÁPIDA Hardware vs Software Eletricidade básica Lei de Ohm Um pouco sobre o Arduino Materiais Importantes Entradas do Arduino

Leia mais

Microcontroladores PROF. ME. HÉLIO ESPERIDIÃO

Microcontroladores PROF. ME. HÉLIO ESPERIDIÃO Microcontroladores PROF. ME. HÉLIO ESPERIDIÃO Microprocessador É um circuito integrado que contém milhares, ou mesmo milhões, de transistores. Os transistores trabalham juntos para armazenar e manipular

Leia mais

Microprocessadores CPU. Unidade de Controle. Prof. Henrique

Microprocessadores CPU. Unidade de Controle. Prof. Henrique Microprocessadores CPU Unidade de Controle Prof. Henrique Roteiro Registradores; Unidade de Controle Níveis de Complexidade Introdução Um sistema microprocessado conta com diversos dispositivos para um

Leia mais

SEL-614 MICROPROCESSADORES E APLICAÇÕES. Adilson Gonzaga

SEL-614 MICROPROCESSADORES E APLICAÇÕES. Adilson Gonzaga SEL-614 MICROPROCESSADORES E APLICAÇÕES Prof: Adilson Gonzaga HISTÓRICO Microprocessador Circuito integrado ( chip ) capaz de executar instruções. 1971 Intel Corporation lançou no mercado o microprocessador

Leia mais

CANAL ANALÓGICO

CANAL ANALÓGICO CANAL ANALÓGICO CANAL ANALÓGICO (Introdução) Variáveis analógicas apresentam variação modular em função do tempo, como por exemplo a temperatura, pressão, nível, etc. Para trabalhar com estas variáveis,

Leia mais

Sistemas Operacionais de Tempo Real - Teclados Matriciais

Sistemas Operacionais de Tempo Real - Teclados Matriciais 1 / 27 Sistemas Operacionais de Tempo Real - Teclados Matriciais por Henrique Frank W. Puhlmann Introdução Chaves eletromecânicas são uma forma quase primitiva de interface entre um sistema eletrônico

Leia mais

Programação em Linguagem C

Programação em Linguagem C Programação em Linguagem C UNIDADE 1 Unidade I Nesta unidade aprenderemos: escrever o código no computador e transferir para o Arduino. ligar e desligar um pino; utilizar o delay (tempo); ler um pino para

Leia mais

Sistemas Reativos. Interrupções em microcontroladores (baseado no Atmega328p Arduino Uno)

Sistemas Reativos. Interrupções em microcontroladores (baseado no Atmega328p Arduino Uno) Sistemas Reativos Interrupções em microcontroladores (baseado no Atmega328p Arduino Uno) Noemi Rodriguez noemi@inf.puc-rio.br Adriano Branco abranco@inf.puc-rio.br Interrupção no Microcontrolador Mecanismo

Leia mais

Interrupções 8051 Porta Serial

Interrupções 8051 Porta Serial Interrupções 8051 Porta Serial Disciplina de Microcontroladores Prof. Ronnier Prof. Rubão Finalidade Introduzir ao aluno a ideia de que se possa interromper o programa, de forma temporária, e desta vez

Leia mais

Ex.: Rotinas de tempo

Ex.: Rotinas de tempo Ex.: Rotinas de tempo ORG 0000h PADRAO EQU 11111110b PORTA EQU P1 VBASE EQU 0800h mov r0,# PADRAO inicio: mov PORTA,r0 ;***********TEMPO DE 1S ************ mov dptr,#vbase ; Tt= 2T espera1: mov r1,#0f2h

Leia mais

Anatomia do Arduino Bootloader

Anatomia do Arduino Bootloader Anatomia do Arduino Bootloader Fábio Olivé (fabio.olive@gmail.com) Tópicos A plataforma Arduino A família Atmel AVR ATmega Padronização da configuração e uso do ATmega Detalhando o ATmega328P Especificações

Leia mais

Plano de Trabalho Docente Ensino Técnico

Plano de Trabalho Docente Ensino Técnico Plano de Trabalho Docente 2015 Ensino Técnico Etec Etec: Monsenhor Antônio Magliano Código: 088 Município: Garça Eixo Tecnológico: Controle e Processos Industriais Habilitação Profissional: Nível Médio

Leia mais

Projeto No. 19 Contador Binário com Chave Rotativa

Projeto No. 19 Contador Binário com Chave Rotativa Projeto No. 19 Contador Binário com Chave Rotativa O objetivo deste projeto é utilizar três LEDs para mostrar os números entre 0 e 7 no sistema de numeração binário, ou seja 0 (Desligado - LOW) ou 1 (Ligado

Leia mais

Tutoriais PET-Tele. Introdução à Amostragem de Sinais com o kit Arduino (Versão: A2016M06D21)

Tutoriais PET-Tele. Introdução à Amostragem de Sinais com o kit Arduino (Versão: A2016M06D21) Universidade Federal Fluminense UFF Escola de Engenharia TCE Curso de Engenharia de Telecomunicações TGT Programa de Educação Tutorial PET Grupo PET-Tele Tutoriais PET-Tele Introdução à Amostragem de Sinais

Leia mais

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

1.2 Registradores relacionados as Interrupções. 3. TOSE Sentido da transição da borda do sinal aplicado am TMR0 Capítulo 1 Interrupções 1.1 O que são interrupções? Como o nome sugere interrompe a execução normal e exige atenção urgente da CPU. São eventos não previsíveis e assim não pode ser oferecido tempo de CPU

Leia mais

Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação.

Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação. Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização e Arquitetura Básicas

Leia mais

of Arduino Slide: Bruno Aricó

of Arduino Slide: Bruno Aricó S of Arduino Slide: Bruno Aricó https://github.com/brunoarico/workshopneu https://goo.gl/rprngs O que veremos: Registradores; Interrupções Externas; Referência de tensão externa; EEPROM; Pequena oficina

Leia mais

Por Fernando Koyanagi 1

Por Fernando Koyanagi 1 Por Fernando Koyanagi 1 Características principais Chip com Wi-Fi embutido : padrão 802.11 B/G/N, operando na faixa de 2.4 a 2.5GHz Modos de operação : Client, Access Point, Station+Access Point Microprocessador

Leia mais

Lista de Exercícios 2

Lista de Exercícios 2 Conceitos envolvidos: a) Contadores e Temporizadores b) Interface serial RS232 c) Interrupções Lista de Exercícios 2 1. Fazer um contador hexadecimal que coloque o valor de contagem na porta P1 em intervalos

Leia mais

Introdução ao Arduino ESCOLA DE ARTES VISUAIS DO PARQUE LAGE. Núcleo de Arte e Tecnologia. julio lucio martin. Aula 01

Introdução ao Arduino ESCOLA DE ARTES VISUAIS DO PARQUE LAGE. Núcleo de Arte e Tecnologia. julio lucio martin. Aula 01 Introdução ao Arduino ESCOLA DE ARTES VISUAIS DO PARQUE LAGE Núcleo de Arte e Tecnologia julio lucio martin Aula 01 O que vamos entender? eletrônica corrente elétrica: voltagem resistência intensidade

Leia mais

Estrutura Básica da Linguagem Arduino

Estrutura Básica da Linguagem Arduino Governo do Estado de Pernambuco Secretaria de Educação Secretaria Executiva de Educação Profissional Escola Técnica Estadual Professor Agamemnon Magalhães ETEPAM Estrutura Básica da Linguagem Arduino Jener

Leia mais

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

ENG-1450 Microcontroladores e Sistemas Embarcados. Lab02 Apresentação Kit PicGenios Interrupção e Timers ENG-1450 Microcontroladores e Sistemas Embarcados Lab02 Apresentação Kit PicGenios Interrupção e Timers Atividades 1. Executar tarefas da aula anterior no kit 2. Exemplo1: 1.Acionar o LED por interrupção

Leia mais

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

Capítulo 14. Expandindo as portas de comunicação 8031 com a PPI Interface PPI 8255 Capítulo 14 Expandindo as portas de comunicação 8031 com a PPI 8255 Como discutido ao longo do livro, o 8031 deixa 8 bits para controle genérico de dispositivos. Em situações nas quais se necessita um

Leia mais

Programação Básica em Arduino Aula 2

Programação Básica em Arduino Aula 2 Programação Básica em Arduino Aula 2 Execução: Laboratório de Automação e Robótica Móvel Site: http://oficinaderobotica.ufsc.br/ Canal: Oficina de Robótica UFSC https://www.youtube.com/channel/uc4oojsp2fhfkdrnj0wd7iag

Leia mais

Lista de Exercícios 1

Lista de Exercícios 1 Conceitos envolvidos: a) Contadores e Temporizadores b) Interface serial RS2322 c) Interrupções Lista de Exercícios 1 1. Fazer um contador hexadecimal que coloque o valor de contagem na porta P1 em intervalos

Leia mais

Temporização da CPU SEL-433 APLICAÇÕES DE MICROPROCESSADORES I. Ciclos de Máquina. Ciclos de Máquina. Temporização Interrupções Rotinas de Atraso

Temporização da CPU SEL-433 APLICAÇÕES DE MICROPROCESSADORES I. Ciclos de Máquina. Ciclos de Máquina. Temporização Interrupções Rotinas de Atraso SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Temporização da CPU Todos os Microcontroladores da família MCS-51 têm um oscilador interno. Para uso deste oscilador deve-se conectar um cristal entre os pinos

Leia mais

29/03/2017. Temporização da CPU SEL-433 APLICAÇÕES DE MICROPROCESSADORES I. Ciclos de Máquina. Ciclos de Máquina

29/03/2017. Temporização da CPU SEL-433 APLICAÇÕES DE MICROPROCESSADORES I. Ciclos de Máquina. Ciclos de Máquina SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Temporização da CPU Todos os Microcontroladores da família MCS-5 têm um oscilador interno. Para uso deste oscilador deve-se conectar um cristal entre os pinos

Leia mais

Sensor óptico em quadratura: leitura via Arduino

Sensor óptico em quadratura: leitura via Arduino Ministério da Educação Universidade Tecnológica Federal do Paraná Campus Cornélio Procópio Coordenação de Eletrotécnica Sensor óptico em quadratura: leitura via Arduino Autor: Prof. Alessandro N. Vargas

Leia mais

Temporização Interrupções. Prof: Evandro L. L. Rodrigues. Rotinas de Atraso

Temporização Interrupções. Prof: Evandro L. L. Rodrigues. Rotinas de Atraso Temporização Interrupções Prof: Evandro L. L. Rodrigues Rotinas de Atraso Temporização da CPU Todos os Microcontroladores da família MCS-51 têm um oscilador interno. Para uso deste oscilador deve-se conectar

Leia mais

Comunicação Serial II. Prof. Clayrton Henrique Microprocessadores Aula 31 Rev.03

Comunicação Serial II. Prof. Clayrton Henrique Microprocessadores Aula 31 Rev.03 Comunicação Serial II Prof. Clayrton Henrique Microprocessadores Aula 31 Rev.03 Roteiro Registradores Especiais Configuração: Modo 0 Modo 1 Modo 2 Modo 3 Exemplos Referências SCON.7: SM1 SCON.6: SM0 Modo

Leia mais

EXPERIÊNCIA 5: IMPLEMENTAÇÃO DE UM CRONÔMETRO COM INTERRUPÇÃO

EXPERIÊNCIA 5: IMPLEMENTAÇÃO DE UM CRONÔMETRO COM INTERRUPÇÃO EXPERIÊNCIA 5: IMPLEMENTAÇÃO DE UM CRONÔMETRO COM INTERRUPÇÃO Autores: Prof. Dr. Marco Túlio Carvalho de Andrade, Prof. Dr. Carlos Eduardo Cugnasca, Prof Dr. André Riyuiti Hirakawa, Prof. Dr. Paulo Sérgio

Leia mais

O que você pode fazer com o Arduino

O que você pode fazer com o Arduino O que é Arduino O Arduino foi criado em 2005 por um grupo de 5 pesquisadores : Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino e David Mellis. O objetivo era elaborar um dispositivo que fosse

Leia mais

Arduino. Conectores, Fonte, USB, LEDs. Compilador, Bibliotecas, Editor, Burner

Arduino. Conectores, Fonte, USB, LEDs. Compilador, Bibliotecas, Editor, Burner Arduino Single-board microcontroller Microcontrolador Placa CPU, Memória, Serial, I/O Conectores, Fonte, USB, LEDs IDE Compilador, Bibliotecas, Editor, Burner http://arduino.cc/en/reference/homepage Shields

Leia mais

SSC510 Arquitetura de Computadores 1ª AULA

SSC510 Arquitetura de Computadores 1ª AULA SSC510 Arquitetura de Computadores 1ª AULA REVISÃO DE ORGANIZAÇÃO DE COMPUTADORES Arquitetura X Organização Arquitetura - Atributos de um Sistema Computacional como visto pelo programador, isto é a estrutura

Leia mais

LABORATÓRIO DE PROCESSAMENTO DIGITAL DE SINAIS II. Filtros FIR utilizando matlab e arduino duo LAB 1 (LPF)

LABORATÓRIO DE PROCESSAMENTO DIGITAL DE SINAIS II. Filtros FIR utilizando matlab e arduino duo LAB 1 (LPF) Fase (graus) Módulo da resposta em frequência METAHEURO LABORATÓRIO DE PROCESSAMENTO DIGITAL DE SINAIS II Filtros FIR utilizando matlab e arduino duo LAB 1 (LPF) Nota: O processador ARM do arduino duo

Leia mais

Aula 10 Microcontrolador Intel 8051 Parte 1

Aula 10 Microcontrolador Intel 8051 Parte 1 Aula 10 Microcontrolador Intel 8051 Parte 1 SEL 0415 INTROD. À ORGANIZAÇÃO DE COMPUTADORES Prof. Dr. Marcelo A. C. Vieira SEL 0415 Microcontroladores Grupo de Sistemas Digitais n Microcontrolador é o nome

Leia mais

INTRODUÇÃO: MICROCONTROLADORES

INTRODUÇÃO: MICROCONTROLADORES INTRODUÇÃO: MICROCONTROLADORES MICROCONTROLADOR X MICROPROCESSADOR Baixa capacidade de processamento Freq. Operação em MHz Custo de R$ 7,00 a 30,00 Aplicações mais restrita Alta capacidade de processamento

Leia mais

ELE Microprocessadores I

ELE Microprocessadores I ELE 1078 - Microprocessadores I AULA 13 Conjunto de Instruções do Microprocessador 8085A - Entrada e Saída (I/O) - 13.1 - Grupos de Instruções As instruções no 8085 são distribuídas em 5 grupos: Grupo

Leia mais

14/3/2016. Prof. Evandro L. L. Rodrigues

14/3/2016. Prof. Evandro L. L. Rodrigues SEL 433 APLICAÇÕES DE MICROPROCESSADORES I SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Prof. Evandro L. L. Rodrigues Tópicos do curso Conceitos básicos - Aplicações e utilizações dos microcontroladores

Leia mais

Laboratório de Microprocessadores e Microcontroladores

Laboratório de Microprocessadores e Microcontroladores Escola de Engenharia Elétrica, Mecânica e de Computação Universidade Federal de Goiás Laboratório de Microprocessadores e Microcontroladores Experimento 2: Interrupções Externas e Relés Alunos: Matrícula:

Leia mais

Acendendo o Led com Arduino.

Acendendo o Led com Arduino. Acendendo o Led com Arduino. Nesse tutorial aprenderemos a ligar e desligar um Led com o Arduino. Para isso utilizaremos os seguintes componentes e ferramentas: Arduino Figura 1 Arduino UNO. Placa de prototipação

Leia mais

Oficina de Programação utilizando a plataforma Arduino

Oficina de Programação utilizando a plataforma Arduino Oficina de Programação utilizando a plataforma Arduino Bianca Alessandra Visineski Alberton bi.alberton@gmail.com Paulo Nesello Künzel kruger paulo@hotmail.com Programa de Educação Tutorial Computando

Leia mais

Plano de Trabalho Docente Ensino Técnico

Plano de Trabalho Docente Ensino Técnico Plano de Trabalho Docente 2016 Ensino Técnico Plano de Curso nº 95 aprovado pela portaria Cetec nº 38 de 30/10/2009 Etec Paulino Botelho Código: 091 Município: São Carlos Eixo Tecnológico: Controle e Processos

Leia mais