EXPERIÊNCIA 5: INTERFACE COM TECLADO E DISPLAY

Documentos relacionados
EXPERIÊNCIA 3: INTERFACE COM TECLADO E DISPLAY

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

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

MICROCOMPUTADORES. Professor Adão de Melo Neto

Barramento. Prof. Leonardo Barreto Campos 1

EL08D - MICROCONTROLADORES

EPUSP PCS 2011 Laboratório Digital GERADOR DE SINAIS

14/3/2016. Prof. Evandro L. L. Rodrigues

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

Projeto de Sistemas Eletrônicos

Módulo de Cristal Líquido LCD

AULA 6 - INTRODUÇÃO AO ARDUINO Revisão de Eletrônica Digital e introdução aos Sistemas Computacionais.

Técnicas de Interface com Microcontroladores (8051)

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

Automação Industrial PEA-2211: INTRODUÇÃO À ELETROMECÂNICA E À AUTOMAÇÃO AUTOMAÇÃO: CONTROLADOR LÓGICO PROGRAMÁVEL

Painel Luminoso com LEDs

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

LABORATÓRIO DE ARQUITETURA DE COMPUTADORES PREPARAÇÃO 02: DISPLAY DE 7 SEGMENTOS MICROCONTROLADO

Organização e Arquitetura de Computadores I

Aula 10 Microcontrolador Intel 8051 Parte 1

Terminal de Operação Cimrex 90

CLP Controlador Lógico Programável

EPUSP PCS 2011 Laboratório Digital GERADOR DE SINAIS

Guia de Práticas Elevador Didático Programável

EPUSP PCS 3335 Laboratório Digital A. Um Circuito Digital

Sistemas Operacionais de Tempo Real - Teclados Matriciais

ü Na década de 1920 os dispositivos mecânicos foram substituídos pelos relés; ü O uso da lógica de relés dificultava modificações do processo;

PLATAFORMA PARA ESTUDO EM PROGRAMAÇÃO DE MICROCONTROLADORES FAMÍLIA 8051

Entrada e Saída e Dispositivos

Organização e Arquitetura de Computadores I

EXPERIÊNCIA 1: FAMILIARIZAÇÃO COM A PLACA EXPERIMENTAL DE MICROCONTROLADOR 8051

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

Estrutura Básica de um Computador

INTRODUÇÃO: MICROCONTROLADORES

Circuito de Recepção Serial Assíncrona

Sistemas de Entrada e Saída

Arquitetura do Disciplina de Microcontroladores. Prof. Ronnier Prof. Rubão

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

ARDUINO. Profº. Engº. Robson Dias Ramalho

Profª Danielle Casillo

Montagem e Manutenção de Computadores

Profª Danielle Casillo

Microprocessadores e Microcontroladores. Professor Lucas Araujo do Nascimento

Parte II Arquitetura. professorferlin.blogspot.com. professorferlin.blogspot.com. Sociedade Paranaense de Ensino e Informática

Organização de Computadores I

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

LCDs Inteligentes. LCD Inteligente. Gabriel Kovalhuk DAELN / UTFPR

Família de Microcontroladores AVR

Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais

EPUSP PCS 3635 Laboratório Digital I. Trena Digital

LAB4 Introdução aos Controladores Lógicos Programáveis

Trabalho Pesquisa I Arquitectura do PC Perspectiva CHIPSET

UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO CURSO DE ENGENHARIA ELETRÔNICA DISCIPLINA DE INSTRUMENTAÇÃO ELETRÔNICA

Verificador de Senhas

CONTROLE DE UM SERVO MOTOR

EPUSP PCS 2011 Laboratório Digital GERADOR DE SINAIS

Sistemas Operacionais de Tempo Real Displays de 7 segmentos

PLC KL640. Guia de Instalação Rápida. Soluções integradas às suas necessidades. Configurações Kl640. KEYLOGIX Automation Ltda

EPUSP PCS 2011 Laboratório Digital GERADOR DE SINAIS

ESTAÇÕES DE TRABALHO BASEADAS NO SISTEMA PP. José Raimundo de Oliveira (*) Carlos Augusto de Mesquita Braga (**) José Henrique Zilberberg (**)

Redes Industriais. Curso: Téc. Automação Professor: Regis Isael

Aplicações: Conversão de Códigos e Motor de Passo. Prof. Adilson Gonzaga

