Laboratório de Microprocessadores e Microcontroladores



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

Laboratório de Microprocessadores e Microcontroladores

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

EXPERIÊNCIA 17 USO DO TEMPORIZADOR INTERNO

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 - RESPOSTA ESPERADA

Laboratório de Microprocessadores e Microcontroladores

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 Resposta Esperada

Laboratório de Microprocessadores e Microcontroladores

Laboratório de Microprocessadores e Microcontroladores

Laboratório de Microprocessadores e Microcontroladores

Laboratório de Microprocessadores e Microcontroladores

MICROPROCESSADORES E MICROCONTROLADORES. Prova 1 Resposta Esperada

Laboratório de Microprocessadores e Microcontroladores

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

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

Laboratório de Microprocessadores e Microcontroladores

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 UMA SOLUCAO POSSÍVEL

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

Ocircuito da Fig.1 é usado para o acionamento dos Leds do Cubo.

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

PROJETOS COM MICROCONTROLADORES

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 (Tema: Microcontrolador 8051)

Ex.: Rotinas de tempo

Microprocessadores e Microcontroladores Parte 3. Expansão de Memória Mapeamento de Memória

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

EXERCÍCIOS RESOLVIDOS

Laboratório de Microprocessadores e Microcontroladores

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

Sistemas Embarcados:

EEC2104 Microprocessadores

Laboratório de Microprocessadores e Microcontroladores

Laboratório de Microprocessadores e Microcontroladores. Experimento 7:

Escola de Engenharia Elétrica, Mecânica e de Computação Universidade Federal de Goiás. Experimento 7: Sensores e Transdutores

LABORATÓRIO DE MICROPROCESSADORES E MICROCONTROLADORES

Laboratório de Microprocessadores e Microcontroladores

Temporizadores e Contadores

Laboratório de Microprocessadores e Microcontroladores. Experimento 7:

programáveis por software

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

PROGRAMAÇÃO EM LINGUAGEM LADDER LINGUAGEM DE RELÉS

Programação de Robótica: Modo Circuitos Programados - Avançado -

MINISTÉRIO DA EDUCAÇÃO IFSC - Campus São José. CST em Telecomunicações ELETRÔNICA DIGITAL CONTADORES. Marcos Moecke

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 (Tema: Microcontrolador 8051)

Descrição dos pinos do Módulo Driver Motor com Dupla Ponte-H - L298N:

Laboratório de Microprocessadores e Microcontroladores. Experimento 6: Conversor Analógico/Digital e Conversor Digital/Analógico

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

Tutorial de Eletrônica Aplicações com 555 v

Laboratório de Microprocessadores e Microcontroladores. Experimento 7:

CAPÍTULO 5 CONTADORES NA FORMA DE CIRCUITO INTEGRADO

Copyright 2011 VW Soluções

Laboratório de Microprocessadores e Microcontroladores. Experimento 6: Conversor Analógico/Digital e Conversor Digital/Analógico

Boletim Técnico R&D 03/08 CARACTERÍSTICAS DO DRIVER MPC6006L 14 de março de 2008

Flip-Flops (Aplicações) Prof. Rômulo Calado Pantaleão Camara

Arquitetura de Computadores. Tipos de Instruções

Laboratório de Microprocessadores e Microcontroladores. Experimento 6:

Profª Danielle Casillo

Conceitos básicos do

Conheça o 4017 (ART062)

Aula 10 Microcontrolador Intel 8051 Parte 2

Temporizadores e Contadores (Timer/Counter)

Índice. Utilizando o integrado Operação monoestável (Temporizador) Operação astável (Oscilador)... 07

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

Prof. Adilson Gonzaga

CAPÍTULO 5. INTERFACES PARA PERIFÉRICOS DE ARMAZENAMENTO INTERFACES DIVERSAS: FIREWIRE, SPI e I 2 C INTERFACES COM O MUNDO ANALÓGICO

