• Nenhum resultado encontrado

Aula6

N/A
N/A
Protected

Academic year: 2021

Share "Aula6"

Copied!
5
0
0

Texto

(1)

Universidade de Brasília

Departamento de Engenharia Elétrica

Arquitetura de Processadores Digitais - 1◦/2010

Wender F. Oliveira - http://sites.google.com/site/wenderunb/

Aula 6 - LCD

Objetivos

Conhecer e realizar o funcionamento de um Display de Cristal Líquido - LCD.

Introdução

O LCD é um dispositivo de interface com o usuário utilizado para exibir informações de acordo com a funcionalidade do aparelho de forma eletrônica. Mas qual a novidade nisto? Nenhuma! O que nos interessa é como funciona um LCD.

Existem diversos tipos de LCDs tanto em sua forma quanto em seu funcionamento mas neste experimento vamos focar em um tipo de LCD que é o mais utilizado na Engenharia de Hardware, o LCD alfanumérico.

O LCD alfanumérico, daqui em diante chamado apenas por LCD, possui o mesmo funcio-maneto báasico de um LCD gráco porém com uma memória ROM que armazena o desenho para cada caractere (letra/número). Geralmente esta ROM possui todos os caracteres estabele-cidos no padrão ASCII, os quais totalizam 95 caracteres imprimíveis ou visuais. Cada caractere possui um código e no ASCII eles estão entres os códigos decimais 32 e 1261.

Em seu funcionamento o LCD funciona de duas maneiras que são DADO e COMANDO. No modo DADO, como o próprio nome diz, é para o envio direto do código do caractere a ser escrito no LCD. Já no modo COMANDO podem ser enviadas diversas instruções para controle e customização do LCD.

Uma outra variável existente é a quantidade de bits utilizadas para operar o LCD. Normal-mente eles funcionam com 4 bits ou 8 bits. A diferença é que neste se ganha na economia de tempo e naquele se ganha na economia de portas.

É importante sabermos que o LCD possui três pinos lógicos que indicam o modo de operação e realiza a operação.

• RS: Seleciona o registrador (modo) a ser utilizado. Em 0 indica modo COMANDO e 1 indica modo DADO.

• RW ou R/W: Leitura/Escrita. Em 0 indica ESCRITA e em 1 indica LEITURA. • E: Habilitação. Em cada mudança de nível alto para nível baixo (borda de descida) o

LCD realiza o comando/dado enviado.

1Para total acesso a tabela ASCII vericar no livro referência da disciplina no Apêndice B ou no site

(2)

Algo que não se pode nunca esquecer é o tempo que o LCD necessita para realizar uma tarefa. Deste modo é recomendado sempre vericar se o LCD não está ocupado em uma tarefa antes de enviar nova tarefa. Uma maneira de garantir é aguardar um tempo determinado entre cada operação, o que varia entre modelos e fabricantes mas gira em torno de no máximo 2 ms por instrução de comando e até 10 ms (dependendo do fabricante) para cada caractere. A outra maneira é vericar o o bit de ocupado (Busy Flag - BF )que é simplesmente vericar (no modo de leitura) o bit mais signicativo após qualquer instrução, se este estiver em 1 a instrução ainda está sendo executada caso contrário foi nalizada.

Agora que conhemos os pontos mais importantes dos LCDs que vamos trabalhar para este experimento, vamos ao seu funcionamento.

Receita de Bolo

1. Iniciar modo COMANDO (RS = 0 e R/W = 0) 2. Denir a condição (4 bits ou 8 bits)

3. Realizar instrução (E = 1 / E = 0) 4. Aguardar o término da instrução

5. Denir funcionamento do mostrador (cursor) e ativar o mostrador 6. Realizar instrução (E = 1 / E = 0)

7. Aguardar o término da instrução

A partir deste ponto o LCD está pronto para operar.

Exemplo

O simulador EdSim também simula um LCD, o do fabricante Hitachi modelo HD44780. Porém, no simulador, ele opera simplesmente com o modo de 4 bits mas exige que o mesmo seja habilitado manualmente. Outra diferença para o simulador é a ag de ocupado (BF), ela não existe no simulador e desta forma deve ser implementada pelo tempo dentre as alternativas apresentadas. Observe o seguinte código e seus comentários:

1 ; ************************************ 2 ; Exemplo de utilização do LCD 3 ; Wender F. Oliveira - 10/07/2010 4 ; ************************************ 5 ; Clock = 12 MHz 6 ; ************************************ 7 ORG 0 8 CLR P1.3 ; RS = 0 - Modo Comando 9 10 ; Define comando FS (0010 xxxx )

11 ; Indica ao LCD para operar com 4 bits

12 CLR P1.7

13 CLR P1.6

(3)

15 CLR P1.4 16 17 ; Realiza instrução 18 SETB P1.2 ; E = 1 19 CLR P1.2 ; E = 0 20

21 CALL delay ; Espera o LCD concluir a tarefa

22

23 ;A partir daqui o LCD opera em 4 bits 24

25 ; Define comando FS (0010 1010)

26 ; Envia segundo pedido de realização ( Nibble superior )

27 SETB P1.2 ; E = 1

28 CLR P1.2 ; E = 0

29

30 ; Define modo de operação de uma linha

31 SETB P1.7

32

33 ; Realiza nibble inferior

34 SETB P1.2 ; E = 1

35 CLR P1.2 ; E = 0

36

37 CALL delay ; Espera o LCD concluir a tarefa

38

39 ; Agora é preciso indicar o modo de entrada 40

