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

Documentos relacionados
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 Interrupções. Prof: Evandro L. L. Rodrigues. Rotinas de Atraso

Prof. Adilson Gonzaga

Interrupção. Prof. Adilson Gonzaga

Temporizadores e Contadores (Timer/Counter)

programáveis por software

Temporizadores e Contadores

Aula 10 Microcontrolador Intel 8051 Parte 2

SEL 0415 INTROD. À ORGANIZAÇÃO DE COMPUTADORES

2.4 Temporização da CPU

Laboratório de Microprocessadores e Microcontroladores

EXERCÍCIOS RESOLVIDOS

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 Resposta Esperada

SEL 337 Aplicação de Microprocessadores II

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

17/04/2017. Comunicação Serial. Comunicação Serial. Comunicação de Dados em Microprocessadores. . Comunicação Paralela. Comunicação Serial

Interrupção

Organização de Memórias

Prof. Adilson Gonzaga

Ex.: Rotinas de tempo

Laboratório de Microprocessadores e Microcontroladores

MICROCONTROLADOR 8051

Lista de Exercícios 1

Lista de Exercícios 2

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 - RESPOSTA ESPERADA

EXERCÍCIOS 2 Prof. Adilson Gonzaga

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

MICROPROCESSADORES E MICROCONTROLADORES. Prova 1 Resposta Esperada

Microprocessadores. Organização de Memória

Memória de Dados Interna. Memória de Dados Interna

Microcontroladores 8051

Lista de Exercícios 1

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

Microcontrolador 8051

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

8051 Estudo de Caso. Prof. Carlos E. Capovilla - CECS/UFABC 1

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 UMA SOLUCAO POSSÍVEL

Interface Serial. Prof. Adilson Gonzaga

Programação de Microprocessadores. Programação de Microprocessadores SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

Lista de Exercícios 1

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!!!!

Acetatos de apoio às aulas teóricas

Aula 8 Microcontrolador 8051

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

As 5 partes fundamentais. Linguagem de Programação Pinagem Características Elétricas Ambiente de Desenvolvimento Integrado - IDE

Aula 8 Microcontrolador 8051

14/3/2016. A escolha do microprocessador mais adequado depende basicamente da aplicação, e deve se levar em conta os seguintes critérios:

Laboratório de Microprocessadores e Microcontroladores

Laboratório de Microprocessadores e Microcontroladores

CAPÍTULO II FAMÍLIA MCS-51

O microcontrolador Quatro partes importantes

Laboratório de Microprocessadores e Microcontroladores

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)

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

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

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

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

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

Microcontroladores. Interface Serial e RTC. Prof. Guilherme Peron Prof. Heitor S. Lopes Prof. Ronnier Rohrich Prof. Rubão

Laboratório de Microprocessadores e Microcontroladores

CONJUNTO DE INSTRUÇÕES

PRÁTICAS. Microcontroladores: (LT36D) Prof: DaLuz. Práticas - 2º sem Microcontroladores LT36D - 26/04/ :56 1/16

Comunicação Serial. Comunicação Serial

Ex.: Rotinas de tempo

Interrupções 8051 Porta Serial

Sistemas Embarcados:

Laboratório de Microprocessadores e Microcontroladores

Microcontrolador 8051:

Laboratório de Microprocessadores e Microcontroladores

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

UNIVERSIDADE PAULISTA (UNIP) Curso de Engenharia Mecatrônica Disciplina: Microprocessadores e Microcontroladores (MM) LISTA III

Família 8051 (introdução) 2011/1

Prof. Adilson Gonzaga

O Pino P2.7 não está sendo usado e cada Display mostrará valores de 0 a 9.

SEMINÁRIO ASSEMBLY: Arquitetura 8051

mov R1,10H ; Carrega o dado do endereço 10H em R1 mov R1,#10H ; Carrega 10H em R1

Sistemas Microprocessados. sato<at>utfpr<dot>edu<dot>br

7. PROGRAMANDO O MICROCONTROLADOR. Microcontroladores - Prof: Demantova

EEC2104 Microprocessadores

Prof. Adilson Gonzaga