Laboratório de Microprocessadores e Microcontroladores

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

MICROPROCESSADORES E MICROCONTROLADORES Parte 2 Microcontrolador 8051

MICROPROCESSADORES E MICROCONTROLADORES Parte 2 Microcontrolador 8051

DATA: HORÁRIO DE ENTRADA: HORÁRIO DE SAÍDA: BANCADA: NOMES DOS COMPONENTES DO GRUPO DE TRABALHO: PROJETO - CONTADORES ASSÍNCRONOS

EA773 - Experimento 5

ULA Sinais de Controle enviados pela UC

Laboratório de Microprocessadores e Microcontroladores

Estrutura de um Computador

Interrupção. Prof. Adilson Gonzaga

Dispositivos de Entrada e Saída

Controladores Lógicos Programáveis CLP (parte-3)

CONSTRUÇÃO DE UMA UCP HIPOTÉTICA M++ INTRODUÇÃO

CAPÍTULO 4 CIRCUITOS SEQUENCIAIS II: CONTADORES ASSÍNCRONOS

Programação Básica em STEP 7 Operações Binárias. SITRAIN Training for Automation and Drives. Página 6-1

PIC16F628a. Pinagem do PIC16F628a:

Microprocessadores e Microcontroladores Prof. Edilson R. R. Kato Simulação do computador SAP-1

UNIVERSIDADE FEDERAL DO PARANÁ. Projeto de Circuito Integrado: Convesor Série-Paralelo Bidirecional

MÓDULO SINTETIZADOR.

Encoder de Quadratura

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

CONTROLE DE UM SERVO MOTOR

Controle para Motores de Passo usando módulo USB-6008

Módulo FGM721. Controlador P7C - HI Tecnologia

Sistemas Operacionais. Prof. André Y. Kusumoto

DATA: HORÁRIO DE ENTRADA: HORÁRIO DE SAÍDA: BANCADA: NOMES DOS COMPONENTES DO GRUPO DE TRABALHO:

C.I Prof. Getúlio Teruo Tateoki

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

PAINEL DE SENHAS RBSG4JE. Imagem ilustrativa do painel. Operação/Configuração Painel Eletrônico de Senhas / Guichê com jornal de mensagens.

Aula 2. - Elaboração de algoritmos/fluxogramas. - Gravação do programa no microcontrolador

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Câmpus Ponta Grossa Coordenação do Curso Superior de Tecnologia em Automação Industrial

CAPÍTULO 14 MONOESTÁVEIS E ASTÁVEIS

R O B Ó T I C A. Sensor Smart. Seguidor de Linha. Versão Hardware: 1.0 Versão Firmware: 2.0 REVISÃO

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

Transcrição:

Escola de Engenharia Elétrica, Mecânica e de Computação Universidade Federal de Goiás Laboratório de Microprocessadores e Microcontroladores Experimento 4: Temporizadores e Motor de Passo Alunos: Matrícula: Prof. Dr. José Wilson Lima Nerys Goiânia, 2º semestre de 2014

Laboratório de Microprocessadores e Microcontroladores 2 SUMÁRIO 1 Temporizadores e Motor de Passo... 3 1.1 Temporizadores... 3 1.2 Motor de Passo... 4 2 Atividades do Experimento 4... 5 2.1 Temporizador nos Modos 0 e 1... 5 2.2 Temporizador no Modo 1 (como subrotina de atraso de tempo)... 6 2.3 Operação do Motor de Passo... 6 2.4 Inversão de Sentido de Rotação do Motor de Passo... 8 2.5 Motor de Passo Operando com Temporizador... 9