Capítulo 2 Livro do Mário Monteiro Componentes Representação das informações. Medidas de desempenho

Sistema de Aquisição de Dados

Painel Luminoso com LEDs

Notas da Aula 14 - Fundamentos de Sistemas Operacionais

Sistemas Digitais: Introdução

1 REPRESENTAÇÃO DIGITAL DE INFORMAÇÃO Bases de Numeração Representação de Números em Base 2 5

Fundamentos de Automação. Controlador 01/06/2015. Controladores. Controladores. Controladores. Considerações Iniciais CURSO DE AUTOMAÇÃO INDUSTRIAL

Suporta os microcontroladores: R. Leonardo da Vinci, Campinas/SP CEP F.: (19) Kit de Desenvolvimento ACEPIC 28

KIT DIDÁTICO PIC-2377

Arquitetura de Um Computador

Fat-Uerj: Introdução à computação

Hardware. Computador. Computador. Computador. Evolução dos Computadores. Laboratório de Utilização de Microcomputadores (DCA0302) Aula 01

Curso de Tecnologia em Sistemas Eletrônicos MATRIZ CURRICULAR. Módulo I /Semestre 1 Carga horária total: 400h

Projeto de Sistemas Embarcados

Gerência de Dispositivos. Adão de Melo Neto

Arquitetura de Computadores Unidade 2 Organização Funcional dos Sistemas de Computação tópico 2.3 Subsistemas de E/S

Transcrição:

EXPERIÊNCIA 5: INTERFACE COM TECLADO E DISPLAY Autores: Prof. Dr. André Riyuiti Hirakawa e Prof. Dr. Carlos Eduardo Cugnasca Versão: 04/2009 1. OBJETIVO Esta experiência tem por objetivo a familiarização com alguns dos dispositivos periféricos de entrada e saída mais utilizados com os microprocessadores e microcontroladores, que são os teclados e displays, utilizado um teclado matricial e um display de cristal líquido (LCD), controlados pelo microcontrolador da placa experimental. 2. DISPOSITIVOS PERIFÉRICOS Todo equipamento baseado em microprocessador, para que seja utilizável, tem a necessidade de trocar dados com o mundo exterior. Isto se processa através de portas de entrada e saída. Acoplados a estas normalmente se encontram os dispositivos periféricos, cada um destinado a um determinado tipo de operação. Como exemplo de tais dispositivos, podem-se citar: controlador de teclado, controlador de display, porta de entrada e saída paralela, controlador de acesso direto à memória (DMA), controlador de interrupção, controlador de disco, conversor analógico-digital, conversor digital-analógico, relógio de tempo real, temporizador e contador de eventos, etc. Alguns desses dispositivos são específicos para determinadas aplicações, enquanto que outros permitem sua configuração e utilização de diversas maneiras. Os principais fabricantes de circuitos integrados oferecem ao usuário, além dos microprocessadores, uma grande quantidade de dispositivos periféricos, que cobrem as principais aplicações. Tais dispositivos apresentam compatibilidade com determinados microprocessadores, simplificando sua interligação, e podem ser adaptados a cada aplicação através de programação. Resta ao usuário, dessa forma, programá-los e configurá-los, adequando-os às necessidades. Apenas para interfaces pouco usuais devem-se projetar portas de entrada e saída específicas. A programação de tais dispositivos, embora nem sempre trabalhosa, pode se tornar não trivial, em função dos muitos casos para os quais os dispositivos são projetados para se adaptar, obrigando ao usuário a um estudo minucioso dos seus manuais de especificação, quase sempre de razoável dimensão e pouco didáticos. Felizmente podem ser encontradas páginas na Internet e literatura complementar, que detalham o projeto de utilização de muitos desses componentes para diversas situações usuais, facilitando a elaboração de novos projetos. 3. TECLADOS 3.1. Generalidades O teclado é um dos periféricos mais utilizados, permitindo a entrada de dados ou seleção de funções através de botões de contato momentâneo. Para cada aplicação podem-se escolher um tipo de teclado e distribuição de teclas como, por exemplo, teclados alfanuméricos,

