Acetatos de apoio às aulas teóricas

Documentos relacionados
Acetatos de apoio às aulas teóricas

Interrupções por hardware

Laboratório de Microprocessadores e Microcontroladores

Laboratório de Microprocessadores e Microcontroladores

Interrupção

Temporização Interrupções. Prof: Evandro L. L. Rodrigues. 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

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

Prof. Adilson Gonzaga

EEC2104 Microprocessadores

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

Interrupção. Prof. Adilson Gonzaga

Acetatos de apoio às aulas teóricas

Temporizadores e Contadores (Timer/Counter)

programáveis por software

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

Temporizadores e Contadores

SEL 0415 INTROD. À ORGANIZAÇÃO DE COMPUTADORES

Interrupções Externas

Interrupções do Interrupções Gabriel Kovalhuk. UTFPR DAELN - Tecnologia em Mecatrônica Industrial

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 - RESPOSTA ESPERADA

Organização de computadores. Prof. Moisés Souto

Ex.: Rotinas de tempo

Os temporizadores / contadores (T/C) do 80C51

MICROCONTROLADOR 8051

Apontamentos sobre o 8051 Prof. Eng Luiz Antonio Vargas Pinto Versão revista e ampliada em 01/07/2009 Revisada em 28/02/2006 Revisada em 18/11/2007

2.4 Temporização da CPU

Notas de Aula Prof. André R. Hirakawa Prof. Paulo S. Cugnasca Prof. Carlos E. Cugnasca

Sistemas Microprocessados

Microprocessadores TIMER/COUNTER I

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

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 (Tema: Microcontrolador 8051) Resposta Esperada

William Stallings Computer Organization and Architecture

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

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 - Uma Solução Possível

Organização de Memórias

Lista de Exercícios 1

TIMER2 no ATMEL AT89S8252 TIMER 2 - CARACTERISTICAS TIMER 2 MODOS

SSC510 Arquitetura de Computadores 1ª AULA

Microprocessadores e Microcontroladores. Professor Lucas Araujo do Nascimento

Organização de computadores. Prof. Moisés Souto

Revisão: Modo Real, pt 2 Interrupções

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

Lista de Exercícios 1

Aula 10 Microcontrolador Intel 8051 Parte 1

Lista de Exercícios 2

Lista de Exercícios 1

MICROPROCESSADORES E MICROCONTROLADORES. Prova 1 Resposta Esperada

16/3/2009. Aula 6. Engenharia de Sistemas Embarcados

Aula 6. Engenharia de Sistemas Embarcados. Prof. Abel Guilhermino Tópico: Arquitetura e Ambiente de Desenvolvimento

CAPÍTULO II FAMÍLIA MCS-51

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 (Tema: Microcontrolador 8051)

Microprocessadores 1º Ano - LECOM

Microprocessadores 1º Ano - LECOM. Universidade do Minho Dept. De Electrónica Industrial

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

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

Controladores do IBM-PC. Gustavo G. Parma

Entrada e Saída. Walter Fetter Lages

Laboratório de Microprocessadores e Microcontroladores

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

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

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

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 (Tema: Microcontrolador 8051)

µcontroladores da Família 51

INSTITUTO SUPERIOR TÉCNICO. Arquitectura de Computadores (ACom)

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 Resposta Esperada

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 UMA SOLUÇÃO POSSÍVEL. Obs.: Todas as questões têm valor 2,0. Boa prova e Feliz Natal e Ano Novo!!!!

EEC2104 Microprocessadores

Lógica Externa à CPU. Transferência de Dados. Entrada/Saída por Interrupção. Entrada/Saída por Interrupção

Microcontrolador 8051:

Aula 10 Microcontrolador Intel 8051 Parte 2

Lógica Externa à CPU

CPU. CPU Unidade Central de Processamento. Função: leitura, escrita e processamento de dados

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 UMA SOLUCAO POSSÍVEL

Microcontrolador 8051

Sistemas Operacionais de Tempo Real - Teclados Matriciais

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

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

Nível do Conjunto de Instruções Prof. Edson Pedro Ferlin

Jadsonlee da Silva Sá

Sistemas Operacionais. BSI / UAB 2013 Hélio Crestana Guardia

Estrutura Básica de um Computador

SEL 337 Aplicação de Microprocessadores II

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

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos

Sistemas Operacionais. Interrupção e Exceção

Entrada e Saída e Dispositivos

EXERCÍCIOS 2 Prof. Adilson Gonzaga

