microprocessador 8051 e letreiro digital

15
UTILIZAÇÃO DO MICROCONTROLADOR 8051 NO DESENVOLVIMENTO DE UM LETREIRO DIGITAL Mathias Silva da Rosa Guilherme Evangelista de Albuquerque Instituto Federal de Santa Catarina Instituto Federal de Santa Catarina São José, Brasil São José, Brasil [email protected] [email protected] Resumo Neste artigo é apresentado o desenvolvimento, com intuito didático, de um letreiro digital dispostos na forma de matriz, sendo esta matriz constitíuida por 8 linhas e 8 colunas, que será controlado por um microcontrolador da família Intel 8051. A escolha desse microcontrolador se baseou na sua estrutura funcional e na forma como é programado. O software desse projeto foi desenvolvido na IDE (Integrated Development Environment) MCU 8051 e foi utilizado o simulador de circuitos eletrônicos Proteus que possuem diversos módulos que foram essenciais no desenvolvimento do projeto. Palavra Chaves: Microcontrolador, Letreiro Digital. 1. Introdução A flexibilidade na utilização de microcontroladores faz com que essa tecnologia se torne uma alternativa atraente no gerenciamento de dispositivos eletrônicos. O 8051 é um microcontrolador flexível, fácil de usar e é utilizado em diversos equipamentos eletrônicos como controlador auxiliar. Esses motivos o fizeram ser a peça principal desse projeto. Ele como todo microcontrolador, tratase de um microprocessador desenvolvido para executar tarefas específicas e com linguagem de comando específica, no caso a linguagem Assembly, e trabalha em conjunto com módulos auxiliares (ROM, RAM, timers, serial), tudo integrado dentro de um mesmo chipe eletrônico (NICOLOSI, 2005). Para o início de qualquer projeto é necessário o conhecimento sobre a arquitetura, características e o modo como é programado o microcontrolador, sendo assim, o principal objetivo desse projeto é a familiarização com o mesmo. Nesse trabalho abordaremos de maneira breve todos os conceitos relacionados ao microcontrolador 8051. Um painel de LED (Light Emitting Diode) é um dispositivo que usa um conjunto de diodos emissores de luz para exibir dados e informações. Estes são muito utilizados na área de entretenimento (TV’s de LED e brinquedos), segurança (sinalizadores), publicidade(outdoors), entre outras. Com uma vasta e diversificada gama de aplicações, o desenvolvimento de um letreiro digital com LED’s permite que o aprendizado em microcontroladores se torne íntegro.

Upload: mathias-silva-da-rosa

Post on 18-Sep-2015

43 views

Category:

Documents


6 download

DESCRIPTION

Microprocessador 8051 e Letreiro Digital

TRANSCRIPT

  • 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.