PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ ENGENHARIA DE COMPUTAÇÃO. Vinicius Zanetti Tiago Dambros Rodrigo Yoshida Takeda

Documentos relacionados
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. Experimento 7:

Laboratório de Microprocessadores e Microcontroladores

Ex.: Rotinas de tempo

Laboratório de Microprocessadores e Microcontroladores

Prof. Adilson Gonzaga

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

Laboratório de Microprocessadores e Microcontroladores. Experimento 7:

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

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

Interrupção. Prof. Adilson Gonzaga

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 - RESPOSTA ESPERADA

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 UMA SOLUCAO POSSÍVEL

MICROPROCESSADORES E MICROCONTROLADORES. Prova 1 Resposta Esperada

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

Laboratório de Microprocessadores e Microcontroladores

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

Laboratório de Microprocessadores e Microcontroladores

Laboratório de Microprocessadores e Microcontroladores

Pontifícia Universidade Católica do Paraná ESCOLA POLITECNICA. Engenharia da Computação 5º Período

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)

Laboratório de Microprocessadores e Microcontroladores

Temporizadores e Contadores (Timer/Counter)

7. PROGRAMANDO O MICROCONTROLADOR. Microcontroladores - Prof: Demantova

Prof. Adilson Gonzaga

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

Temporizadores e Contadores

Lista de Exercícios 2

EXERCÍCIOS RESOLVIDOS

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

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

Laboratório de Microprocessadores e Microcontroladores

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 Resposta Esperada

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ CCET - Centro de Ciências Exatas e de Tecnologia Engenharia de Computação. Display POV

Microprocessadores e Microcontroladores. Prova Substitutiva Uma Solução

Laboratório de Microprocessadores e Microcontroladores

Lista de Exercícios 1

EXERCÍCIOS 2 Prof. Adilson Gonzaga

Laboratório de Microprocessadores e Microcontroladores

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

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

Aula 10 Microcontrolador Intel 8051 Parte 2

Porta série no dscope...

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

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

5 ULTRASSOM + MEMÓRIA

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

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 (Tema: Microcontrolador 8051)

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 (Tema: Microcontrolador 8051)

Lista de Exercícios 1

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

Microprocessadores TIMER/COUNTER I

SEL 0415 INTROD. À ORGANIZAÇÃO DE COMPUTADORES

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

Microprocessadores e Microcontroladores. Professor Lucas Araujo do Nascimento

Interrupções 8051 Porta Serial

2.4 Temporização da CPU

Microcontrolador 8051

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

EPUSP PCS 2011/2305/2355 Laboratório Digital. Frequencímetro

Ex.: Rotinas de tempo

Laboratório de Microprocessadores e Microcontroladores

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

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ ENGENHARIA DE COMPUTAÇÃO

Laboratório de Microprocessadores e Microcontroladores

Introdução ao Uso do LCD Inteligente (Versão Preliminar) Por Gilson Yukio Sato. Introdução

CONJUNTO DE INSTRUÇÕES

EXPERIÊNCIA 17 USO DO TEMPORIZADOR INTERNO

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ PUC-PR CCET CENTRO DE CIÊNCIAS EXATAS E DE TECNOLOGIA ENGENHARIA DE COMPUTAÇÃO MICROPROCESSADORES I

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ CURSO DE ENGENHARIA DE COMPUTAÇÃO CÂMPUS CURITIBA

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

Interrupção

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

Microcontrolador 8051:

INTRODUÇÃO: MICROCONTROLADORES

Organização de Memórias

Interface Serial. Prof. Adilson Gonzaga

MICROPROCESSADORES E MICROCONTROLADORES Parte 2 Microcontrolador 8051

Arduino Lab 02 Sensor de luminosidade e display de LCD 16 2

Laboratório de Microprocessadores e Microcontroladores. Experimento 6:

Projeto "Broquinho" Página Oficial - Projeto Broquinho

Porta Série SÉRIE x PARALELO PORTA SÉRIE. Comunicação série SÉRIE PARALELA

SEL 337 Aplicação de Microprocessadores II

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

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA ENGENHARIA DA COMPUTAÇÃO

EXPERIÊNCIA 4: IMPLEMENTAÇÃO DE UM CRONÔMETRO

Cerne. Conhecimento para o Desenvolvimento. Cerne Tecnologia e Treinamento. Apostila de BASIC para PIC16F628A

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

EEC2104 Microprocessadores

Lista de Exercícios 2

Acetatos de apoio às aulas teóricas