Laboratório de Microprocessadores e Microcontroladores 3 1 Temporizadores e Motor de Passo 1.1 Temporizadores O diagrama da Fig. 1 auxilia na análise do funcionamento do temporizador/contador. Fig. 1: Diagrama de blocos simplificado do temporizador/contador 0 O 8051 tem dois temporizadores/contadores de 16 bits que podem trabalhar em 4 modos distintos, definidos através do registrador TMOD. Finalidade dos bits dos registradores TMOD e TCON: C/T\ - define se o funcionamento é como contador (C/T\ = 1), ou como temporizador (C/T\ = 0). Como temporizador, o clock é interno, vindo do oscilador. A freqüência é 1/12 da frequência do cristal oscilador. Como contador, o clock é externo, vindo através de T0 (P3.4). Gate\ - define se o sinal de disparo do contador/temporizador vem através de software (bit TR0), ou de um sinal externo, através do pino INT0\ (P3.2). Se Gate\ = 0, o comando SETB TR0 dispara o contador/temporizador e CLR TR0 interrompe. Se Gate\ = 1, há duas possibilidades de disparo: habilita-se o disparo através do comando SETB TR0 e o disparo do temporizador/contador é feito através do pino P3.2, ou habilita-se o disparo através do pino P3.2 e faz-se o disparo através do comando SETB TR0. M1 e M0 - define o modo de operação do contador/temporizador. M1 M0 Modo de Operação 0 0 Modo 0 - Contador/Temporizador de 8 bits com divisor de frequência de até 32 vezes (pode contar até 8192 = 32 x 255) 0 1 Modo 1: Contador/Temporizador de 16 bits (pode contar até 65535) 1 0 Modo 2: 2 contadores/temporizadores de 8 bits com recarga automática 1 1 Modo 3: 2 contadores/temporizadores independentes de 8 bits (Modo 3 fica inativo para Contador/Temporizador 1) TR - dispara o temporizador/contador quando Gate\ = 0. Habilita o disparo externo ou dispara o temporizador/contador quando Gate\ = 1. TF - flag que é setada por hardware a cada final de contagem do temporizador/contador. Se a interrupção do temporizador/contador estiver habilitada, desvia para o endereço de atendimento da interrupção (endereço 0BH para o temporizador/contador zero e 1BH para o 1).

Laboratório de Microprocessadores e Microcontroladores 4 1.2 Motor de Passo O motor de passo consiste de um estator contendo bobinas que são acionadas usando corrente contínua e um rotor de ímã permanente, que gira a cada mudança das bobinas acionadas. Embora nas figuras a seguir as quatro bobinas sejam mostradas como únicas (concentradas), na prática elas são distribuídas ao longo do estator. Assim, pode-se obter um passo bem pequeno entre um pedaço de bobina e outro. O ângulo de passo típico do motor de passo utilizado aqui é 7,5. As figuras abaixo ilustram, de maneira simplificada, o funcionamento de um motor de passo. Observe que, na figura, uma volta completa do motor é alcançada após percorrer todas as bobinas uma vez. Na prática, uma volta completa é conseguida após uma passagem por todas as partes de cada bobina. Se cada passo for de 7,5, uma volta completa é alcançada com 48 passos. Na Fig. 2 também são mostrados os transistores usados no acionamento e as bobinas concentradas. É mostrada também uma tabela com os comandos que devem ser enviados para a porta de saída (na verdade, dados enviados ao periférico motor de passo) de forma que o motor de passo gire de meio em meio passo e com passo completo. Tabela 1: valores para acionamento do motor de passo - passo completo Passo P 3 P 2 P 1 P 0 HEX 1 0 0 0 1 01 2 0 0 1 0 02 3 0 1 0 0 04 4 1 0 0 0 08 5 0 0 0 1 01 Fig. 2: Esquema do motor de passo e tabela de acionamento O circuito da Fig. 2 é o circuito típico utilizado no acionamento de motor de passo, entretanto, há pastilhas integradas que são também utilizadas para essa função. Um circuito integrado que pode ser usado para esse fim é o CI ULN2804A. A estrutura interna desse componente é mostrada na Fig. 3. Trata-se de um conjunto de transistores do tipo darlington, com capacidade de corrente de 500 ma. Cada uma das 4 bobinas do motor é ligada a uma das saída (OUT) e ao terminal comum (COM), que é conectado à fonte de alimentação do motor de passo, que não precisa, necessariamente, ser a mesma do microcontrolador. Fig. 3: Driver para motor de passo - ULN2804A