2 teclados numéricos ou teclados especiais. Quando uma tecla de um teclado é pressionada, algum tipo de comutação elétrica ocorre, proporcionada por uma chave mecânica ou outro método. Em um computador pessoal, costuma-se encontrar teclados do tipo capacitivo (de baixo custo), onde cada tecla pressionada provoca a circulação de uma pequena corrente devido à diferença de carga entre os pólos do capacitor. Podem-se classificar os teclados, do ponto de vista de operação, como monomodo ou multimodo. Nos teclados monomodo, um único código é gerado para cada tecla, enquanto o multimodo permite mais de um código atribuído a cada tecla, pelo uso de teclas adicionais. Os códigos padronizados, como o ASCII ou EBCDIC, são adequados para teclados multimodo. 3.2. Codificação A função de um teclado e circuitos a ele associados é fornecer o código binário de cada tecla para processamento. Quando o teclado apresenta poucas teclas, a conexão das mesmas é feita de forma a interligar em comum um dos seus terminais, enquanto que o outro é ligado a um circuito de codificação (Figura 3.1.). Figura 3.1- Exemplo de um Teclado com Conexão Simples Entretanto, quando o número de teclas é elevado, como ocorre nos teclados alfanuméricos, esse método não é recomendável devido à grande quantidade de entradas que o circuito de codificação teria que aceitar. Nesse caso, é aconselhável utilizar a técnica de conexão matricial das teclas (Figura 3.2). Esse tipo de conexão apresenta vantagens pelo fato de utilizar menos interligações, embora requeira mais componentes. Basicamente, um teclado matricial pode ser implementado de quatro formas: com circuitos dedicados (Figura 3.2); com periféricos inteligentes e programáveis, acopláveis diretamente a microprocessadores (por exemplo, o componente 8279, da Intel); com circuitos simplificados diretamente controlados pelo microprocessador, via portas paralelas de entrada e saída e programa (Figura 3.3); com circuitos microprocessados dedicados, como é o caso dos microcomputadores pessoais da linha IBM PC e sucessores (por exemplo, circuitos baseados no microcontrolador 8049, da Intel).

3 Existe alguma similaridade entre os circuitos que controlam a multiplexação de displays baseados em segmentos luminosos, e os circuitos que controlam a varredura de um teclado matricial: os mesmos sinais utilizados para a seleção dos dígitos do display podem ser utilizados para a seleção das colunas da matriz do teclado. Muitos projetos que envolvem displays e teclados podem ser simplificados, utilizando essa característica comum. Figura 3.2 - Exemplo de um Teclado com Conexão Matricial 1 P1-0 H0 80C51 2 3 4 P1-1 P1-2 P1-3 H1 H2 H3 5 P1-4 V0 V1 V2 V3 6 P1-5 7 P1-6 8 P1-7 Figura 3.3 - Exemplo de um Teclado Matricial Controlado por Microcontrolador

4 4. DISPLAY ALFANUMÉRICO DE CRISTAL LÍQUIDO Nos últimos anos os módulos de display alfanuméricos têm se tornado extremamente populares, sendo utilizados em muitos diversos produtos, equipamentos e instrumentos. Dentre essas aplicações do display podem-se citar calculadoras, terminais bancários consulta de bancos, terminais de cartões de crédito, painéis informativos, painéis de equipamentos, etc. Essa popularização vem trazendo diversas vantagens, pois possibilita a utilização de um dispositivo de baixo consumo e de fácil programação e interfaceamento com a maioria dos microprocessadores e microcontroladores, a um custo muito reduzido. Atualmente, existem muitos fabricantes que produzem displays de cristal líquido que funcionalmente possuem características semelhantes. As diferenças são quanto a conexão, número de linhas e colunas, dimensões físicas e consumo. Assim, seqüências de comandos criados para um display podem ser aplicadas em outros sem necessidade de maiores modificações. Na Placa Experimental utilizada em laboratório, o display é conectado diretamente às vias do microcontrolador, ou seja, ele se encontra mapeado em memória, atribuindo-se endereços aos seus registradores internos, que são utilizados para a sua configuração e o envio e leitura de dados, como mostra a Tabela I [6]. O valor X presente nos endereços pode ser substituído por qualquer número hexadecimal (0 a F). Periférico Registrador Endereço Display de Cristal Líquido Escrita de Controle 200XH Escrita de Dado Leitura de Controle Leitura de Dado 201XH 202XH 203XH Tabela I - Endereços dos registradores do display utilizado na Placa Experimental 5. BIBLIOGRAFIA [1] PHILIPS; 80C51-Based 8-bit Microcontrollers Philips Semiconductors Data Handbook, 1995. [2] PHILIPS; Application Notes and Development Tools for 80C51 Microcontrollers Philips Semiconductors Data Handbook, 1995. [3] INTEL. Embedded Microcontrollers Intel Datasheet. 1995. [4] MATSUNAGA, A.M.; TSUGAWA, M.O. Sistema de Pesagem Dinâmica. Projeto de Formatura (disciplina PCS-588). Escola Politécnica da USP, 1997. [5] INTEL HOME PAGE. ApBUILDER http://developer.intel.com/design/builder/apbldr/. [6] ALFACOM. Módulos Multi-Matrix - Manual de Utilização. [7] CUGNASCA, C.E.; ZERBINI, R.C. Experiência nº 3 - Familiarização com Periféricos de Entrada e Saída: Interface com Display. EPUSP, 1989.

