Display serial com microcontrolador PIC
Um display super simples para uso com "microcontroladores" do tipo “Stamp's”, “Step's” e outros. Agiliza o desenvolvimento e economiza pinos de I/O, pois utiliza apenas um único pino! Funciona em modo RS-232 ou modo TTL. No modo RS-232 possui drive para adequar os níveis de tensão (RS-232 para TTL), podendo neste caso ser utilizado com PC's a uma distância de até 30 metros (dependendo exclusivamente da qualidade do abo). Características técnicas:
Como funcionaO circuito baseia-se no microcontrolador PIC16C54C-04/P Microchip. O microcontrolador é responsável pelo start-up do display e também pelo tratamento da comunicação serial.
As linhas de I/O do microcontrolador RB0 a RB7 controlam os dados do display, RA1, RA2 e RA3 trabalham as linhas de controle do display (EN, R/W, RS) e RA0 recebe os dados a serem apresentados no display. O display é programado para operar com 8 bits de dados, cursor ligado, texto fixo com deslocamento do cursor para próximo caracter. O cálculo do Baud Rate está baseado no clock do microcontrolador. A velocidade de comunicação pode ser modificada trocando-se o cristal, conforme a tabela abaixo. Não há necessidade de qualquer alteração no software do PIC. Relação Cristal/Velocidade de comunicação
O CI MAX232, é um driver para RS-232. Ele ajusta os níveis de tensão TTL para RS-232 e vice-versa. O jumper J1, permite escolher qual o tipo de entrada para o sinal (TTL/RS232) e deve ser configurado cuidadosamente, de acordo com o trabalho a ser realizado com o display. O trimpot TP1 ajusta o contraste do display. O cristal de 2MHz e os capacitores de 33pF fazem a oscilação do microcontrolador e podem ser alterados conforme demonstrado na tabela acima. O circuito pode controlar display’s de 1 e 2 linhas do tipo caracter. Não existe limite para o número de colunas, já que o microcontrolador envia os caracteres para o display sem se preocupar em qual coluna estes serão apresentados. Este “controle” deve ser feito pelo próprio usuário, que deverá saber o número de colunas do seu display e realizar a organização destas, através da pré-formatação do texto a ser apresentado. Foram inseridos apenas dois comandos básicos no display. Porém se você tem conhecimento na Linguagem Assembly Microchip, poderá implementar outros que lhe sejam necessários. Abaixo a tabela mostra os comandos implementados.
Lista de comandos
Comando
Efeito
0x01
Apaga
display e posiciona cursor na 1ª coluna/linha 1
0x02
Posiciona
cursor na 1ª coluna/linha 2 (não apaga display) Observe que os valores para os comandos são os bytes 01H e 02H, 01 e 02 decimais respectivamente. Não vá confundir o valor 01H com o caracter "1" ASCII (31H) ok.
Dicas para Montagem A sua montagem é bem simples e o lay-out da placa pode ser feito a partir da sugestão dada na figura abaixo. Na época que fiz este desenho, usei o Paint do Windows e, portanto, não existe uma versão Eagle, Tango, Orcad, etc. Lembre-se apenas de ao imprimir manter o tamanho original indicado. Obs.: O desenho oferecido já está invertido. Trata-se do lado da solda ok!
Para facilitar ainda mais a sua montagem, no momento de inserir os componentes você poderá utilizar as imagens no inicio desta página como referência ou ainda a figura abaixo.
A lista de materiais é a seguinte: 1 - Display padrão Hitachi Para a alimentação do display você terá de montar uma fonte com 5VDC devidamente regulados. Abaixo dou uma sugestão para o circuito. Ah, desta vez não tem lay-out de placa ok. Uma excelente oportunidade para você praticar o desenho de lay-outs, não acha???
Caso você utilize um display com back-ligth, sugiro
aumentar a corrente do transformador para 500 mA ok. A ligação do back-ligth é
feita de maneira direta na fonte de 5VDC, com o uso de um resistor limitador de
corrente da ordem de 50 Auxilio com os testes Para evitar um "porrilhão" de e-mails perguntando como testar e usar o display serial, abaixo você tem duas figuras que matam esta charada!
Para testar/usar o display com um microcontrolador como o Basic Step 1, por exemplo, você terá de necessariamente operar o display com a velocidade de 2400 bps. O BS1 não permite comunicações com uma taxa maior que esta (limitação do próprio microcontrolador). Porém, uma taxa de 2400 bps para preencher 32 caracteres (16 x 2) num LCD é mais que suficiente. Nem dá para perceber qualquer cintilação ou mesmo ver os caracteres sendo grafados no LCD um a um. A "coisa" é realmente bastante rápida. Abaixo um programa exemplo para teste com o Basic Step. `Programa teste para Basic Step I `Márcio José Soares
symbol cmd = 254 `entra em modo comando symbol clear = 1 `apaga LCD symbol linha2 = 2 `muda para a linha 2
dirs=%11111111 ‘todos pinos como saída
pause 400 ‘aguarda display inicializar serout 0,T2400,(cmd, clear) ‘apaga display e posiciona na 1ª linha/coluna serout 0,T2400,(”Olá”) ‘envia Olá para o display através do pino 0 serout 0,T2400,(cmd, linha2) ‘vai para linha 2, sem apagar display serout 0,T2400,(“Mundo!!!”) ‘envia Mundo para o display
pare: goto pare ‘para o programa aqui
O programa de controle O programa de controle foi desenvolvido em Assembly. Eu não pretendo explicar seu funcionamento, até porque meus programas são bem comentados. Estudando a linguagem (funcionamento de cada instrução e o modo como as mesmas afetam os registradores do microcontrolador) você terá todas as condições para compreender este programa, que foi muito bem comentado para auxiliar sua interpretação. O único detalhe interessante que gostaria de ressaltar é que o microcontrolador PIC16C54 não possui USART, e a comunicação serial foi feita literalmente na "unha". E só mais uma coisa ok. A memória deste microcontrolador é OTP (One Time Program). Ou seja, gravou, já era!!! Porém seu preço é bastante convidativo. Acho que por isso muitas empresas ainda utilizam este microcontrolador. Downloads: O circuito foi devidamente testado. Não me responsabilizo por possíveis problemas que possam ocorrer durante a sua montagem ou pelo uso inadequado deste circuito. Você está por sua própria conta e risco. Perguntas mais freqüentes 1 - Tem como adaptar este programa para outros microcontroladores PIC, mais modernos, com memória FLASH e USART??? R. Sim tem. Você simplesmente mudará todo o programa, mas isso fica por sua conta ok! 2 - Eu posso usar este display com outros microcontroladores, como um PIC, AVR, 8051 ou outros? Como devo proceder? R. Sim, claro que dá. Basta configurar a comunicação serial no microcontrolador desejado. Cada microcontrolador tem sua própria configuração e está deve ser feita de acordo com os recursos inseridos na linguagem a ser utilizada. Como se faz isso??? Estudando o uso da USART do microcontrolador e a linguagem de programação em questão!!! Bem simples não é?
|
Copyright deste conteúdo reservado para Márcio José Soares e protegido pela Lei de Direitos Autorais LEI N° 9.610, de 19 de Fevereiro de 1998. É estritamente proibida a reprodução total ou parcial do conteúdo desta página em outros pontos da internet, livros ou outros tipos de publicações comerciais ou não, sem a prévia autorização por escrito do autor. |