Laboratório de Microprocessadores e Microcontroladores 5 2 Atividades do Experimento 4 Os programas das tarefas a seguir devem ser digitados e compilados no simulador PEQui ou MCU8051 e executados no simulador do kit didático e no kit didático real do microcontrolador 8051. 2.1 Temporizador nos Modos 0 e 1 No programa da Tabela 2 o TEMPORIZADOR 0 é configurado para operar nos MODOS 0 e 1, respectivamente 13 e 16 bits. Ele é usado com a interrupção habilitada, que é usada para complementar o pino P1.0, de forma a gerar uma onda quadrada com meio período correspondente ao tempo de cada contagem completa do temporizador. A interrupção externa 1 é usada (por transição) para alternar entre os modos 0 e 1. Tabela 2: Geração de onda quadrada nos modos 0 e 1 do temporizador zero Rótulo Instrução Rótulo Instrução ORG 00H MODO: CPL F0 LJMP INICIO JB F0, MODO_UM ORG 0BH CPL P1.0 RETI ORG 13H LJMP MODO ORG 30H INICIO: MOV SP,#2FH MOV IE,#86H; IE = 1000 0110 MOV TCON,#04H SETB TR0 SJMP $ MODO_ZERO: MOV TMOD,#00H RETI MODO_UM: MOV TMOD,#01H RETI Visualize a onda quadrada no Pino P1.0 usando um osciloscópio digital. Meça os períodos das ondas para os modos 0 e 1 do temporizador. Anote na Tabela 3, a seguir, o período da onda quadrada e o tempo correspondente à contagem em cada modo (tempo correspondente a meio período da onda). A interrupção externa 1 é usada par alternar entre os modos 0 e 1. Tabela 3: Frequência do cristal oscilador: 11,0592MHz END Grandeza Modo 0 Modo 1 Período da onda quadrada Explique o funcionamento da subrotina MODO : Qual o papel desempenhado pela variável tipo bit "F0"?

Laboratório de Microprocessadores e Microcontroladores 6 2.2 Temporizador no Modo 1 (como subrotina de atraso de tempo) O programa da Tabela 4 é usado para gerar uma onda quadrada com período de 1 s no pino P1.0. A subrotina de atraso de tempo usa o temporizador 0 no modo 1. O cristal oscilador é de 11,0592 MHz. Tabela 4: Geração de onda quadrada nos modos 0 e 1 do temporizador zero Rótulo Mnemônico ORG 00H LJMP INICIO Comentário sobre o Efeito da Operação ORG 30H INICIO: MOV SP, #2FH MOV TMOD,#01H Temporizador 0 no modo de 16 bits (modo 1) V1: CPL P1.0 Complementa o pino 0 da porta P1 Chama subrotina de atraso de tempo SJMP V1 Volta para V1 ATRASO: MOV R0,#10 Registrador R0 recebe valor 10 decimal VOLTA: MOV TH0,#4BH TH0 recebe valor 4BH e TL0 recebe valor FFH MOV TL0,#0FFH Contador conta de 19455 até 65535 = 46080 pulsos de 1,085 µs = 49.996,8 µs SETB TR0 TR0 = 1 dispara o temporizador 0 ESPERA: JNB TF0, ESPERA Espera a flag de fim de contagem ser setada, ou seja, espera TF0 = 1. CLR TF0 Limpa flag que indica fim da contagem. DJNZ R0, VOLTA Enquanto R0 0, volta para contar novamente CLR TR0 Para contador após o fim de 10 x 46080 x 1,085 µs = 0,5 s. RET Retorna da subrotina. Se cada pulso corresponder a 1,085 s atraso 0,5 s FIM: NOP END Anote na Tabela 5, a seguir, os valores medidos para a frequência e o período da onda quadrada. Tabela 5: Valores medidos para a onda quadrada no pino P1.0 Frequência da onda quadrada Período da onda quadrada Qual a finalidade do registrador R0 na subrotina "ATRASO"? 2.3 Operação do Motor de Passo O Programa mostrado na Tabela 6 é usado para acionamento de um motor de passo através da porta P2. Edite e Compile esse programa usando o programa PEQui, ou o MCU8051. Execute o programa usando o simulador do kit didático e o kit didático real.