SISTEMAS DIGITAIS II Enunciado do Projecto

Dispositivos de Entrada e Saída

Organização de Computadores 1

Sistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Sistemas de Memória. CES-25 Arquiteturas para Alto Desmpenho. Paulo André Castro

EEC2104 Microprocessadores

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES

SEMINÁRIO ASSEMBLY: Arquitetura 8051

CEFET-RS Curso de Eletrônica

Acetatos de apoio às aulas teóricas

Sistema de entrada e saída (E/S)- Módulos de E/S; tipos de operações de E/S

Transcrição:

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 e Aplicações p. 1/7

Externas 1. ; (a) Introdução; (b) Registos Envolvidos; (c) Manipulação das ; (d) Externas; (e) Passo a Passo; (f) Exemplos. Ana Cristina Lopes, 24 de Outubro de 2004 Microprocessadores e Aplicações p. 2/7

Introdução Externas O 8051 apresenta 5 tipos de interrupções: 2 externas; 2 temporizadores (timers); 1 série Alguns outros membros da família MCS-51 podem apresentar outras interrupções. Por exemplo o 8052 apresenta uma interrupção adicional associada ao temporizador 2 (timer 2) Ana Cristina Lopes, 24 de Outubro de 2004 Microprocessadores e Aplicações p. 3/7

IE - Interrupt Enable Externas Os registos dedicados às interrupções permitem um controlo total sobre as mesmas. A permissão de cada interrupção pode ser feita individualmente. Porém é possível inibir todas as interrupções de uma só vez. O registo IE (Interrupt Enable) controla a permissão das interrupções e é ilustrado na Figura seguinte: IE Interrupt Enable 7 6 5 4 3 2 1 0 EA - - ES ET1 EX1 ET0 EX0 Externa 0 Timer 0 Externa 1 Timer 1 Série Permite Todas 1 Permite Interrupção, 0 - Não Permite Interrupção Ana Cristina Lopes, 24 de Outubro de 2004 Microprocessadores e Aplicações p. 4/7

IP - Interrupt Priority Externas Cada interrupção pode ter dois níveis de prioridade: prioridade alta ou prioridade baixa. Uma interrupção de prioridade alta pode interromper uma de prioridade baixa, no entanto o inverso não pode ocorrer. Uma interrupção não pode ser interrompida por uma outra com o mesmo nível de prioridade. Em suma: Se forem recebidas interrupções com prioridades diferentes, a de prioridade alta é atendida primeiro. Se forem recebidas interrupções de igual prioridade, determina-se aquela que vai ser atendida primeiro através de uma sequência interna de polling - sequência de atendimento ou de consulta. Ana Cristina Lopes, 24 de Outubro de 2004 Microprocessadores e Aplicações p. 4/7

IP - Interrupt Priority Externas A Figura seguinte mostra o conteúdo do registo IP (Interrupt Priority), o qual define as prioridades das diferentes interrupções. IP Interrupt Priority 7 6 5 4 3 2 1 0 - - - PS PT1 PX1 PT0 PX0 Externa 0 Timer 0 Externa 1 Timer 1 Série 1 Permite Interrupção, 0 - Não Permite Interrupção Ana Cristina Lopes, 24 de Outubro de 2004 Microprocessadores e Aplicações p. 4/7

TCON - Configuração das Int. Externas Externas As duas interrupções externas (INT0 e INT1) podem ser accionadas por nível ou por flanco de descida ( ). Esta configuração é definida através de dois bits do registo TCON. Este registo integra ainda as flags associadas às interrupções externas e dos temporizadores. Estes bits ficam a 1 sempre que a interrupção respectiva é activada. A Figura seguinte mostra o conteúdo do registo TCON: TCON Diversas funções para interrupções e timers 7 6 5 4 3 2 1 0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 Flanco/Nível Externa 0 Flag Interrupção Externa 0 Flanco/Nível Externa 1 Flag Interrupção Externa 1 Run/Stop Timer 0 Overflow Timer 0 Run/Stop Timer 1 Overflow Timer 1 Ana Cristina Lopes, 24 de Outubro de 2004 Microprocessadores e Aplicações p. 4/7