5 6. PARTE EXPERIMENTAL Esta etapa consiste no estudo e na utilização de um teclado matricial de 4 x 4 teclas e de um display de cristal líquido na Placa Experimental MC8051. O teclado está conectado através de "flat-cables" à porta P1 do microcontrolador 8051. O display está conectado às vias de dados e endereços do 8051 (mapeado em memória), sendo endereçado como descrito no Capítulo 4. 6.1. Interface com o Teclado e Display a) Estudar o acesso à porta do 80C51 e a forma de direcionar os sinais de entrada e saída para identificar a tecla acionada. b) Explicar no planejamento a razão de não se estar utilizando resistores de pull-up nos sinais da porta P1. c) Verificar o funcionamento do display, programando-o e enviando caracteres sem a elaboração de um programa, utilizando-se apenas dos comandos do Programa Monitor (escolha o comando apropriado para a escrita em memória, justificando-a no relatório 1 ). d) Elaborar um programa para o microcontrolador que detecte o acionamento de qualquer tecla, identificando-a e apresentando-a no display; e) Cada tecla pressionada deverá provocar o deslocamento da anterior para a esquerda. Para efeito de visualização no display, atribuir os seguintes códigos a cada tecla: números de 0 a 9, e letras de A a F. Levar em conta o "bounce" associado a cada tecla (explicar em detalhes no relatório o processo e o algoritmo para eliminá-lo). f) Explique o que acontece, do ponto de vista do hardware e do software, quando: - duas ou mais teclas de uma mesma linha são mantidas pressionadas simultaneamente; - idem para teclas de uma mesma coluna; Sugira eventuais modificações no circuito para atender à essas situações. 6.3. Observações O planejamento deverá apresentar: descrição de projeto, relacionando as suas características principais; especificação do programa a ser testado, com diagramas estruturados e respectiva descrição (planejamento sem esta documentação não será aceito!); diagrama lógico e descrição do hardware simplificados, envolvidos na experiência; descrição de como deverá ser eliminado o "bounce". O teclado e o display são utilizados na maior parte das experiências da disciplina. Sugere-se assim que as rotinas desenvolvidas sejam bem testadas e documentadas, facilitando a integração com outros programas. 1 O Programa Monitor possui dois tipos de comandos para a escrita em memória: um deles não efetua a leitura após a escrita, exatamente para facilitar a interação com dispositivos periféricos mapeados em memória.

6 ANEXO 1 SUGESTÃO PARA A IMPLEMENTAÇÃO DA ROTINA DE DEBOUNCE Existem várias formas de se elaborar a rotina de debounce. Duas delas são citadas a seguir: a) Após ter sido detectada a variação de estado em uma tecla (do 0 para o 1 ou vice-versa), deve-se aguardar um tempo t para se considerar o novo estado. O valor de t depende do tipo de tecla, sendo da ordem de milisegundos. b) A variação de uma tecla é considerada pela rotina somente se o estado da tecla for o mesmo nas últimas n leituras. c) Em função da alta velocidade do microcontrolador e da baixa velocidade envolvida no acionamento de um teclado, é possível intercalar um outro processamento entre duas leituras do teclado. Isso é particularmente útil quando existem outras tarefas que devem ser realizadas paralelamente ao tratamento do teclado. O uso de uma interrupção periódica, indicando os instantes de leitura do teclado, facilita a incorporação de processamento entre leitura do teclado. A alternativa b) é particularmente interessante porque o tempo de espera para assumir o estado da tecla é automaticamente ajustado, bastando-se definir um valor para n. Lembrar que o microprocessador é muito mais rápido que os tempos envolvidos para o acionamento do teclado.