Laboratório de Microprocessadores e Microcontroladores 7 Tabela 6: Acionamento de motor de passo na porta P2 Rótulo Instrução Rótulo Instrução ORG 00H ATRASO: MOV R0, #200 LJMP INICIO V2: MOV R1, #200 DJNZ R1, $ ORG 30H DJNZ R0, V2 INICIO: MOV SP, #2FH RET V1: MOV P2, #01H END MOV P2, #02H MOV P2, #04H MOV P2, #08H SJMP V1 No programa da Tabela 6, mude os valores de R0 e R1 para 100. O que muda no funcionamento do motor de passo? No programa da Tabela 6 faça uma inversão na sequência dos números enviados para a porta P2 e observe o efeito. A sequência (01 02 04 08) deve ser substituída pela sequência (08 04 02 01). O que muda no funcionamento do motor de passo? Obs.: Alternativamente, o motor de passo poderia ser acionado como mostrado na Tabela 6B. Tabela 6B: Acionamento de motor de passo na porta P2 Rótulo Instrução Rótulo Instrução ORG 00H ATRASO: MOV R0, #200 LJMP INICIO V2: MOV R1, #200 DJNZ R1, $ ORG 30H DJNZ R0, V2 INICIO: MOV SP, #2FH RET V3: MOV A,#01H V1: MOV P2,A END RL A CJNE A,#10H,V1 SJMP V3 Por que a instrução CJNE A,#10H, V1 é usada no programa da Tabela 6B?

Laboratório de Microprocessadores e Microcontroladores 8 2.4 Inversão de Sentido de Rotação do Motor de Passo Complete o programa da Tabela 7 com as subrotinas de acionamento do motor de passo, de modo que a interrupção externa 1 seja usada para definir o sentido de rotação do motor de passo. A flag F0 é usada como variável que define o sentido de rotação. Ela é complementada na subrotina da interrupção 1. Tabela 7: Inversão do sentido de rotação de motor de passo usando interrupção Rótulo Instrução Rótulo Instrução Rótulo Instrução ORG 00H DIRETO: REVERSO: LJMP INICIO ORG 13H CPL F0 CLR IE1 RETI ORG 30H SJMP ESCOLHA SJMP ESCOLHA INICIO: MOV SP,#2FH MOV IE,#84H ATRASO: MOV R0, #200 MOV TCON,#04H V2: MOV R1, #200 DJNZ R1, $ ESCOLHA: JB F0,REVERSO DJNZ R0, V2 RET END Explique a finalidade da instrução JB F0,REVERSO. Qual a finalidade da instrução CPL F0? Qual a finalidade das instruções, e CLR IE1, dentro da subrotina de atendimento da interrupção externa 1?