Registo TCON - Continuação Externas De seguida apresenta-se a descrição dos quatro bits mais significativos do registo TCON: TF1: Flag de transbordo (overflow) do contador/temporizador 1. É activado por hardware quando há transbordo no contador do timer 1 (timer/counter 1). É apagado por hardware quando o processador é desviado para a rotina de atendimento da interrupção. TR1: Bit de contagem/paragem do contador/temporizador 1. TF0: Flag de transbordo (overflow) do contador/temporizador 0. É activado por hardware quando há transbordo no contador do timer 0 (timer/counter 0). É apagado por hardware quando o processador é desviado para a rotina de atendimento da interrupção. TR0: Bit de contagem/paragem do contador/temporizador 0. Ana Cristina Lopes, 24 de Outubro de 2004 Microprocessadores e Aplicações p. 4/7

Registo TCON - Continuação Externas De seguida apresenta-se a descrição dos quatro bits menos significativos do registo TCON: IE1: Flag da interrupção externa 1. É activado (colocado a um) por hardware quando se detecta a interrupção externa 1. É apagado (colocado a zero) por hardware (só no modo flanco) quando o processador é desviado para a rotina de atendimento da interrupção. IT1: Indica se a interrupção externa 1 opera por flanco ou por nível: IT1 = 1 flanco descendente, IT1 = 0 nível. IE0: Flag da interrupção externa 0. É activado (colocado a um) por hardware quando se detecta a interrupção externa 0. É apagado (colocado a zero) por hardware (só no modo flanco) quando o processador é desviado para a rotina de atendimento da interrupção. IT0: Indica se a interrupção externa 0 opera por flanco ou por nível: IT0 = 1 flanco descendente, IT0 = 0 nível. Ana Cristina Lopes, 24 de Outubro de 2004 Microprocessadores e Aplicações p. 4/7

Activação de por Software Externas Todos os bits que geram interrupções podem ser activados por software, originando os mesmos resultados da activação por hardware. Isto quer dizer que uma interrupção pode ser activada por software e também que as interrupções pendentes podem ser canceladas. Cada interrupção é vectorizada num endereço pré-definido, tal como se apresenta de seguida: RESET 00H Externa 0 IE0 03H Timer 0 TF0 0BH Externa 1 IE1 13H Timer 1 TF1 1BH Serial RI+TI 23H (+ significa OR) No endereço de vectorização das interrupções há pouco espaço, o qual é suficiente apenas para colocar algumas instruções. Portanto é normal colocar nestes endereços um desvio (jump) para um outro local, onde está a rotina que atende à interrupção. Ana Cristina Lopes, 24 de Outubro de 2004 Microprocessadores e Aplicações p. 4/7

Manipulação das Externas As flags das interrupções são amostradas na segunda fase do quinto estado (S5P2) de cada ciclo de máquina. As amostras são submetidas a polling (consulta) durante o próximo ciclo de máquina. A Figura seguinte ilustra a sequência de atendimento de uma interrupção. CM1 CM2 CM3 CM4 CM5 S5P2 S6P1 S6P2 Polling para decidir as interrupções LCALL para o endereço da rotina de interrupção Início da rotina de interrupção Coloca-se no latch as interrupções Interrupção activada no passado Ana Cristina Lopes, 24 de Outubro de 2004 Microprocessadores e Aplicações p. 5/7

Manipulação das Externas Se uma das flags (de interrupção) está activa durante S5P2, o próximo ciclo de polling vai detectar e identificar a interrupção a ser atendida e será gerada uma instrução LCALL desde que não seja bloqueada por: Uma interrupção de prioridade igual ou mais alta que a que está a ser atendida; Não se tenha finalizado a instrução que está a ser processada no ciclo de polling actual; A instrução em progresso é um RETI ou uma escrita em IP ou IE. Ana Cristina Lopes, 24 de Outubro de 2004 Microprocessadores e Aplicações p. 5/7

Manipulação das Externas Note-se que a Figura anterior ilustra a resposta mais rápida a um pedido de interrupção, dado que: CM2 corresponde ao final de uma instrução e não é um RETI, nem uma escrita em IP ou IE; Quando em CM2 ocorre uma instrução RETI, ou a escrita em IE ou IP, uma instrução a mais será executada antes que a interrupção seja vectorizada; Os valores que serão processados são aqueles que se encontram no S5P2 do ciclo de máquina anterior; Situação especial: Se uma flag de interrupção foi activa, mas a interrupção não foi atendida devido a uma condição de bloqueio, caso a flag seja colocada a zero antes da condição de bloqueio ser removida, a interrupção nunca será atendida. Ana Cristina Lopes, 24 de Outubro de 2004 Microprocessadores e Aplicações p. 5/7

