EEC2104 Microprocessadores



Documentos relacionados
Microprocessadores e Microcontroladores. Prova Substitutiva Uma Solução

Aplicações de Microprocessadores I. Prof. Adilson Gonzaga

Laboratório de Microprocessadores e Microcontroladores

EXPERIÊNCIA 17 USO DO TEMPORIZADOR INTERNO

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

18. Temporizadores/contadores TC (Timer/Counter) Especificação Diagrama de blocos

MICROCONTROLADORES FAMÍLIA 8031/8051

Laboratório de Microprocessadores e Microcontroladores

Microcontroladores 8051

Temporizadores e Contadores

Aula 10 Microcontrolador Intel 8051 Parte 2

17. Espaço de I/O (entrada/saída) Portos paralelos de entrada e saída Porto paralelo de saída

Contador crescente e decrescente...

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 - RESPOSTA ESPERADA

Acetatos de apoio às aulas teóricas

Temporizadores e Contadores (Timer/Counter)

INSTITUTO POLITÉCNICO DE BRAGANÇA ESCOLA SUPERIOR DE TECNOLOGIA E DE GESTÃO. Engenharia Electrotécnica. Microprocessadores. 2ºano - 1ºsemestre

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

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

USJT Universidade São Judas Tadeu ENGENHARIA ELÉTRICA - LAB. INTEGRADO. EXP4 : Interrupções do uc 8051

Laboratório de Microprocessadores e Microcontroladores

Interrupções por hardware

Sistemas Operativos I

MICROPROCESSADORES E MICROCONTROLADORES. Prova 1 Resposta Esperada

DIAGRAMA DE BLOCOS DE UM MICROCONTROLADOR

Prof. Adilson Gonzaga

Interrupções Externas

Interrupções. As interrupções são casos especiais de chamadas de procedimentos.

1. SINTAXE DA LINGUAGEM ASSEMBLY

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

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 Resposta Esperada

PROJETOS COM MICROCONTROLADORES

Oprojeto apresenta três níveis de dificuldade: fácil, médio e difícil. No modo fácil tem-se uma

Interface Serial. Prof. Adilson Gonzaga

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

Sistemas Microprocessados

MINISTÉRIO DA EDUCAÇÃO CEFET/SC - Unidade de São José. Curso Técnico em Telecomunicações CONTADORES. Marcos Moecke

Aula 19. Conversão AD e DA Técnicas

O microcontrolador Quatro partes importantes

EXERCÍCIOS RESOLVIDOS

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

Entradas/Saídas. Programação por espera activa Programação por interrupções

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

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

Interrupções e timers

Parte II O microcontrolador Intel 8051

Técnico/a de Refrigeração e Climatização

Prof. Adilson Gonzaga

Capítulo 12. Projeto 5 Controle de Motores de Passo Circuito e Funcionamento

SISTEMA DE CLIMATIZAÇÃO

Microcontroladores (µcs) e microprocessadores (µps) A família 80C51. 80C51: Arquitectura do núcleo de base. Os µcs da família 80C51

Contadores (Aula1) Prof. Rômulo Calado Pantaleão Camara

CENTRAL PRCESSING UNIT

Interrupção. Prof. Adilson Gonzaga

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 UMA SOLUCAO POSSÍVEL

1345 Arquitectura de Computadores

Sistemas Distribuídos

Laboratório de Microprocessadores e Microcontroladores

Programmable Interval Timer

WT-1000 LED INDICADOR DE PESAGEM

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 (Tema: Microcontrolador 8051)

Comunicação Serial. Comunicação Serial

7. PROGRAMANDO O MICROCONTROLADOR. Microcontroladores - Prof: Demantova

PROGRAMAÇÃO DE UM MICROPROCESSADOR

Descobrindo o dspic da Microchip Vitor Amadeu Souza Vitor@cerne-tec.com.br

Unidade: Unidade Lógica e Aritmética e Registradores. Unidade I:

Circuitos Lógicos Registradores e Contadores

Memórias. O que são Memórias de Semicondutores? São componentes capazes de armazenar informações Binárias (0s e 1s)

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

Laboratório de Microprocessadores e Microcontroladores

Boot Camp Manual de Instalação e Configuração

Introdução à Engenharia de Computação

2.4 Temporização da CPU

CEFET-RS Curso de Eletrônica

Laboratório de Microprocessadores e Microcontroladores. Experimento 7:

Entradas/Saídas. Programação por interrupções Conceitos gerais Programação da porta série Transmissão

QUADRO ELECTRÓNICO LRX 2150

Arquitectura de Computadores. Dicas e Truques do Assembly do P3

CEFET-SP. Microcontroladores Família MCS-51 Conceitos, Aplicações e Projetos versão Wilson Ruiz. Wilson Ruiz

