-
UTILIZAO DO MICROCONTROLADOR 8051 NO DESENVOLVIMENTO DE UM
LETREIRO DIGITAL
MathiasSilvadaRosa GuilhermeEvangelistadeAlbuquerque
InstitutoFederaldeSantaCatarina
InstitutoFederaldeSantaCatarinaSoJos,Brasil SoJos,Brasil
[email protected] [email protected]
Resumo Neste artigo apresentado o desenvolvimento, com intuito
didtico, de um letreiro digital dispostos na forma de matriz, sendo
esta matriz constituida por 8 linhas e 8 colunas, que ser
controlado por um microcontrolador da famlia Intel 8051. A escolha
desse
microcontroladorsebaseounasuaestruturafuncionalenaformacomoprogramado.
O software desse projeto foi desenvolvido na IDE (Integrated
Development Environment) MCU 8051 e foi utilizado o simulador de
circuitos eletrnicos Proteus que possuem diversos
mdulosqueforamessenciaisnodesenvolvimentodoprojeto.PalavraChaves:Microcontrolador,LetreiroDigital.
1. Introduo
A flexibilidade na utilizao de microcontroladores faz com que
essa tecnologia se torne
uma alternativa atraente no gerenciamento de dispositivos
eletrnicos. O 8051 um microcontrolador flexvel, fcil de usar e
utilizado em diversos equipamentos eletrnicos como controlador
auxiliar. Esses motivos o fizeram ser a pea principal desse
projeto. Ele como todo microcontrolador, tratase de um
microprocessador desenvolvido para executar tarefas especficas e
com linguagem de comando especfica, no caso a linguagem Assembly, e
trabalha em conjunto com mdulos auxiliares (ROM, RAM, timers,
serial), tudo integrado dentro de um
mesmochipeeletrnico(NICOLOSI,2005).
Para o incio de qualquer projeto necessrio o conhecimento sobre
a arquitetura, caractersticas e o modo como programado o
microcontrolador, sendo assim, o principal objetivo desse projeto a
familiarizao com o mesmo. Nesse trabalho abordaremos de maneira
brevetodososconceitosrelacionadosaomicrocontrolador8051.
Um painel de LED (Light Emitting Diode) um dispositivo que usa
um conjunto de diodos emissores de luz para exibir dados e
informaes. Estes so muito utilizados na rea de entretenimento (TVs
de LED e brinquedos), segurana (sinalizadores),
publicidade(outdoors), entre outras. Com uma vasta e diversificada
gama de aplicaes, o desenvolvimento de um letreiro digital com LEDs
permite queoaprendizadoemmicrocontroladoressetornentegro.
-
2. Microcontrolador8051
A famlia 8051, herdeira do 8048, uma famlia de
microcontroladores de 8 bits que utiliza arquitetura Von Neumann,
foi desenvolvida inicialmente pela Intel na dcada de 80. Esta
famlia de microcontroladores destacase das demais pelo motivo dela
ser fabricada por vrias empresas, e sendo assim, existe uma grande
concorrncia pelo mercado consumidor deste tipo de
microcontrolador,otornandoomaisacessveldomercado(MARTINS,2010).
Tipicamente o 8051, como representante bsico da famlia, contm
internamente: [NICOLOSI,2005]
RAM interna de uso geral de 128 bytes e 128 bytes
correspondentes aos registradoresespeciais
ROMinternade4Kbytes 4portasI/O 2timersde16bits 1interfaceserial
Capacidadede64KbytesdememriaexternaRAMeROM
ProcessadorBooleano(operacombits) Ciclostpicosdeinstruode1e2sa12MHz
Instruodiretadedivisoemultiplicao Entradasdeinterrupoexterna.
Figura1Arquiteturainternadosmicrocontroladoresdafamlia8051(NICOLOSI,2005).
-
Figura2Desenhoexternodochip8051(NICOLOSI,2005)Abaixo temos uma
tabela que resume as principais funes de cada porta do
microcontrolador8051:
Nome Pino FunoNormal FunoEspecial Comentrios
P0.0...P0.7 32...39 I/O Acessomemriaexterna
Acessaamemriaexternacom8bits
P1.0...P1.7 1...8 I/O
P2.0...P2.7 21...28 I/O Acessomemriaexterna
Acessaamemriaexternacom8bits
P3.0 10 I/O RXD,ReceiveData Receptordedadosserial
P3.1 11 I/O TXD,TransmitData Transmissordedadosserial
P3.2 12 I/O ExternalInterrupt0 Usadoparaalgumeventoexterno
P3.3 13 I/O ExternalInterrupt1 Usadoparaalgumeventoexterno
P3.4 14 I/O Timer/counter0
Usadoparacontadordeeventosexternos
P3.5 15 I/O Timer/counter0
Usadoparacontadordeeventosexternos
P3.6 16 I/O Memorywritestrobe
Sinalizaaescritanamemriaexterna
P3.7 17 I/O Memoryreadstrobe Sinalizaaleituranamemriaexterna
-
PSEN 29 ProgramStoreEnable Habilitaamemriaexterna
ALE 30 AddressLatchEnable ControlamultiplexaodosdadosnoP0
EA 31 ExternalAccess
Permiteautilizaodamemriaexternaoudainternademaneiracontgua
RST 9 Reset Reinicializaomicrocontrolador
XTAL1eXTAL2
18e19
Cristal/Oscilador Determinaafrequnciadeclock
VcceVss 40e20
Alimentao +5Veterrarespectivamente
Figura3Tabeladeresumosdafunesdospinosdo8051(NICOLOSI,2005)
Esse processador tem um espao separado para memria de programas
e para memria de dados. Exite o poder de gerenciar a memria interna
e tambm a memria externa. A memria
RAMdividaemregistradoresespeciaiseregistradoresdepropsitogeral:(NICOLOSI,2005)
ACC(Acumulador):utilizadoemmuitasinstruesdemquina
P0,P1,P2,P3:Registradoresdasportasdecomunicaodo8051
B:Registradorutilizadoeminstruesdemultiplicaoediviso
PSW:Registraoestadodaultimaoperaolgica.
IPeIE:Configuramasinterrupesdo8051 DPH e DPL: Os dois formam o
registrador de 16 bits DPTR para acesso a
memriaexternas. SP:Pilhadeendereospararetornodesubrotinas
PCON:Alteramodosdefuncionamentoemrelaoaoconsumodepotncia
SBUF:Registrainformaesdeentradaesadadaserial SCON:Configuraaserial
TH0, TL0, TH1, TL1: formam um registrador de 16 bits (high e low)
para o
timer(timer0etimer1) TCON:Controledotimer TMOD:Configuraodotimer
R0...R7(Bank1,Bank2,Bank3,Bank4):Registradoresdeusogeral.
O ciclo de mquina no 8051 e gerado nos pinos XTAL1 e XTAL2
atravs de um cristal
oscilador que disposto de maneira paralela ao dois pinos. O
ciclo da mquina define o tempo de execuosequencialdasinstrues.
3. PersistnciadaVisoEm 1824, o pesquisador Peter Market Roget
publicou seu trabalho Explanation of an
optical deception in the appearance of the spokes of a wheel
when seen through vertical
-
apertures, criando a ideia de como a persistncia da viso. O olho
humano, ao ser apresentado a uma sequncia rpida de imagens, mantm
durante alguns milsimos de segundos o efeito de luz na crnea,
criando assim o efeito de fuso com a prxima imagem que ser exibida,
visualizandoastransaesecriandoumefeitodemovimento.
Com o passar do tempo foram feitas muitas pesquisas e, de acordo
com Joseph e Barbara Anderson, o motivo real da persistncia da viso
no est na crnea, mas no processamento realizado pelo crtex visual
das imagens capturadas. O crebro processa as imagens captadas pela
crnea e as conecta criando uma iluso de movimento. Essa lgica de
interpretao a mesma utilizada para processamento de movimentos
reais, em que o crebro confunde o movimento de um objeto fsico,
real, e tangvel com o movimento aparente causado pela fonte
esttica[ANDERSON,J.FISHER,1978].
Foi realizado um experimento que ilustra a ideia de que a iluso
do movimento no condiz com a realidade. Duas imagens praticamente
idnticas, ambas contm um ponto desenhado, entretanto os pontos esto
em posies levemente deslocados entre si, so exibidas para um
espectador. Se o perodo de transio entre as duas imagens for de 200
ms ou maior, o espectador consegue observar as duas imagens e saber
que so distintas. Caso o perodo de transio for de 30 ms ou menos, o
espectador ver as duas imagens como se fossem a mesma imagem
esttica. Porm, se o perodo de transio for entre 30 ms e 200 ms, o
espectador observa a iluso que apenas um ponto desenhado de uma das
imagens se move de um lado para o outro [ANDERSON, J. ANDERSON, B,
1993]. Com isso, caso as imagens forem apresentadas sucessivamente
numa frequncia maior de 5 Hz a iluso de movimento ser criada, tendo
a ideia dapersistnciadaviso.4.LetreirodeLED
Um letreiro ou painel digital um conjunto de matrizes de LED
(Diodo Emissor de Luz), onde cada matriz possui um determinada
quantidade de LEDs disposto em linhas e colunas. Controlando a
corrente eltrica entre uma coluna e uma linha podemos acionar um
LED individualmente. Para criar uma figura ou uma caractere
necessrio um movimento rpido de uma sequncia de LEDs. Para
conseguir tal efeito o tempo com que os LEDs se atualizam
devesermenorqueotempodapersistenciadaviso.
A figura 4 representa o esquemtico de uma matriz de LED do tipo
ando comum, onde os LEDs so acionados aplicando uma tenso positiva
em suas linhas e um negativa em suas colunas(MARTINS,2010).
-
Figura4MatrizdeLEDandocomum(MARTINS,2010).
O principal motivo para que os LEDs sejam dispostos dessa
maneira a economia de pinos, porm a grande desvantagem que h a
necessidade de uma multiplexao de maior
complexidade,exigindomaisdosistemaquerealizaessafuno.
A multiplexao o processo de codificar informaes de duas ou mais
fontes de dados em um nico canal, o que se aplica perfeitamente uma
matriz de LED, pois, so trasmitidos a
informaode64LEDspor16pinosdeconexo(MARTINS,2010).
Para formar um caractere, a multiplexao far o acionamente de
determinados LEDs em uma coluna por um tempo determinado em linha.
Essa tcnica feita em todas a linhas de maneira a percorrer toda a
matriz. Essa atualizao deve ter um tempo menor que 30ms (ou
30Hz).
5. ImplementaodoProjeto
O projeto do letreiro digital controlado pelo microcontrolador
8051 foi primeiramente implementado na IDE MCU 8051, onde possvel
construir o cdigo do programa, compilar e
simularestemesmocdigoemmdulosqueoMCUpossui.
Para desenvolver o cdigo do programa utilizamos o conceito de
rotina e subrotina, ou seja, o programa dividido em rotinas onde
cada uma possui uma funo especfica, no decorrer
desuaexecuo,umarotinachamasubrotinasqueorganizameotimizamseucdigo.
Ocdigodoprogramafoiestruturadodaseguintemaneira:
RotinadePrincipal
Arotinaprincipalaquechamartodaassubrotinas,sendoelasparaconfiguraraserial,comear
a extrair a mensagem e para determinar quais LEDs da matriz do
letreiro digital devem acender.
-
Figura5FluxogramadaRotinaPrincipal.
RotinadeInicializao
A rotina de inicializao a primeira rotina a ser executada no
programa. Sua nica funo indicar o comeo da rotina principal, que no
o endereo 00ff em hexadecimal. A
prximainstruoaserexecutadaseralocalizadanesseendereo.
Figura6FluxogramadaRotinadeInicializao
RotinaparaConfigurarPortaSerial
Essa rotina possui somente duas funes, em que consiste em
configurar o temporizador/contador para fornecer a velocidade da
comunicao entre microcontrolador e a matriz. Outra funo a
configurao da porta serial para que o microcontrolador escreva a
mensagemnamatrizqueconstituioletreirodigital.
-
Figura7FluxogramadaRotinadeConfiguraodaPortaSerial
RotinadeExtrairMensagemEssa rotina ir indicar a referncia de
cada letra da mensagem. Basicamente, esta rotina
ir extrair a mensagem da memria de cdigo para a memria RAM
interna do microcontrolador.
Figura8FluxogramadaRotinadeExtrairMensagem
-
Figura9FluxogramadasEtapas1e2
RotinadeRedefinio
Essa rotina tem por funo redefinir o endereo da prxima letra que
ser mostrada no letreiro digital. Ela atualizar o acc (acumulador)
com o endereo da prxima letra da mensagem a ser mostrada e chamar a
subrotina defineEnd, que tem por funo definir o endereo da
primeiracolunadaletraasermostradanamatriz.
-
Figura10FluxogramadaRotinadeRedefinio.
-
Figura11FluxogramadaRotinadeDefiniodeEndereodaLetra.
RotinadeDeslocaLinha
Essa rotina tem por funo selecionar os LEDs que acenderam para
mostrar a mensagem. Basicamente ela enviaram a informao, atravs da
porta P2, de quais LEDs devem acender em uma linha da matriz, aps
isso a rotina de delay ser chamada para que ocorra um delay de 2ms,
que o tempo de atualizao da escrita de uma linha para a prxima na
matriz e tambm h uma verificao de final de linhas, ou seja, se
ainda h ou no linhas da matriz para escrever. Para a mudana de
palavras da mensagem, h um registrador R4 que incrementado at 254
e, quando chegar nesse tempo o registrador R0 incrementando e
chamar a rotina
deslocacolunaquetrataramudanaparaprximapalavraquesermostradanamatriz.RotinaDeslocaColuna
Essa rotina tem funo semelhante a rotina de desvio, porm suas
duas diferenas so que ao invs de preencher as linhas de uma matriz,
essa rotina ir enviar informao, atravs da porta P1, de quais LEDs
devem acender em uma coluna da matriz, aps isso a rotina delay
tambm chamada e tambm h a verificao se ainda h ou no colunas
escrever. Outra diferena que se caso o terminou o nmero de linhas,
ou seja, acabou a matriz, essa rotina chama a rotina
redefiniesparaqueaprximaletradamensagemsejamostrada.
-
Figura12FluxogramadaRotinadeDeslocaLinhaFigura13FluxogramadaDeslocaColuna
-
6. Resultadoobtidos
Com o cdigo do programa devidamente implementado, necessrio a
compilao do mesmo para linguagem de mquina. Nessa etapa verificado
pelo MCU se no cdigo h algum tipo de erro que deve ser tratado.
Caso no exista nenhum erro, o MCU, cria dentro da pasta onde est o
arquivo principal, um arquivo com a extenso .hex, que possui
palavras hexadecimaisquerepresentamocdigoemlinguagemdemquina.
Para temos uma simulao real de como se comporta todo o conjuntos
utilizamos o simulador de circuitos eletrnicos Proteus, que suporta
a leitura de arquivos .hex em microcontroladores. Alm disso, o
proteus um mdulo que permite a simulao de um terminal
decomunicaoserialquerecebercaracteresASCIIoostransmiteemumasequnciadebits.
Abaixoapresentamosoresultadoobtidonasimulao:
Figura14ResultadosObtidos
-
7. Concluso
Este trabalho apresentou o desenvolvimento de um Letreiro
Digital com o Microtrolador 8051, com o intuito de desenvolver
habilidades e a familiarizao com o mesmo. As facilidades
apresentadas por esse microcontrolador tornaram a tarefa de
implementar o projeto do letreiro
digitalestimulanteparaaconstruodenovosprojetos.
Os principais obstculos enfrentados no decorrer do projeto
foram, sem dvida, a absorvio do conceitos relacionados arquitetura
do microcontrolador 8051 e sobre a linguagem Assembly. Apesar
disso, todas essas dificuldades foram contornadas e a
concretizaodoprojetoobtevesucesso.
Concluise ento que os objetivos foram alcanado, pois, o
simulador exibiu como esperado a mensagem prdefinida e tambm
definida no terminal virtual, comprovando que o
programafoidesenvolvidodemaneiracorreta.
-
8. RefernciasBibliogrficas
[1]SILVA, M. R. S.: Painel de LED baseado em Arduino. 2013. 93
p. Monografia de concluso de Curso (Graduao em Cincias da Computao)
Universidade Estadual do Sudoeste da Bahia,Bahia.[2]MARTINS, R. O.:
Circuito controlador de disponibilidade de vagas em estacionamento.
2010. 83 p. Monografia de concluso de Curso (Engenharia de
Computao) Centro Universitrio de
Braslia,Braslia.[3]NICOLOSI,D.E.C.:.Microcontrolador8051Detalhado.SoPaulo:rica,2000[4]
ANDERSON, J. FISHER, B. The Myth of Persistence of Vision. Journal
of the University FilmAssociation,v.30,n.4,p.38,1978[5] ANDERSON,
J. ANDERSON, B. The Myth of Perssitense of Vision Revisited.
Journal of FilmandVideo,v.40,n.1,p.312,1993.[6] FERREIRA, P. ,
FERNNDEZLPEZ H, AFONSO, JA.: Sistema de Sensorizao Mvel e Controlo
baseado em ZigBee para Bicicletas Eltricas. 2012. 6 p. Artigo
Universidade de Minho,Guimares,Portugal.