22/3/2010. Aula 5. Engenharia de Sistemas Embarcados. O ambiente de Execução. Prof. Abel Guilhermino Tópico: Arquitetura e Ambiente de Desenvolvimento

Microprocessadores e Microcontroladores. Prova Substitutiva Uma Solução

ORGANIZAÇÃO DE MEMÓRIA NO 8051: Microcontroladores - Prof: Demantova 1

Laboratório de Microprocessadores e Microcontroladores

Acetatos de apoio às aulas teóricas

Prof. Adilson Gonzaga

Estudar os passos que devem ser feitos (ponto de partida até o objetivo)

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 (Tema: Microcontrolador 8051)

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

Microprocessadores. Movimentação de Dados

Laboratório de Microprocessadores e Microcontroladores

Estrutura Básica de um Computador

DIAGRAMA DE BLOCOS DE UM MICROCONTROLADOR

Laboratório de Microprocessadores e Microcontroladores

Laboratório de Microprocessadores e Microcontroladores

Interrupções por hardware

MICROCONTROLADOR 8051

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

208 = D0 h TMOD. MOV TMOD,#20h ;TMOD = Timer 1 no ;Modo 2, controle por software SCON. ;Canal Serial

Transcrição:

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 Xtal e Xtal2 da CPU. Pode-se também utilizar um oscilador externo: Prof: Evandro L. L. Rodrigues Temporização Interrupções Rotinas de Atraso Ciclos de Máquina Ciclos de Máquina Um ciclo de máquina (M) consiste de uma seqüência de 6 estados (S a S6). Cada estado é formado por 2 períodos de clock (P e P2). Se o cristal é de 2 Mhz: P ( Período do clock ) 6 2 0 Logo : ciclo de máquina (M) = 2 períodos de clock (P) Ciclo de Máquina (M): M 2 P 2 s 6 20

Ciclos de Máquina Reset de Power-on (reset automático) As instruções da família MCS-5 utilizam 2 ou 24 períodos de clock, com exceção das instruções MUL AB e DIV AB que utilizam 48 períodos. Obs: Uma chave pode ser colocada para o reset manual. Exemplo : Com cristal de 2 Mhz. mov R0,a 2 P us mov R0,#3Fh 24 P 2 us setb P0. 2 P us Djnz R,loop 24 P 2 us O que contém os SFR s após um Power-on ou Reset? Interrupção DPTR Registro Valor em binário *Acc 00000000 *B 00000000 *PSW 00000000 SP 00000 DPH 00000000 DPL 00000000 *P0 *P *P2 *P3 *IP (805) XXX00000 *IE (805) 0XX00000 PC = 0000H * - endereçável por bit X - Indefinido Registro Valor em binário TMOD 00000000 *TCON 00000000 TH0 00000000 TL0 00000000 TH 00000000 TL 00000000 *SCON SBUF Indeterminado PCON (CHMOS) 0XXX0000 É um procedimento que permite parar a execução de um determinado programa e passar a executar uma subrotina, localizada em um endereço pré-determinado da memória de programa. A sub-rotina a ser executada é denominada de Sub-rotina de Atendimento de Interrupção. Ao terminar a execução desta sub-rotina o controle volta para o programa inicial no endereço imediatamente abaixo do ponto onde foi interrompido. 2

O Microcontrolador 805 possui 5 fontes de Interrupção : Endereço das interrupções (Memória de Programa) Habilitação das interrupções Registrador IE: (endereçável a Bit) Exemplo: SETB EX0 ; Habilita a Interrupção Externa 0 SETB EA ; Habilita para uso todas as Interrupções Ou: SETB IE.0 SETB IE.7 Prioridade de Interrupção Registrador IP: (endereçável a Bit) Sistema Interno de Prioridade de Interrupção Pergunta: Qual será a seqüência de atendimento de Interrupção no programa? Uma interrupção de baixa prioridade (bit 0) pode ser interrompida por uma de alta (bit ), no entanto uma interrupção de alta prioridade não pode ser interrompida por qualquer outra fonte de interrupção. SETB EX0 SETB ET0 CLR PX0 CLR PT0 SETB EA 3