KF2.4 MANUAL DE UTILIZADOR

Boot Camp Manual de Instalação e Configuração

Transcrição:

EEC2104 Microprocessadores Edição 2005/2006 Contadores / Temporizadores Contadores/temporizadores em geral... Hardware para contagem de impulsos Externos Internos (derivados do relógio interno) Contagem crescente, decrescente ou ambas Fim de escala programável Vários canais de contagem independentes Podem originar pedidos de interrupção Exemplos: Zilog: Z84C30 (Z80CTC) - 4 canais de 8 bits Intel: 82C53/82C54-3 canais, 8 modos de funcionamento Contadores/temporizadores - 1

... e na família 51 Vcc 128 RAM CPU 128 RAM INT OSC RST TIMER 1 TIMER 0 Barramento interno 4k ROM Bus CTR I/O PORTS UART P0 P1 P2 P3 (P3.2 a P3.5) Contadores/temporizadores - 2 Resumo... 2 contadores/temporizadores de 16 bits Contador: conta impulsos em T0 ou em T1 (f MAX =f OSC /24) Temporizador: conta ciclos máquina (1 ciclo máquina = 12 ciclos de relógio) Registos de controlo: TMOD e TCON Registos de contagem: TH0/TL0 e TH1/TL1 4 modos de funcionamento Valor inicial da contagem configurável Pedido de interrupção na passagem do valor final para o valor inicial da contagem Contadores/temporizadores - 3

Resumo... Pinos T0 = P3.4 T1 = P3.5 Registo TMOD Função (Contador/Temporizador) Modo de funcionamento Sincronismo Registo TCON Arranque e paragem Registos TH e TL Contagem e valor inicial T0 T1 Bit Pino Fosc 12 TH0 TL0 TMOD TCON TH1 TL1 Contadores/temporizadores - 4 Registo TCON TF1 TR1 TF0 TR0 IT1 IE1 IT0 IE0 BITs endereçáveis individualmente TRx: Arranque e paragem TRx=0 pára, TRx=1 arranca TFx: Overflow TFx=1 quando a contagem passa do valor final para o inicial Contadores/temporizadores - 5

Registo TMOD G C/T M1 M0 G C/T M1 M0 TC1 TC0 Bits não endereçáveis individualmente M1 e M0: modo de funcionamento (0,1,2,3) C/T: origem dos impulsos C/T=1: externos (contador) C/T=0: internos (temporizador) G: sincronismo da contagem G=0: conta quando TRx=1 G=1: conta quando TRx=1 e INTx=1 Contadores/temporizadores - 6 Modos 0 e 1 C/T G INT Bit Pino Fosc/12 T 0 1 1 TR TL TH TF Pedido de interrupção Modo 0: 13 bits (5+8) TL[7:5] indeterminados Compatível com 8048 Modo 1: 16 bits (8+8) Conta até 65535 Recarga Automática, com o valor 0 Manual, com outro valor Contadores/temporizadores - 7

Modo 2 G INT Fosc/12 T TR C/T 0 1 1 TH TL TF Pedido de interrupção Modo 2: 8 bits Conta até 255 em TL Recarga automática de TL Com o valor guardado em TH No momento em que é gerado o pedido de interrupção Bit Pino Contadores/temporizadores - 8 Modo 3 (apenas TC0) G INT0 T0 Bit Pino Fosc/12 Fosc/12 TR0 C/T 0 1 1 1 TR1 Pedido de interrupção TF1 TH0 TL0 TF0 Pedido de interrupção Modo 3: 2 x 8 bits TL0 como Contador/Temporizador TH0 só como Temporizador TC1 parado! Controlo TR0/TF0 para TL0 TR1/TF1 para TH0 Contadores/temporizadores - 9

TC1 com TC0 em modo 3 Perde os bits TR1 e TF1 Pode funcionar em qualquer modo Modo 3 Parado (mantém os valores de contagem) Modos 0, 1 e 2 Não gera pedidos de interrupção Sempre a contar (paragem/arranque faz-se entrando/saindo do modo 3) Aplicações Taxa de transmissão para a interface série Contagem de impulsos... Contadores/temporizadores - 10 Timer 2 (apenas nos 52) Contagens de 16 bits com recarga automática Funções dos registos associados TH2 e TL2 Contagem de impulsos RCAP2H e RCAP2L Valores para recarga automática em TH/TL Captura de valores intermédios (sincronizável com T2EX) T2CON Paragem/arranque e outras funções de controlo T2 T2EX Fosc 12 Bit Pino TH2 TL2 RCAP2H RCAP2L T2CON Contadores/temporizadores - 11