41 ; Define comando EMS (0000 0110) 42 ; Incrementa e não desloca

43 CLR P1.7 44 CLR P1.6 45 CLR P1.5 46 CLR P1.4 47 48 SETB P1.2 ; E = 1 49 CLR P1.2 ; E = 0 50 51 SETB P1.6 52 SETB P1.5 53 54 SETB P1.2 ; E = 1 55 CLR P1.2 ; E = 0 56

57 CALL delay ; Espera o LCD concluir a tarefa

58

59 ; Tudo pronto , hora de ligar o LCD 60

61 ; Define comando DEC (0000 1111)

62 ; Liga LCD com cursor ativado e piscante ativado

63 CLR P1.7

(4)

65 CLR P1.5 66 CLR P1.4 67 68 SETB P1.2 ; E = 1 69 CLR P1.2 ; E = 0 70 71 SETB P1.7 72 SETB P1.6 73 SETB P1.5 74 SETB P1.4 75 76 SETB P1.2 ; E = 1 77 CLR P1.2 ; E = 0 78

79 CALL delay ; Espera o LCD concluir a tarefa

80

81 ; Agora o LCD está ligado , vamos digitar ! 82

83 SETB P1.3 ; RS = 1 - Modo Dado

84

85 ; Define Dado a ser enviado

86 ; Caractere 'A' (41h = 0100 0001) 87 CLR P1.7 88 SETB P1.6 89 CLR P1.5 90 CLR P1.4 91 92 SETB P1.2 ; E = 1 93 CLR P1.2 ; E = 0 94

95 CALL delay ; Espera o LCD concluir a tarefa

96 97 CLR P1.6 98 SETB P1.4 99 100 SETB P1.2 ; E = 1 101 CLR P1.2 ; E = 0 102

103 CALL delay ; Espera o LCD concluir a tarefa

104

105 ; Subrotina de delay , aguarda 100 MC = 110 us / 12 MHz 106 delay :

107 MOV R0 , #50 108 DJNZ R0 , $

109 RET

Este exemplo inicia o LCD e escreve o caractere 'A' no LCD e servirá de base para o restante do experimento.

Experimentos

(5)

Implemente uma rotina no SIMULADOR que escreva seu nome no LCD. Sugestões:

• Pinos de Dados de P1.4 a P1.7 • RS = P1.3

• E = P1.2

• RW não existe no simulador. Funciona apenas em modo de escrita.

• Faça o uxograma do funcionamento do LCD (incluindo todos os passos da inicialização do LCD)

• Teste seu uxograma no Simulador de LCD (LCDSim) disponível no site2 • Tente implementar utilizando subrotinas

• Se considerar o item anterior, comece a fazer sua biblioteca com as principais funções. Elas devem sempre salvar o estado atual e retornar ao estado anterior sem prejudicar qualquer que seja o programa. Isto facilitará sua vida nos próximos experimentos

Parte 2 - LCD - P5C

Implemente o experimento anterio na placa P5C.

• Latch com os sinais de controle mapeados no endereço 8100-81FFh  Bit 0: Enable

 Bit 1: RS (0 = instrução e 1 = dado)  Bit 2: RW (0 = escrita e 1 = leitura)

• Barramento de dados do LCD mapeados no endereço 8200-82FFh

Avaliação

Devido a complexidade deste e dos próximos 4 experimentos, não há necessidade da entrega do relatório escrito mas apenas os códigos

Os resultados devem ser enviados para o e-mail wender.unb@gmail.com até o dia 23/07/2010, contendo:

• Todos os arquivos FONTE utilizados nos experimentos, com extensão .ASM e separados (um arquivo por parte).

• Fontes individuais ou no máximo em duplas3

• Como não há mais a necessidade do relatório o e-mail e os fontes devem estar identi-cados

A avaliação será diretamente proporcional à: clareza, qualidade e quantidade dos comentá-rios, domínio da argumentação dos itens requisitados, eciência da solução encontrada, estética dos arquivos (identação, nomes intuitivos de rótulos e variáveis, cabeçalho, etc.).

Não esqueça de identicar seu e-mail, códigos e relatório!!!

2Créditos ao monitor Gabriel que nos compartilhou este simulador

Referências

Documentos relacionados

A persuasão comportamental foi exercida através do ensaísmo e do tratadismo de seus adeptos; temas como a relação entre ciências naturais e sociais, o papel da Tradição

Na subfase de veri cação, validação dos documentos apresentados e veri cação da conduta do candidato, a Comissão de Seleção Docente deverá veri car os currículos, os

´e aquele pelo qual a filosofia alem˜a traduziu, depois de Kant, o latim existentia, mas Heidegger deu-lhe um sentido muito particu- lar, j´a que designa na sua filosofia

As principais características deste agente são: avaliação do diálogo sobre as emoções, representação do modelo de personalidade Big-Five e impacto dos valores

Visando a este cenário, o Ministério da Saúde criou o Programa de Educação pelo Trabalho para a Saúde (PET-Saúde), regulamentado pela Portaria Interministerial

A Pró-Reitora de Ações Afirmativas e Assistência Estudantil da Universidade Federal da Bahia, no uso de suas atribuições e, em conformidade ao que estabelece o Edital de

Possíveis danos para a saúde: Longo prazo - efeitos sistémicos Utilização final: Consumidores. Vias de

1º Fica renovado o reconhecimento dos cursos superiores de graduação constantes da tabela do Anexo desta Portaria, ministrados pelas Instituições de Educação Superior citadas,