Para usar as interrupções do MCS-5, seguir os seguintes passos Exemplo para a Interrupção Externa 2. estabelecer para as interrupções externas o tipo de disparo, nível ou descida de borda; programar os bits IT0 e/ou IT do registrador TCON CLR IT Registrador TCON: (endereçável a Bit) TF TR TF0 TR0 IE IT IE0 IT0. Setar o bit do registrador IE correspondente à interrupção utilizada SETB EX TF TCON.7 Flag de overflow do Timer. Ativado por hardware quando o Timer transborda. Zerado por hardware assim que o processador salta para a rotina de atendimento da interrupção TR TCON.6 Bit de controle do Timer. Ativado/zerado por software para Ligar/Desligar o Timer. TF0 TCON.5 Flag de overflow do Timer 0. Ativado por hardware quando o Timer 0 transborda. Zerado por hardware assim que o processador salta para a rotina de atendimento da interrupção TR0 TCON.4 Bit de controle do Timer 0. Ativado/zerado por software para Ligar/Desligar o Timer 0. IE TCON.3 Flag de borda da interrupção Externa. Ativado por hardware quando uma borda na Interrupção Externa é detectada. Zerado por hardware quando a interrupção é processada. IT TCON.2 Bit de controle da Interrupção Externa. Ativado/zerado por software para especificar se a Interrupção Externa é sensível à descida de borda/nivel baixo. IE0 TCON. Flag de borda da Interrupção Externa 0. Ativado por hardware quando uma borda na Interrupção Externa 0 é detectada. Zerado por hardware quando a interrupção é processada. IT0 TCON.0 Bit de controle da Interrupção Externa 0. Ativado/zerado por software para especificar se a Interrupção Externa 0 é sensível à descida de borda/nivel baixo. Exemplo: Programação da Interrupção Externa 0 sensível à descida de borda. 3. Setar o bit EA (Enable All) do registrador IE SETB EA Programa principal: 4. Escrever a sub-rotina de atendimento de interrupção no endereço correspondente (ORG 00xxH). INTR: PROG: ORG 0H ; Origem do Programa fora da área de Interrupções LJMP PROG SETB EX0 ; Habilita a Interrupção Externa 0 SETB IT0 ; Estabelece que deve ser sensível a descida de borda SETB EA ; Habilita o uso de Interrupções ; Comandos do Programa Principal 4

Exemplo: Programação da Interrupção Externa 0 sensível à descida de borda. Sub-rotina de Atendimento da Interrupção: ORG 0003h ; Sub-rotina de Atendimento da Interrupção Externa 0. CLR EA ; Desabilita as Interrupções para evitar Interrupção da ; Interrupção PUSH PSW ; Salva os Flags do Programa Principal na pilha ; Comandos da Sub-rotina de Atendimento da Interrupção POP PSW ; Recupera os Flags do Programa Principal SETB EA ; Re-habilita as interrupções antes de voltar ao Programa ; Principal RETI ; Volta para o Programa Principal Utilizar rotinas de atraso (Delay) que geram temporização por Software. Rotina de Delay de 8 Bits a) Armazenar em R0 o valor de contagem Atraso: mov R0,#LSB ; ciclo djnz R0, $ ret C R0 2 2 C R0 2 3 Tempo gasto pela rotina de Delay t 2 C f f MHz R0 = 0 R0 = 256 no cálculo de C Rotina de Delay de 6 Bits a) Armazenar em R o MSB C R0 2 2 R 2 b) Armazenar em R0 o LSB Atraso: mov R,#MSB ; ciclo Loop: mov R0,#LSB ; ciclo djnz R0, $ djnz R, Loop ret C R0 2 3 R 3 Tempo gasto pela rotina de Delay t 2 C f Rotina de Delay de 24 Bits a) Armazenar em R2 o MSB b) Armazenar em R o Byte intermediário c) Armazenar em R0 o LSB Atraso: mov R2,#MSB ; ciclo Loop: mov R,#ISB ; ciclo Loop: mov R0,#LSB ; ciclo djnz R0, $ djnz R, Loop djnz R2, Loop ret C R0 2 3 R 3 R2 3 5