Exemplo: ondas quadradas... Problema Com um cristal de 11.0592MHz gerar 2 ondas quadradas com frequências diferentes não relacionadas 2.5 khz Máximo valor possível Solução Uma gerada pelo programa principal (qual?) A outra gerada por interrupção periódica de um temporizador T/2 T Contadores/temporizadores - 12 Exemplo: ondas quadradas... Alguns pontos-chave da solução: Comutar um pino a cada meio período da onda, implica gerar uma interrupção a cada 200us Supondo Fosc=11.0592Mhz, o ciclo máquina dura 1.085us, logo 200us correspondem a 184.32 ciclos máquina Para contar 184 ciclos máquina o temporizador pode estar em modo 2 (8 bit com recarga é automática) TMOD G C/T M1 M0 G C/T M1 M0 0 0 1 0 x x x x Para gerar uma interrupção ao fim de 184 ciclos máquina a contagem deve começar em 72 (256-184=72) Contadores/temporizadores - 13

Ondas quadradas... ; Nomes simbólicos WAVE1 equ P1.7 WAVE2 equ P1.6 TC1VAL equ 256-184 ; Recarga para TC1 (2.5kHz) ; Declaração de segmentos prog segment code ; Entrada no programa principal cseg at 0000h jmp main Contadores/temporizadores - 14 Ondas quadradas... cseg at 001bh ; Atendimento da cpl WAVE1 ; interrupção do reti ; temporizador TC1 rseg prog main: anl tmod,#00001111b ; TC1 em modo 2 sem orl tmod,#00100000b ; estragar TC0 orl ie,#10001000b ; Activa atendimento mov tl1,#tc1val ; Primeira contagem mov th1,#tc1val ; Contagens seguintes setb tr1 ; Arranca TC1 loop: cpl WAVE2 jmp loop end Contadores/temporizadores - 15

Exemplo: cronómetro... Problema Apagar automaticamente um LED 10 minutos após ter sido acendido por activação de uma tecla (LED e tecla activos a zero). Considerar f osc =12MHz Más soluções (porquê?) Atraso por software Atraso por interrogação de um timer Boa solução Atraso por interrupção de um timer Contadores/temporizadores - 16 Cronómetro... Se houver interrupções periódicas de 50 em 50 ms, basta contar 6000 interrupções para saber que já passaram 5 minutos... ; Nomes simbólicos LED equ P1.7 KEY equ P1.3 TC0VAL equ 65536-50000+9 ; Recarga para TC0 T5MIN equ 6000 ; 5min (6000 interrupções) ; Declaração de segmentos prog segment code vars segment data Contadores/temporizadores - 17

Cronómetro... ; Declaração de variáveis rseg vars nint: ds 2 stack: ; Entrada no programa principal cseg at 0000h jmp main ; Entrada na rotina de atendimento da interrupção cseg at 000bh jmp tc0isr Contadores/temporizadores - 18 Cronómetro... rseg prog main: anl tmod,#11110000b ; TC0 em modo 1 sem orl tmod,#00000001b ; estragar TC1 mov sp,#stack-1 ; Por causa de vars... orl ie,#10000010b ; Activa atendimento loop: jb KEY,cont ; Se tecla não premida jnb KEY,$ ; Enquanto premida mov tl0,#low(tc0val) ; LSB de TC0VAL mov th0,#high(tc0val) ; MSB de TC0VAL mov nint+1,#high(t5min); MSB mov nint,#low(t5min) ; LSB clr LED ; Acende LED setb tr0 ; Arranca TC0 cont: nop ; Aqui poderão ficar nop ; outras tarefas a jmp loop ; realizar Contadores/temporizadores - 19

Cronómetro... tc0isr: clr tr0 ; Pára TC0 mov th0,#high(tc0val) ; Recarga de MSB mov tl0,#low(tc0val) ; Recarga de LSB setb tr0 ; Arranca novamente mov a,nint+1 ; LSB de cont jnz done orl a,nint ; MSB de cont jz stop dec nint done: dec nint+1 reti stop: setb LED ; Apaga LED clr tr0 ; Pára TC0 reti end Contadores/temporizadores - 20 Cronómetro... Considerar f osc =12MHz Responder depois de experimentar no dscope Medir por simulação a periodicidade das interrupções do TC0. Repetir, considerando f osc =11.0592MHz Examinar o código proposto e explicar porque é que o ajuste do valor de recarga está incorrecto. Como calcular correctamente esse valor? Teoricamente Experimentalmente (por simulação) O que acontece se se retirar a instrução que inicializa o SP? Contadores/temporizadores - 21

Avaliação e aprofundamento... Perceber, conhecer: Os conceitos genéricos associados aos periféricos de contagem de impulsos (contadores/temporizadores) As funcionalidades oferecidas pelos contadores/temporizadores da família 51 Estudar: 80C51 family hardware description, pp. 6 a 8 Contadores/temporizadores - 22