Transcrição:

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ ENGENHARIA DE COMPUTAÇÃO Vinicius Zanetti Tiago Dambros Rodrigo Yoshida Takeda Projeto apresentado às disciplinas do Curso de Engenharia de Computação do Centro de Ciências Exatas e de Tecnologia da Pontifícia Universidade Católica do Paraná, como parte integrante da nota do primeiro semestre da disciplina de microprocessadores. Professores orientadores: Afonso Ferreira Miguel. CURITIBA 2010

Vinicius Zanetti Tiago Dambros Rodrigo Yoshida Takeda TRENA ELETRONICA CURITIBA 2010

SUMÁRIO LISTA DE FIGURAS... 4 INTRODUÇÃO... 4 1 O PROJETO... 6 2 OBJETIVOS... 7 3 PROCEDIMENTOS... 8 3.1 GRAVADORES AT89s52... 8 3.1.1 Gravador paralelo... 8 3.1.2 Gravador serial... 9 3.2 A ESTRUTURA FISICA... 10 3.3 O MODULO ULTRA-SOM... 11 3.4 A PLACA DO PROJETO... 12 3.5 PROGRAMA DO PROJETO... 13 4 CONSIDERAÇÕES FINAIS... 17 MATERIAL DE CONSULTA... 18

LISTA DE FIGURAS Figura 1: Trena eletrônica Comercial... 6 Figura 2 : Esquemático Gravador Paralelo... 8 Figura 3: Esquemático Gravador Serial... 9 Figura 4: Caixa que contem o projeto... 10 Figura 5: Foto dos push buttons... 10 Figura 6: Diagrama do tempo do modulo ultra-som... 11 Figura 7: A placa pronta... 12 Figura 8: Esquematico da placa de integração... 12

INTRODUÇÃO Esse trabalho vai apresentar os procedimentos para a criação de uma trena eletrônica. Será usado um processador da família 8086 (89s52) e programado em assembly como requerimento da disciplina. A trena eletrônica é um dispositivo ultra-som capaz de medir distancias. Será usado o principio de reflexão do som para fazer a medição. Devidos as limitações do modulo ultra-som, ela não tem capacidade de medir distancias superiores a 2 metros.

1 O PROJETO A idéia é fazer um projeto parecido com as trenas eletrônicas comerciais usando o processador 80s52. Um módulo ultra-som vai receber o sinal da trena e fazer a medição pelo tempo de recepção e vai imprimir em um painel LCD. Figura 1: Trena eletrônica Comercial O projeto tem um tamanho de aproximadamente 20cmx10cm. É uma caixa contendo os circuitos necessários, e buracos para o painel LCD e modulo ultra-som. A medição é autônoma e o projeto possui três push buttons. Um faz a medição, um liga o laser do projeto e o outro liga o dispositivo. Não faz parte do projeto, um conversor de unidades (sempre será medido em centímetros). Não há também um sistema de verificação de problemas na leitura. Também não faz parte do escopo do projeto um medições de área e volume.

2 OBJETIVOS Demonstrar conhecimento adquirido na disciplina de microprocessadores Programar e estudar o processador da família 8086 Introduzir e aprimorar o aprendizado da linguagem assembly Fazer um vídeo demonstrativo.

3 PROCEDIMENTOS 3.1 GRAVADORES AT89s52 Para poder fazer a gravação do processador 89s52 foi necessário a utilização de gravadores com esse propósito. Foram utilizados um gravador paralelo e um gravador serial. O gravador paralelo é muito mais simples que o serial, mas devido a pouca quantidade de computadores recentes que possuem a porta paralela, foi feito um gravador serial. 3.1.1 Gravador paralelo O gravador paralelo consiste em um cabo paralelo especial que tem os pinos certos para a gravação. Os componentes usados são para a proteção do circuito podendo não ser utilizados. A seguir o esquemático do gravador paralelo Figura 2 : Esquemático Gravador Paralelo Vale ressaltar que não foram utilizados os buffers de proteção para as gravações. Não tivemos problemas relacionados à gravação paralela

3.1.2 Gravador serial O gravador serial foi construído para não precisar da porta paralela. Figura 3: Esquemático Gravador Serial Alguns problemas foram visualizados na tentativa de usar um conversor (Serial para usb) como a velocidade da gravação. No cabo serial normal, a velocidade estava aceitável. Foram utilizados como componentes: - 2 capacitores de cerâmica de 39p - 4 capacitores eletrolíticos de 1uF - 1 Max232(conversor serial) - 1 Porta DB9

3.2 A ESTRUTURA FISICA A estrutura física consiste em uma caixa de plástico contendo furos para os componentes. A figura do Box pode ser vista a seguir. Figura 4: Caixa que contem o projeto Na caixa, foram feitos dois furos para o sensor ultra-som usando uma retifica. Da mesma maneira, foram feitos os furos para os push buttons. Em um dos push buttons liga as pontas da bateria e o dispositivo começa a funcionar. Também não foi possível colocar o painel LCD dentro da caixa sendo necessária uma adaptação. Um pequeno corte foi feito nas laterais para a colocação do dispositivo. A placa foi colada com fita dupla-face dentro da caixa e parafusada com os locais que já possuía para parafusos. Figura 5: Foto dos push buttons