Laboratório de Microprocessadores e Microcontroladores 9 2.5 Motor de Passo Operando com Temporizador O programa dado na Tabela 8 aciona o motor de passo com o temporizador no modo 1. O temporizador é usado para marcar 1 s. Inicialmente o programa entra em um laço infinito, aguardando o pino P3.2 (há uma chave conectada a esse pino) mudar do nível alto para o nível baixo. O motor gira em um sentido por 10 s; para por 5 s; gira no sentido contrário por 10 s e volta para o laço de espera. Tabela 8: acionamento do motor de passo com temporização Rótulo Mnemônicos Comentários ORG 00H LJMP INICIO ORG 0BH LJMP SUB1S ; Chama subrotina que conta os tempos de 10s e 5s ORG 30H INICIO: MOV SP,#2FH ; Apontador de pilha SP = 2FH MOV IE,#82H ; Habilita interrupção do TEMP0 MOV TMOD,#01H ; Temporizador 0 no modo 1 MOV TH0,#4BH ; Contagem de 4BFFH a FFFFH MOV TL0,#0FFH ; 46080 x 1,085 µs = 50 ms MOV R0,#20 ; Contador para fazer 20 x 50 ms = 1 s LIGA: JB P3.2,$ ; Enquanto P3.2=1, aguarda com motor parado CLR TR0 ; Desliga temporizador CLR F0 ; Limpa flag que indica fim de contagem de 10s ou 5s MOV R7,#10 ; Contador para contar 10 s (10 x 1 s) SETB TR0 ; Liga temporizador 0 MOV A,#01H DIREITA: MOV P2,A ; P2 recebe o conteúdo de A ; Chama subrotina de atraso Motor girando RL A ; Rotaciona conteúdo de A para a esquerda para a direita CJNE A,#10H,VF0 ; Verifica se já rotacionou 4 vezes (nibble inferior completo) por 10 s MOV A,#01H ; Se a rotação saiu do nibble inferior, volta para A = 01H VF0: JNB F0,DIREITA ; Se F0 = 0, volta para Direita ; se F0 = 1, vai para próxima linha ; Vem para essa linha após 10 s (R7 = 10) CLR TR0 ; Desliga temporizador CLR F0 ; Limpa flag que indica fim de contagem de 10s ou 5s Motor parado MOV R7,#5 ; Contador para contar 5 s (5 x 1 s) por 5 s SETB TR0 ; Liga temporizador 0 JNB F0,$ ; Espera durante 5 s ; Vem para essa linha após esperar 5 s com o motor parado CLR TR0 ; Desliga temporizador CLR F0 ; Limpa flag que indica fim de contagem de 10s ou 5s MOV R7,#10 ; Contador para contar 10 s (10 x 1 s) SETB TR0 ; Liga temporizador 0 MOV A,#08H ESQUERDA: MOV P2,A ; P2 recebe o conteúdo de A Motor girando ; Chama subrotina de atraso para a RR A ; Rotaciona conteúdo de A para a direita esquerda por CJNE A,#80H,VF1 ; Verifica se já rotacionou 4 vezes (nibble inferior completo) 10 s MOV A,#08H ; Se a rotação saiu do nibble inferior, volta para A = 08H VF1: JNB F0,ESQUERDA ; Se F0 = 0, volta para Esquerda ; se F0 = 1, próxima linha SJMP LIGA ; Vem para essa linha após 10 s (R7 = 10) ATRASO: MOV R6,#150 ; Subrotina de atraso usada no acionamento do motor de passo V1: MOV R5,#250 ; R6 = 150 e R5 = 250 DJNZ R5,$ DJNZ R6,V1

Laboratório de Microprocessadores e Microcontroladores 10 RET SUB1S: DJNZ R0,SAI ; Subrotina de atraso de 5 s e 10 s MOV R0,#20 ; Recarrega R0 com valor 20 DJNZ R7,SAI ; Verifica se R7 = 0; Caso não seja, apenas recarrega e sai SETB F0 ; Seta a flag F0 quando chegar ao final da contagem de 5 s ou 10 s SAI: MOV TH0,#4Bh ; Recarga do temporizador zero para contagem de 46.080 pulsos MOV TL0,#0FFH ; 46080 x 1,085 µs = 50 ms RETI END Explique como funciona a subrotina SUB1S e a função do registrador R7.