Manipulação das Externas O processador reconhece um pedido de interrupção através da execução de um LCALL gerado por hardware. Regra geral, a flag que gerou o pedido é colocada a zero por hardware, excepto nas seguintes situações: TI, RI da porta série; IE0, IE1 quando é activada por nível; A instrução RETI é utilizada para finalizar uma rotina de atendimento a interrupções. Uma instrução RET funciona mas o sistema de controlo das interrupções não sabe que a rotina terminou, ou seja, serão bloqueadas todas as demais interrupções de prioridade igual ou inferior. Ana Cristina Lopes, 24 de Outubro de 2004 Microprocessadores e Aplicações p. 5/7

Externas Externas As duas interrupções externas (0 e 1) podem ser programadas para funcionar por nível (ITX=0) ou por flanco de descida ( ) (ITX=1). Os pinos das interrupções são amostrados em cada ciclo de maquina (1 ciclo de maquina = 12 períodos de relógio); assim, uma interrupção externa deve permanecer constante por pelo menos 12 períodos de relógio, caso contrário ela poderá ser ignorada. Quando a interrupção opera por flanco de descida ( ), o pino deve permanecer no nível alto por pelo menos 12 períodos de relógio e, posteriormente, deve permanecer no nível baixo mais 12 períodos de relógio; isto garante a activação da flag de interrupção. Ana Cristina Lopes, 24 de Outubro de 2004 Microprocessadores e Aplicações p. 6/7

Externas Externas As flags de interrupções externas (IEX0 ou IEX1) serão automaticamente colocadas a zero pela CPU após a chamada de uma rotina de serviço. Quando a interrupção opera por nível, o pino deve permanecer activo (em baixo) até que a interrupção seja atendida; Porém, mal esta seja atendida, o pedido deve ser removido antes que a rotina de serviço de interrupção termine, ou uma nova interrupção será gerada. O tempo de latência de uma interrupção depende, entre outros factores, das condições de bloqueio. No caso destas condições de bloqueio existirem, o tempo de latência pode durar entre 5 a 9 ciclos de máquina. Ana Cristina Lopes, 24 de Outubro de 2004 Microprocessadores e Aplicações p. 6/7

Tempo de Latência Externas A Figura seguinte mostra o tempo de latência para as interrupções. Tal como pode ser observado no mínimo este tempo corresponde a cinco ciclos de máquina e no máximo este corresponde a 9 ciclos de máquina. Resposta mais Rápida CM1 CM2 CM3 CM4 CM5 S5P2 Pedido POLLING Resposta mais Lenta LCALL Rotina de Interrupção CM1 CM2 CM3 CM4 CM5 S5P2 POLLING Instrução MUL ou DIV Pedido CM6 CM7 CM8 CM9 LCALL Rotina de Interrupção Ana Cristina Lopes, 24 de Outubro de 2004 Microprocessadores e Aplicações p. 6/7

Execução Passo-a-Passo Externas A estrutura de interrupção do MCS-51 permite, de forma muito simples, uma implementação para a execução de programas passo a passo (single step). Como já foi visto, uma interrupção não é atendida no momento em que uma interrupção de igual prioridade está a ser atendida. Após a finalização desta, com um RETI, é obrigatória a execução de uma instrução, antes que se aceite o pedido da nova interrupção. Uma interrupção não será re-atendida antes de terminar a sua rotina. Essa rotina deve terminar com RETI e, após essa instrução, uma outra deverá ser executada antes da interrupção ser atendida. Ana Cristina Lopes, 24 de Outubro de 2004 Microprocessadores e Aplicações p. 7/7

Execução Passo-a-Passo Externas Imagine um sistema onde a interrupção externa 1 está programada para trabalhar por nível, estando a entrada INT1 ligada à terra, ou seja, a interrupção está sempre a ser invocada. Se forem adicionadas a esse sistema uma rotina principal e uma rotina de serviço para a interrupção 1, cria-se o ambiente necessário para executar passo a passo o programa principal. Cada vez que voltar da rotina de interrupção (com um RETI), será executada uma única instrução do programa principal, havendo de seguida um novo desvio para a rotina de interrupção. Ana Cristina Lopes, 24 de Outubro de 2004 Microprocessadores e Aplicações p. 7/7

Execução Passo-a-Passo Externas Pode-se usar uma chave para marcar o instante de retorno da rotina de interrupção. Outra possibilidade, mais complexa mas sem bouncing na chave é apresentada na figura a seguir: + Micro controlador 8051 NA NF *INT1 + Ana Cristina Lopes, 24 de Outubro de 2004 Microprocessadores e Aplicações p. 7/7