Rotina de Delay de 24 Bits a) Armazenar em R2 o MSB b) Armazenar em R o Byte intermediário c) Armazenar em R0 o LSB C R0 2 3 R 3 R2 3 Tempo gasto pela rotina de Delay t 2 C f Exercícios Para os exercícios, considerar o esquema com o Microcontrolador 805 da Figura abaixo. Cada programa, de cada exercício, é independente do outro. R0 = R = R2 = 0 R0 = R = R2 = 256 no cálculo de C Solução_ para o Exercício Exercício Escrever um programa em Assembly do 805 que ao ligar qualquer das chaves acende o Led correspondente. CH(P3.5) fechada acende LED L(P.0) CH2(P3.6) fechada acende LED L2(P.) CH3(P3.7) fechada acende LED L3(P.2) O programa deve ficar em Loop para que a qualquer instante o operador possa repetir a operação. ORG 0 MOV P,#00 ; Apagando todos os LED s LOOP: JB P3.5,L ; Verificando se CH está fechada CLR P.0 ; Apagar o LED L pois CH está aberta LOOP2: JB P3.6,L2 ; Verificando se CH2 está fechada CLR P. ; Apagar o LED L2 pois CH2 está aberta LOOP3: JB P3.7,L3 ; Verificando se CH3 está fechada CLR P.2 ; Apagar o LED L3 pois CH3 está aberta SJMP LOOP ; Todas as chaves estão abertas, verificar novamente L: SETB P.0 ; Acender o LED L SJMP LOOP2 ; Verificar CH2 L2: SETB P. ; Acender o LED L2 SJMP LOOP3 ; Verificar CH3 L3: SETB P.2 ; Acender o LED L3 SJMP LOOP ; Verificar CH 6

Solução_2 para o Exercício ORG 0 MOV P,#00 ; Apagando todos os LED s LOOP: MOV C,P3.5 ; Colocando o Status da CH no Carry MOV P.0,C ; Transportando para o LED MOV C,P3.6 ; Colocando o Status da CH2 no Carry MOV P.,C ; Transportando para o LED 2 MOV C,P3.7 ; Colocando o Status da CH3 no Carry MOV P.2,C ; Transportando para o LED 3 SJMP LOOP ; Retornar para continuar a operação Solução_3 para o Exercício ORG 0 MOV P,#00 ; Apagando todos os LED s LOOP: MOV A,P3 ; Copiando o valor das Chaves para o Acc SWAP A ; Trocando os nibbles de P3 (LSB MSB) RR A ; Ajustando o nibble menos significativo MOV P,A ; Transferindo para os LED s SJMP LOOP ; Retornar para continuar a operação Exercícios 2 e 3 como Exercício pelo Site do Curso até o dia 03/04/207 Exercício 2 Escrever um programa em Assembly do 805 que ao ligar qualquer das chaves ocorre o seguinte: CH(P3.5) fechada pisca apenas o Led L(P.0) na freqüência de Hz CH2(P3.6) fechada pisca apenas o Led L2(P.) na freqüência de Hz CH3(P3.7) fechada pisca alternadamente o Led L3(P.2) e o Led L(P.0) na freqüência de Hz Qualquer outra combinação das chaves não deve haver ação nos Leds. O programa deve ficar em Loop para que a qualquer instante o operador possa alterar as opções das chaves. Exercício 3 O Motor DC é ativado de acordo com a seguinte Tabela: Escrever um programa em Assembly do 805 que controle uma esteira transportadora da seguinte maneira: a) Acionar o motor DC no sentido Horário. b) Quando o produto passar pelo sensor, um sinal de Interrupção é enviado e a esteira é parada por 5 segundos para permitir a retirada do produto transportado. c) Inverter o sentido do motor DC (Anti-horário). d) Através de um mecanismo na esteira, uma nova interrupção é enviada pelo mesmo pino Int0 quando a esteira estiver reposicionada para aceitar outro produto. e) Parar a esteira por 0 segundos e re-iniciar o processo. 7