3.3 O MODULO ULTRA-SOM Foi comprado um modulo ultra-som para a criação do projeto. O modulo possui 5 pinos: GND Terra SER Sinal ASCII serial, velocidade 2400bps TRIG Disparo do sinal, um pulso em 0 inicia ECO Pulso do Eco VCC Energia. No projeto foram utilizados somente 3 pinos. O GND, VCC e o ECO. O eco é o da o tempo de recepção do sensor. A seguir um esquemático contendo as informações de modo mais detalhado. Figura 6: Diagrama do tempo do modulo ultra-som

3.4 A PLACA DO PROJETO A placa é a que integra todos os componentes usados para o projeto. Foi necessário o uso de cabos paralelos para a maior mobilidade do sensor ultra-som e o painel LCD. Também foi necessário o cristal oscilador, capacitores de cerâmica (para o cristal), e trilhas para os botões. Houve uma pequena adaptação de o soquete devido o eagle ter tamanhos equivocados em relação ao processador 89s51. A alimentação do projeto é feita por uma bateria 9v e retificado por um LM7805. Como foi dito anteriormente, um botão fecha curto e o projeto liga. Foi colocado um espaço para um botão reset na parte de trás da estrutura devido o 89s52 não funcionar muito bem sem apertar o botão reset. Figura 7: A placa pronta Os esquemáticos da placa usando o software EAGLE. Figura 8: Esquematico da placa de integração

3.5 PROGRAMA DO PROJETO O sensor de ultrassom utilizado possui dois pinos de dados, sendo um chamado ECHO e outro SER, que fornece o código ASCII do valor da medição serialmente. Comentaremos apenas do primeiro, que foi o escolhido para utilizar neste projeto. O pino ECHO recebe e envia sinais, sendo necessário só ele para a comunicação com o microcontrolador. A base do funcionamento é simples, o microcontrolador deve enviar um sinal alto para o pino ECHO por poucos microssegundos, após isto o sensor fará várias medições e correções internamente e enviará pelo pino um pulso alto. A duração deste pulso alto é referente ao tempo de ida e volta do sinal emitido. A partir deste será calculada a distância do alvo. Como os registradores do microcontrolador possuem apenas 8-bits, ou seja, apenas conseguem guardar um valor numérico de até 255, não é viável guardar a duração do pulso para depois trabalhar e executar cálculos com ela. Portanto calculamos primeiro uma precisão e utilizamos os registradores como contadores a partir desta. Definimos esta precisão como 1cm, e utilizando e velocidade do som para uma temperatura média de 25ºC temos 346,3m/s. Precisamos saber então quanto tempo equivale a cada centímetro, lembrando que o sensor retornará o tempo de ida e volta. Fazendo cálculos simples é possível chegar a um valor de 28.9 us/cm. Então considerando ida e volta utilizaremos 57.75 us/cm, arredondados para 58 us. Em resumo o programa funciona deste modo, a cada 58 us recebendo o pulso alto do sensor, incrementamos a contagem nos registradores através de uma interrupção. Teremos então ao máximo três dígitos de contagem, pois o sensor mede até 2m, ou seja, 200cm. A partir disto facilitamos a conversão para BCD necessária para impressão dos dígitos no LCD utilizando incrementos em três registradores, unidade, dezena e centena. Quando cada um excede chegando no valor 10, o mesmo é zerado e o próximo é incrementado. A seguir encontra-se o código do software para o 80s52 utilizado neste projeto, com alguns comentários sobre o funcionamento:

Velocidade do som: 346,3 m/s (25 ºC) Distância máxima do sensor: 2m Distância mínima do sensor: 20cm Precisão definida: 1cm 28.9 us/cm (Ida e volta) 57.75 us/cm (Somente ida) EN EQU P3.3 ENABLE ATIVO NA BORDA DE DESCIDA RS EQU P3.2 REGISTER SELECT: DADO-1 COMANDO-0 DADO EQU P1 DADOS DO LCD NA PORTA P1 CONFIG EQU 38H 20H (FUNÇÃO) + 10H (8BITS) + 08H (2 LINHAS) LCD_ON EQU 0EH 0CH (LCD ON) + 02H (CURSOR ON) ENTRY EQU 06H 06H (DESLOCA A DIREITA A CADA ESCRITA) CLR_LCD EQU 01H LIMPA LCD ECHO EQU P3.4 PINO ECHO DO SENSOR SOM EQU 58 MICROSEGUNDOS PARA INCREMENTO DE CM B_MEDIR EQU P3.5 BOTÃO MEDIR ORG LJMP 0000H INICIO ORG 000BH LJMP T0INT INTERRUPÇÃO TIMER/C0 ORG INICIO: 0030H MOV IE, #10000010B CONFIGURA INTERRUPÇÕES LCALL INITLCD CHAMA FUNÇÃO PARA INICIALIZAR LCD MEDIR: JB B_MEDIR, $ AGUARDA 0 NO BOTÃO MEDIR MOV A, #CLR_LCD MOVE COMANDO LIMPAR LCD LCALL WR_CMD EXECUTA COMANDO MOV TMOD, #02H MOV TH0, #(-SOM) T/C0 NO MODO 8 BITS C/ RECARGA AUTOMÁTICA COLOCA 58us DE CONTAGEM NO TIMER CLR ECHO COLOCA BAIXO NO PINO ECHO LCALL WAIT2US AGUARDA 2us SETB ECHO COLOCA ALTO NO PINO ECHO LCALL WAIT2US AGUARDA 2us LCALL WAIT2US CLR ECHO COLOCA BAIXO NO PINO ECHO MOV R1, #0 ZERA O REGISTRADOR DA UNIDADE MOV R2, #0 ZERA O REGISTRADOR DA DEZENA MOV R3, #0 ZERA O REGISTRADOR DA CENTENA JNB ECHO, $ AGUARDA ALTO NO PINO ECHO SETB TR0 INICIA A CONTAGEM NO TIMER LOOP: JB ECHO, LOOP FICA EM LOOP ENQUANTO ECHO É ALTO CLR TR0 MOV A, R3 IMPRIME UNIDADE ADD A, #30H LCALL WR_TEXT MOV A, R2 IMPRIME DEZENA ADD A, #30H LCALL WR_TEXT MOV A, R1 IMPRIME CENTENA ADD A, #30H LCALL WR_TEXT MOV A, #' ' LCALL WR_TEXT MOV A, #'c

LCALL WR_TEXT MOV A, #'m' LCALL WR_TEXT LCALL WAIT1S AGUARDA 1 SEGUNDO JMP MEDIR VOLTA PARA MEDIR ROTINA DE INICIALIZAÇÃO DO LCD INITLCD: MOV A, #CONFIG LCALL WR_CMD MOV A, #LCD_ON LCALL WR_CMD MOV A, #ENTRY LCALL WR_CMD MOV A, #CLR_LCD LCALL WR_CMD RET ROTINA PARA ESCREVER COMANDO NO LCD WR_CMD: SETB EN CLR RS MOV DADO, A CLR EN LCALL WAIT5MS RET ROTINA PARA ESCREVER TEXTO NO LCD WR_TEXT: SETB EN SETB RS MOV DADO, A CLR EN LCALL WAIT5MS RET ROTINAS DE DELAY WAIT2US: PUSH 1 MOV R1, #2 DJNZ R1, $ POP 1 RET WAIT1MS: PUSH 1 PUSH 2 MOV R2, #50 AGAIN: MOV R1, #10 DJNZ R1, $ DJNZ R2, AGAIN POP 2 POP 1 RET WAIT5MS: PUSH 1 MOV R1, #5 REPEAT1: ACALL WAIT1MS DJNZ R1, REPEAT1 POP 1 RET

WAIT1S: PUSH 1 MOV R1, #200 REPEAT2: ACALL WAIT5MS DJNZ R1, REPEAT2 POP 1 RET ROTINA DE INTERRUPÇÃO DO TIMER EXECUTADA CADA VEZ QUE O MESMO ESTOURA A CONTAGEM DE 58us T0INT: INC R1 INCREMENTA UNIDADE CJNE R1, #10, FIM SE DIFERENTE DE 10 TERMINA MOV R1, #0 ZERA UNIDADE INC R2 INCREMENTA DEZENA CJNE R2, #10, FIM SE DEZENA DIFERENTE DE 10 TERMINA MOV R2, #0 ZERA CENTENA INC R3 INCREMENTA CENTENA FIM: CLR TF0 LIMPA FLAG DO TIMER RETI RETORNA END

4 CONSIDERAÇÕES FINAIS O objetivo do projeto foi bem sucedido. O processo de aprendizagem quanto a sua o uso da linguagem assembly e do processador baseado na arquitetura 8086 foi alcançado. A utilização dos gravadores mostrou uma computação baixo nível, um salto qualitativo em relação ao projeto passado.

MATERIAL DE CONSULTA http://www.tato.ind.br/files/sonar05.pdf http://www.alldatasheet.com/view.jsp?searchword=89s52 http://rafaelbf.tripod.com/grava.htm.