of 59 /59
UNIVERSIDADE DO ESTADO DO AMAZONAS - UEA ESCOLA SUPERIOR DE TECNOLOGIA ENGENHARIA DE COMPUTA¸ C ˜ AO PABLO NUNES VARGAS SIMULANDO O TECLADO MUSICAL COM O MICROCONTROLADOR 8051 NO PROTEUS Manaus 2010

UNIVERSIDADE DO ESTADO DO AMAZONAS - UEAtiagodemelo.info/monografias/2010/tcc-pablo-vargas.pdf · V297s VARGAS, Pablo Nunes SIMULANDO O TECLADO MUSICAL COM O MICROCONTROLADOR 8051

  • Author
    others

  • View
    0

  • Download
    0

Embed Size (px)

Text of UNIVERSIDADE DO ESTADO DO AMAZONAS - UEAtiagodemelo.info/monografias/2010/tcc-pablo-vargas.pdf ·...

  • UNIVERSIDADE DO ESTADO DO AMAZONAS - UEA

    ESCOLA SUPERIOR DE TECNOLOGIA

    ENGENHARIA DE COMPUTAÇÃO

    PABLO NUNES VARGAS

    SIMULANDO O TECLADO MUSICAL COM O

    MICROCONTROLADOR 8051 NO PROTEUS

    Manaus

    2010

  • PABLO NUNES VARGAS

    SIMULANDO O TECLADO MUSICAL COM O MICROCONTROLADOR

    8051 NO PROTEUS

    Trabalho de Conclusão de Curso apresentado

    à banca avaliadora do Curso de Engenharia

    de Computação, da Escola Superior de

    Tecnologia, da Universidade do Estado do

    Amazonas, como pré-requisito para obtenção

    do t́ıtulo de Engenheiro de Computação.

    Orientador: Prof. M. Sc. Luiz Wanderley Nagata Balduino

    Manaus

    2010

  • ii

    Universidade do Estado do Amazonas - UEA

    Escola Superior de Tecnologia - EST

    Reitor:

    José Aldemir de Oliveira

    Vice-Reitor:

    Marly Guimarães Fernandes Costa

    Diretor da Escola Superior de Tecnologia:

    Mário Augusto Bessa de Figueirêdo

    Coordenador do Curso de Engenharia de Computação:

    Antenor Ferreira Filho

    Coordenador da Disciplina Projeto Final:

    Áurea Hiléia da Silva Melo

    Banca Avaliadora composta por: Data da Defesa: 07/12/2010.

    Prof. M.Sc. Luiz Wanderley Nagata Balduino (Orientador)

    Prof. M.Sc. Ricardo da Silva Barboza

    Prof. Esp. Salvador Ramos Bernardino da Silva

    CIP - Catalogação na Publicação

    V297s VARGAS, Pablo Nunes

    SIMULANDO O TECLADO MUSICAL COM O MICROCONTROLADOR 8051NO PROTEUS / Pablo Nunes Vargas; [orientado por] Prof. MSc. Luiz WanderleyNagata Balduino - Manaus: UEA, 2010.

    68 p.: il.; 30cmInclui Bibliografia

    Trabalho de Conclusão de Curso (Graduação em Engenharia de Computação).Universidade do Estado do Amazonas, 2010.

    1. Simulando o teclado musical com o microcontrolador 8051 no Proteus. 2.VARGAS, Pablo Nunes. 3. BALDUINO, Luiz Wanderley Nagata (orientador). 4.Teclado musical. 5. microcontrolador. 6. projetar.

    CDU: (1997) 004

  • iii

    PABLO NUNES VARGAS

    SIMULANDO O TECLADO MUSICAL COM O MICROCONTROLADOR

    8051 NO PROTEUS

    Trabalho de Conclusão de Curso apresentado

    à banca avaliadora do Curso de Engenharia

    de Computação, da Escola Superior de

    Tecnologia, da Universidade do Estado do

    Amazonas, como pré-requisito para obtenção

    do t́ıtulo de Engenheiro de Computação.

    Aprovado em: 07/12/2010BANCA EXAMINADORA

    Prof. Luiz Wanderley Nagata Balduino, Mestre

    UNIVERSIDADE DO ESTADO DO AMAZONAS

    Prof. Ricardo da Silva Barboza, Mestre

    UNIVERSIDADE DO ESTADO DO AMAZONAS

    Prof. Salvador Ramos Bernardino da Silva, Especialista

    UNIVERSIDADE DO ESTADO DO AMAZONAS

  • iv

    Agradecimentos

    Agradeço primeiramente aos meus pais pela

    oportunidade de estudar em outra cidade.

    Sem esquecer de todas as pessoas que aju-

    daram no meu processo de graduação.

  • v

    Resumo

    O entretenimento é uma atividade do cotidiano da sociedade, tanto para interagir

    com outras pessoas ou sozinho. Com a música é possivel realizar diversas atividades,

    assim como, ouvir, cantar, tocar e dançar. Os instrumentos musicais são responsáveis

    por ajudar a compor uma canção. Um desses instrumentos é o teclado musical, em

    que o instrumentista utiliza uma combinação de notas musicais para criar uma melodia.

    Por ser um instrumento musical de diversos recursos, o teclado musical é composto de

    componentes eletrônicos. Entre os diversos componentes eletrônicos um dos principais

    é o microcontrolador, sendo responsável por controlar as funções básicas do teclado. O

    presente trabalho tem como objetivo projetar um instrumento baseado na funcionalidade

    do teclado. Quando o usuário pressionar uma tecla será estabelecida uma onda pelo

    microcontrolador, no qual a frequência dessa onda é correspondente à frequência da nota

    musical apresentada no visor do display.

    Palavras Chaves: Teclado musical, microcontrolador, projetar e display.

  • vi

    Abstract

    The entertainment is an activity of everyday the society, both to interact with others

    people or alone. With the music it’s possible to do several activities, just like, listen,

    sing, play and dance. The musical instruments are responsible for helping to compose a

    song. One of these instrument is the musical keyboard, in which the performer uses a

    combination of musical notes to create a melody. Being a musical instrument of diverse

    resources, musical keyboard is composed of some electronic components. Amongst the

    various electronic components one of main is the microcontroller, being responsible for

    controlling the basic functions of the keyboard. The present monograph have like objective

    projecting an instrument based on the functionality of the keyboard. When the user press

    a one button will be established a wave by the microcontroller, in which the frequency

    of that wave is corresponding to the frequency of musical note presented in the display

    window.

    Key-words: Musical keyboard, microcontroller, project and display.

  • vii

    Sumário

    Lista de Figuras ix

    1 INTRODUÇÃO 1

    1.1 Apresentação do tema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    1.2 Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    1.3 Delimitação do tema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    1.4 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    1.4.1 Objetivos espećıficos . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    1.5 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    1.6 Visão geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    2 FUNDAMENTAÇÃO CONCEITUAL 5

    2.1 Oscilação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    2.1.1 Ondas sonoras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    2.2 Conceitos fundamentais de Eletrônica digital . . . . . . . . . . . . . . . . . 7

    2.2.1 Grandeza digital . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    2.2.2 Nı́veis lógicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    2.2.3 Formas de ondas digitais . . . . . . . . . . . . . . . . . . . . . . . . 8

    2.3 Apresentando os dispositivos eletrônicos . . . . . . . . . . . . . . . . . . . 9

    2.3.1 O microcontrolador 8051 . . . . . . . . . . . . . . . . . . . . . . . . 9

    2.3.2 Display de cristal ĺıquido . . . . . . . . . . . . . . . . . . . . . . . . 16

    2.3.3 Outros dispositivos utilizados . . . . . . . . . . . . . . . . . . . . . 20

    2.4 Ferramentas utilizadas no Projeto . . . . . . . . . . . . . . . . . . . . . . . 22

    2.4.1 Apresentando o compilador . . . . . . . . . . . . . . . . . . . . . . 22

    2.4.2 A ferramenta Proteus . . . . . . . . . . . . . . . . . . . . . . . . . 25

    3 METODOLOGIA 27

    3.1 Determinando o ńıvel lógico de acionamento das teclas . . . . . . . . . . . 27

  • viii

    3.1.1 Programando para determinar a tecla pressionada . . . . . . . . . . 30

    3.2 Configurando o display LM016L . . . . . . . . . . . . . . . . . . . . . . . . 30

    3.2.1 Programando o display para receber comandos e escrita pelo micro-

    controlador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    3.3 Gerando ondas no microcontrolador 8051 . . . . . . . . . . . . . . . . . . . 33

    4 RESULTADOS 35

    4.1 Interconexão do microcontrolador com os demais dispositivos . . . . . . . . 35

    4.2 Resultado das notas musicais no display . . . . . . . . . . . . . . . . . . . 36

    4.3 Resultado da onda gerada pelo microcontrolador . . . . . . . . . . . . . . . 37

    4.3.1 Análise da onda gerada pelo microcontrolador para a nota Dó . . . 37

    4.3.2 Análise da onda gerada pelo microcontrolador para a nota Ré . . . 39

    4.3.3 Análise da onda gerada pelo microcontrolador para a nota Mi . . . 39

    4.3.4 Análise da onda gerada pelo microcontrolador para a nota Fá . . . 40

    4.3.5 Análise da onda gerada pelo microcontrolador para a nota Sol . . . 41

    4.3.6 Análise da onda gerada pelo microcontrolador para a nota Lá . . . 41

    4.3.7 Análise da onda gerada pelo microcontrolador para a nota Si . . . . 43

    4.4 Custos dos dispositivos e análise provável do projeto implementado . . . . 43

    5 CONSIDERAÇÕES FINAIS E TRABALHOS FUTUROS 45

    Referências Bibliográficas 47

  • ix

    Lista de Figuras

    2.1 Faixa dos ńıveis lógicos. Fonte: [Esquemas.org.2010]. . . . . . . . . . . . . 8

    2.2 Pulsos ideais. Fonte: [Floyd.2007]. . . . . . . . . . . . . . . . . . . . . . . . 8

    2.3 Pulso não ideal. Fonte: [Floyd.2007]. . . . . . . . . . . . . . . . . . . . . . 9

    2.4 Arquitetura interna do microcontrolador 8051 representada por meio de di-

    agrama em blocos. Fonte: Manual Philips [Philips.2000]. . . . . . . . . . . 11

    2.5 Organização das regiões e blocos da memória acesśıveis no microcontrolador

    8051. Fonte: [Nicolosi and Bronzeri.2008] Adaptada. . . . . . . . . . . . . . 13

    2.6 Organização da Região DATA. Fonte: [Nicolosi and Bronzeri.2008] Adaptada. 14

    2.7 Encapsulamento do microcontrolador 8051. Fonte: Manual Philips

    [Philips.2000]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    2.8 Capacitores e Cristal interligados para gerar o clock de maquina. Fonte:

    [Nicolosi and Bronzeri.2008] Adaptada. . . . . . . . . . . . . . . . . . . . 16

    2.9 Arquitetura do display LM016L. Fonte: Manual LM016L [Hitachi.1998]. . . 17

    2.10 Representação em blocos da memória RAM e Registradores do display. . . 18

    2.11 Detalhe do controle de contraste do display LCD. Fonte: Apostila LCD

    [Barbaceda and Fleury.2010]. . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    2.12 Switch de 1 entrada e 7 sáıdas . . . . . . . . . . . . . . . . . . . . . . . . . 21

    2.13 Ativação do dispositivo de som . . . . . . . . . . . . . . . . . . . . . . . . 21

    2.14 Os processos de compilação de um programa em C ou Assembly . . . . . . 23

    2.15 Os processos de compilação do programa e as ferramentas utilizadas . . . . 24

    2.16 O compilador 8051 gerando os arquivos de simulação e emulação. . . . . . 25

    2.17 Ambiente da ferramenta ISIS 7 profissional Proteus . . . . . . . . . . . . . 26

    3.1 Determinando ńıvel lógico nas portas do microcontrolador . . . . . . . . . 28

    3.2 Mudança de Nı́vel lógico no “pino P1.3” determinado pelo ground . . . . . 29

    3.3 Estrutura do controlador de decisão e controlador de loop . . . . . . . . . . 30

    3.4 Interconexão entre o microcontrolador 8051 e o display LM016L . . . . . . 31

  • x

    3.5 Função de rotina para enviar comandos ao display LCD . . . . . . . . . . . 31

    3.6 Função para inicializar o display LCD com alguns comandos . . . . . . . . 32

    3.7 Função para escrever no display LCD . . . . . . . . . . . . . . . . . . . . . 32

    3.8 Programação para escrever no display . . . . . . . . . . . . . . . . . . . . . 33

    3.9 Método utilizado para gerar oscilação em uma onda . . . . . . . . . . . . . 34

    4.1 Interconexão entre o microcontrolador e os demais dispositivos . . . . . . . 36

    4.2 Resultado do display quando nenhuma tecla pressionada . . . . . . . . . . 37

    4.3 Resultado do display quando pressionada a tecla 1 do switch . . . . . . . . 37

    4.4 Análise da onda gerada pelo microcontrolador da nota Dó . . . . . . . . . 38

    4.5 Análise da onda gerada pelo microcontrolador da nota Ré . . . . . . . . . . 39

    4.6 Análise da onda gerada pelo microcontrolador da nota Mi . . . . . . . . . . 40

    4.7 Análise da onda gerada pelo microcontrolador da nota Fá . . . . . . . . . . 41

    4.8 Análise da onda gerada pelo microcontrolador da nota Sol . . . . . . . . . 42

    4.9 Análise da onda gerada pelo microcontrolador da nota Lá . . . . . . . . . . 42

    4.10 Análise da onda gerada pelo microcontrolador da nota Si . . . . . . . . . . 43

  • Caṕıtulo 1

    INTRODUÇÃO

    1.1 Apresentação do tema

    Ao longo da história da humanidade a música está presente e influente nas sociedades.

    Antigamente, para produzir uma música, as pessoas utilizavam pedaços de tronco de árvore

    oco, cobertos nas bordas com a pele de algum animal. Esse instrumento é chamado de

    tambor, sendo presente em diversas atividades festivas e religiosas das civilizações. Com

    o passar do tempo foram criados outros tipos de instrumentos musicais com uma enorme

    variação de modelos diferentes. Um desses instrumentos musicais é o teclado que surgiu na

    década de 60 e foi um dos primeiros constrúıdo com algum dispositivo eletrônico, porém

    era muito caro e pouco comercializado.

    Atualmente, com a queda de preço dos dispositivos eletrônicos utilizados na fabricação

    dos teclados, tornaram-se mais comercializados possuindo diversos recursos para o instru-

    mentista. O número de pessoas que utilizam o teclado musical aumentou e muitos passaram

    a ingressar no meio da música para gerar uma renda complementar ou até mesmo como

    única renda familiar. Outra questão importante é no aumento da coordenação motora e no

    racioćınio de crianças que aprendem a tocar teclado desde pequenas, devido à infinidade de

    recursos posśıveis em um teclado musical. Além disso pessoas com deficiência visual podem

    através desse instrumento torna-se independente e ajudar no processo de socialização, que

    é o caso de muitos instrumentistas cegos como o Ray Charles.

  • Justi�cativa 2

    Os principais recursos do teclado são os visores, os quais facilitam bastante o seu manu-

    seio com o feedback necessário para auxiliar uma criança no aprendizado fornecendo uma

    informação precisa da nota que esta sendo pressionada. Além disso alguns teclados pos-

    suem uma gama enorme de sons e efeitos tornando um atrativo a mais para crianças. Por

    essa variedade de recursos o teclado musical é um dos instrumentos mais importantes e

    utilizados para composição de uma música.

    O presente trabalho tem como objetivo projetar uma forma de gerar ondas em um

    determinado peŕıodo correspondendo às frequências das notas musicais e analisar as ondas

    geradas. O projeto funciona da seguinte forma: quando for pressionada uma tecla, é

    gerada uma onda durante um determinado peŕıodo, onde é estabelecida uma frequência

    de acordo com a da nota apresentada no visor. O funcionamento assemelha-se ao de um

    teclado musical. Assim como os teclados musicais outros instrumentos musicais eletrônicos

    são controlados por microcontroladores. O microcontrolador é o responsável por gerar a

    onda em uma determinada frequência. O visor é representado por um display de LCD que

    também é controlado pelo microcontrolador e o teclado é representado por um switch.

    Neste trabalho foi utilizado o microcontrolador 8051 devido a versatilidade dada ao

    projetista. O compilador utilizado é o SDCC, que pode ser utilizado para programação em

    linguagem C de microcontroladores que funcionam com palavras de 8 bits. Esse compilador

    foi utilizado associado ao compilador do microcontrolador 8051 onde neste compilador já

    fornece ao programador os arquivos para simulação e emulação. A linguagem utilizada

    para criar o programa foi a linguagem C, devido a sua facilidade de programação com

    microcontroladores. O display utilizado neste trabalho foi o LM016L.

    1.2 Justificativa

    Toda atividade nova praticada pelo ser humano estimula o trabalho do cérebro e ajuda

    no desenvolvimento da capacidade de racioćınio. Aprender a tocar instrumentos musicais

    são exemplos de práticas que contribuem para a saúde mental e coordenação motora. Essas

    atividades são muito mais importantes em crianças, elas aprendem a tocar um instrumento

    e melhoram o desempenho nas disciplinas escolares.

    Uma outra contribuição do aprendizado de instrumentos músicais, refere-se às pessoas

  • Delimitação do tema 3

    com deficiência visual, ajudando de maneira direta e indireta a inserir essas pessoas na

    sociedade, muitas vezes até mesmo na independência financeira do indiv́ıduo.

    Para composição de uma música diversos instrumentos podem ser utilizados e um desses

    instrumentos é o teclado, com seu funcionamento muito semelhante ao piano, que basica-

    mente emite sons de notas ao apertar uma tecla. A respeito dos problemas apresentados

    anteriormente, o presente trabalho tem como objetivo mostrar, com propósito de simulação,

    através da ferramenta Proteus um instrumento musical com funcionalidade semelhante à

    de um teclado musical para que futuramente possa ser implementado em uma placa de

    hardware.

    1.3 Delimitação do tema

    Esse trabalho tem atenção principal em projetar uma forma de gerar frequências, que

    estão de acordo com as frequências das notas musicais, através de programação no mi-

    crocontrolador. Um recurso deste projeto é o display, no qual apresenta no visor a nota

    musical quando o usuário pressionar uma tecla. Essas teclas são representadas por um

    switch.

    1.4 Objetivos

    O presente trabalho tem como objetivo projetar através da ferramenta de simulação

    Proteus uma forma de gerar ondas sonoras durante um determinado peŕıodo, onde as

    frequências dessas ondas deverão corresponder a frequência das notas musicais.

    1.4.1 Objetivos espećıficos

    a) Projetar através da ferramenta Proteus um esquemático do teclado musical com um

    microcontrolador, acoplado com um switch, display de LCD e um dispositivo de som, sendo

    capaz de emitir ondas sonoras com frequências correspondentes às notas musicais (Dó, Ré,

    Mi, Fá, Sol, Lá e Si) e mostrar para o usuário através do display a nota musical.

  • Metodologia 4

    b) Analisar as formas de ondas geradas pelo microcontrolador através de um osciloscópio

    na ferramenta Proteus.

    c) Analisar os custos para a implementação do projeto.

    1.5 Metodologia

    Primeiramente foi feita uma pesquisa bibliográfica referentes ao assunto deste trabalho.

    Em seguida, foi necessário “baixar” da internet os manuais de especificações dos disposi-

    tivos utilizados para realizar este projeto. Após essa parte de pesquisa, foi estabelecida

    a interconexão entre os dispositivos. Por último a programação no microcontrolador e os

    resultados obtidos da simulação.

    A metodologia utilizada neste projeto consiste em o microcontrolador 8051 da Philips

    através de estruturas de programação da linguagem C gerar uma oscilação na sáıda de

    um pino durante um determinando peŕıodo. No qual o peŕıodo dessa oscilação deverá cor-

    responder à nota da tecla pressionada no switch que representa o teclado. O teclado musical

    também terá o display de LCD LM016L onde o mesmo apresentará a nota pressionada e

    sendo controlado através do microcontrolador.

    1.6 Visão geral

    Além deste caṕıtulo introdutório, neste trabalho inclui o caṕıtulo dois no qual exibirá

    os fundamentação conceitual explicando teoria de f́ısica em relação à oscilação, conceitos de

    eletrônica digital, introdução aos dispositivos utilizados e ao compilador. O caṕıtulo três,

    refere-se à metodologia de como foi projeto para alcançar os objetivos. O caṕıtulo quatro,

    explanará os resultados obtidos das simulações realizadas. O caṕıtulo cinco apresenta uma

    breve conclusão e posśıveis trabalhos futuros e no caṕıtulo seis referencia-se aos livros e

    outros materiais utilizados para elaboração deste trabalho.

  • Caṕıtulo 2

    FUNDAMENTAÇÃO

    CONCEITUAL

    Este capitulo, resumidamente, apresentará fundamentos sobre conceitos básicos de os-

    cilação e eletrônica digital. Além de uma breve introdução a respeito do microcontrolador

    8051, do display LCD alfanumérico LM016L e dos demais dispositivos necessário para o

    projeto. Seguido de uma explicação dos processos e das ferramentas necessárias para a

    realização do experimento.

    2.1 Oscilação

    Segundo Haliday [d. Haliday et al.1996] oscilações são movimentos que se repetem.

    O formalismo matemático que descreve as oscilações não se aplicaapenas a objetos materiais, como cordas de violino e elétrons. Éusado também no estudo das ondas eletromagnéticas (luz, ondas derádio, raios X, raios gama, microondas). [d. HALLIDAY et al.1996,p.24]

    A frequência é uma propriedade do movimento oscilatório. Segundo Haliday [d. Haliday

    et al.1996], o número de oscilações que são completadas em cada segundo caracteriza o

  • Oscilação 6

    conceito de frequência. O śımbolo para frequência é a letra “f” e sua unidade SI é o hertz

    (abreviado como Hz). A formula para encontrar a frequência é:

    T = 1/f (2.1)

    A letra “T” representa o peŕıodo, que é o tempo para completar uma oscilação. Qual-

    quer movimento com intervalos regulares repetidos é chamado de movimento periódico ou

    movimento harmônico.

    2.1.1 Ondas sonoras

    De acordo Haliday [d. Haliday et al.1996], as ondas sonoras são equivalentes às ondas

    mecânicas que podem se propagar através de gases, ĺıquidos ou sólidos. O microcontrolador

    não é o responsável por emitir essas ondas, ele apenas gera as ondas. O responsável por

    emitir essas ondas é o dispositivo de som, mais especificamente o auto-falante. Essas ondas

    quando repetidas em intervalos regulares, como já foi citado anteriormente, forma um

    movimento periódico onde pode ser determinada uma frequência.

    2.1.1.1 Notas musicais

    As notas musicais utilizadas neste projeto consistem nas sete notas musicais sem varia-

    ção de escala. A nota musical nada mais é que uma onda que se propaga no ar com uma

    determinada frequência. Para que essa nota seja percebida pelo ouvindo de um ser humano

    é necessário que a frequência esteja na faixa de 20 Hz a 20.000 Hz. No caso deste projeto

    não é necessário que seja aprofundado o conceito de teoria musical, basta compreender

    a respeito das notas geradas em relação às frequências correspondente, apresentadas na

    Tabela 2.1 .

    Essas são as frequências que ocorrem as ondas digitais geradas pelo microcontrolador.

    Os conceitos relacionados a essas ondas e outros assuntos referente à eletrônica digital serão

    abordados em seguida.

  • Conceitos fundamentais de Eletrônica digital 7

    Tabela 2.1: As frequências das notas musicais. Fonte: Site da Universidade Tecnológica deMichigan Adaptada [Suits.2010].

    Notas musicais FrequênciasDó 261 HzRé 293 HzMi 329 HzFá 349 HzSol 392 HzLá 440 HzSi 493 Hz

    2.2 Conceitos fundamentais de Eletrônica digital

    Segundo Floyd [Floyd.2007] o termo digital é originado de como os computadores re-

    alizam operações, que é contando d́ıgitos. Ao longo do tempo as aplicações envolvendo

    eletrônica digital ficaram apenas aos sistemas computacionais. Atualmente, a tecnologia

    digital é aplicada em diversas áreas, como na saúde, no jornalismo e na música.

    2.2.1 Grandeza digital

    De acordo com Floyd [Floyd.2007] , uma grandeza digital é aquela que apresenta va-

    lores discretos. A vantagem de utilizar um sistema digital é que dados digitais podem

    ser processados e transmitidos de forma mais eficiente e confiável. Além disso é posśıvel

    armazenar um maior número de informações. Por exemplo, uma musica pode ser convertida

    para forma digital sendo armazenada de forma mais compacta e sua reprodução tem maior

    precisão.

    2.2.2 Nı́veis lógicos

    Segundo Floyd [Floyd.2007], as tensões utilizadas para representar os bits 1 e 0 são

    denominadas ńıveis lógicos. Teoricamente, um ńıvel de tensão representa o ńıvel alto e

    outro representa o ńıvel baixo. Porém na pratica cada ńıvel possuem um valor mı́nimo e

    máximo de tensão para que sejam considerados 1 ou 0. A Figura 2.1 ilustra a faixa de

    valores mı́nimo e máximo para os ńıveis lógicos no qual podem variar de acordo com a

    tensão de alimentação do dispositivo utilizado.

  • Conceitos fundamentais de Eletrônica digital 8

    Figura 2.1: Faixa dos ńıveis lógicos. Fonte: [Esquemas.org.2010].

    Observe que na Figura 2.1 que existe uma faixa limite para determinar se o nivel logico

    é 0 ou 1.

    2.2.3 Formas de ondas digitais

    Floyd [Floyd.2007] afirma que formas de ondas digitais consiste na mudança entre ńıveis

    lógicos 0 e 1. O pulso é uma forma de onda digital que pode ser negativo ou positivo. A

    Figura 2.2 exibe duas formas de pulsos.

    Figura 2.2: Pulsos ideais. Fonte: [Floyd.2007].

    Na Figura 2.2.a é forma do pulso positivo e na Figura 2.2.b é forma do pulso negativo.

    Observe que esses tipos de pulsos são ideais, pois as transições de ńıveis ocorrem instanta-

    neamente. No mundo real não ocorre essa transição instantânea de ńıveis, eles apresentam

    diversas caracteŕısticas. A Figura 2.3 é um exemplo de um pulso não ideal.

    As formas de ondas encontradas em sistemas digitais são compostas de uma serie de

    pulsos, segundo Floyd [Floyd.2007] denominadas de trem de pulsos. Essas formas de ondas

    podem ser periódicas e não periódicas. A forma de onda periódica é aquela na qual se

  • Apresentando os dispositivos eletrônicos 9

    Figura 2.3: Pulso não ideal. Fonte: [Floyd.2007].

    repete durante um peŕıodo. Através de cálculos matemáticos é posśıvel encontrar a fre-

    quência em que ocorre essa onda, como já foi visto anteriormente. A finalidade principal do

    microcontrolador é gerar essa forma de onda na frequência correspondente à nota musical.

    Esse microcontrolador e outros dispositivos serão vistos em seguida.

    2.3 Apresentando os dispositivos eletrônicos

    Esta seção visa compreender a respeito dos dispositivos eletrônicos utilizados para este

    projeto. Apresentando suas particularidades, funções, diagramas, arquiteturas internas,

    configurações e modo operações com intuito de melhor compreensão da metodologia uti-

    lizada.

    2.3.1 O microcontrolador 8051

    O microcontrolador utilizado no projeto é o da famı́lia 8051. Segundo Nicolosi e

    Bronzeri [Nicolosi and Bronzeri.2008], a respeito da origem e da famı́lia 8051.

  • Apresentando os dispositivos eletrônicos 10

    Herdeira do microcontrolador 8048, que trabalha com palavras de 4bits, foi introduzida nos anos 80 pela Intel. Desde então, o 8051 temsido um dos mais populares microcontroladores, possibilitando teruma vasta famı́lia no mercado, sendo hoje produzida por mais de 30fabricantes, com mais de 600 variações de chips! [NICOLOSI andBRONZERI.2008, p. 19]

    A partir do lançamento do microcontrolador pela Intel em 1977, o 8051 tem sido um dos

    mais utilizados causando uma enorme variação de chips. Devido a sua vasta variação de

    chips, em torno de seiscentas, podem apresentar conversores analógico digital, diferenças

    entre quantidades de memórias RAM, ROM, EPROM, modulação PWM e memória Flash.

    Variações em relação aos conversores A/D e D/A, comunicação SPI, IC, Ethernet, CAN,

    memórias EEPROM e clocks.

    O microcontrolador 8051 trabalha com palavras de 8 bits, atualmente existem micro-

    controladores de 16 bits utilizados principalmente em processamento digital de sinais e

    controle de sistemas em tempo real. além disso, é aplicado em uma diversidade de produ-

    tos eletrônicos no mercado e também possui uma versatilidade de recursos ao projetista.

    O seu alto desempenho e baixo custo tambem são fatores que agradam ao projetista. A

    função do microcontrolador neste projeto é de controlar o teclado musical.

    De acordo com manual de especificação da Philips [Philips.2000] os recursos t́ıpicos de

    um microcontrolador 8051 são os seguintes:

    • 64 Kbytes de memória para DATA e CODE.

    • 256x8 bytes de memória RAM, dividida entre a área de uso geral e registradoresespeciais.

    • Dois temporizador/contador de 16 bits.

    • Uma porta serial programável (UART).

    • Interface para memória esterna com capacidade de 64 Kbytes de endereçamento ex-terno de memória.

    • Quatro portas de entrada/sáıda dados

    • Seis possibilidades de interrupções com dois grupos de prioridades.

  • Apresentando os dispositivos eletrônicos 11

    A Figura 2.4 representa a arquitetura interna do microcontrolador 8051 na forma de

    diagrama em blocos. além disso é posśıvel notar na Figura 2.4 que todos os recursos t́ıpicos,

    apresentados anteriormente, de um microcontrolador 8051 estão nesse representante da

    famı́lia Philips.

    Figura 2.4: Arquitetura interna do microcontrolador 8051 representada por meio de diagramaem blocos. Fonte: Manual Philips [Philips.2000].

    2.3.1.1 Memória do microcontrolador

    De acordo com Nicolosi e Bronzeri [Nicolosi and Bronzeri.2008], o microcontrolador

    8051 trabalha com “palavras” de 8 bits, ou seja, 1 bytes é equivalente ao espaço 8 bits de

    caracteres na memória do microcontrolador. O tamanho da memória do microcontrolador

  • Apresentando os dispositivos eletrônicos 12

    é de 64 kbytes uma parte para manipulação e outra para armazenamento. Podendo-se

    estender caso haja uma memória externa junto ao microcontrolador.

    Como já foi mostrado anteriormente o microcontrolador possui memórias CODE e

    DATA, ou seja, memórias para código e memória para manipulação de dados. A área para

    memória externa é chamada de XDATA. Utiliza uma memória SRAM (RAM estática) e

    seu acesso efetiva-se ou pelo DPTR (Data Pointer Register) ou por registradores de forma

    indireta. Esse tipo de acesso utiliza de muitos ciclos de maquina porém no microcontrolador

    8051 é mais eficiente utilizar a memória DATA para melhor manipulação de dados, de

    acordo com Nicolosi e Bronzeri [Nicolosi and Bronzeri.2008].

    A organização da memória do microcontrolador baseia-se na Figura 2.5. Observação

    importante é que existem diversas maneiras de expressar conceitos das memórias do mi-

    crocontrolador 8051, devido a ficha de dados não apresentar a organização da memória. A

    Figura 2.5 é a forma de expressar a organização da memória segundo os autores Nicolosi e

    Bronzeri [Nicolosi and Bronzeri.2008].

    De acordo com Nicolosi e Bronzeri [Nicolosi and Bronzeri.2008], a memória CODE

    é o local onde armazena o programa executável. Nessa região, como mostra a Figura

    2.5, destina-se a 4 K de memória ROM para esse propósito. Essas memórias podem ar-

    mazenar dados fixos cujo programa utlizado para o teclado musical acessará. Lembrando

    que memórias do tipo ROM são apenas para fazer leitura de dados. Existem outras formas

    de armazenar o programa executável. Por exemplo, utilizando uma memória SRAM, RAM

    interna ou DRAM. Porém caso ocorra uma “queda” de energia, o programa armazenado é

    “perdido” tendo que armazena-lo novamente. Já no caso da memória ROM esse problema

    não ocorre, pois ele é não volátil. Deve-se levar em conta que esses diferentes tipos de

    armazenamento, podem depender do propósito geral do projeto em relação a sua comple-

    xidade.

    Segundo Nicolosi e Bronzeri [Nicolosi and Bronzeri.2008], A memória DATA é o local

    onde ocorre a manipulação de dados. A RAM armazena temporariamente os dados, por

    exemplo, para manipularmos um display. Sempre que um botão for acionado, o display

    realizará leitura e escrita para gerar novos dados em seu visor. Essa área DATA é dividia

    em regiões e sub-regiões, como mostra a Figura 2.6.

  • Apresentando os dispositivos eletrônicos 13

    Figura 2.5: Organização das regiões e blocos da memória acesśıveis no microcontrolador 8051.Fonte: [Nicolosi and Bronzeri.2008] Adaptada.

    2.3.1.2 Representação, particularidade e funções dos pinos externos

    Para apresentar as configurações dos pinos externos do microcontrolador observe a

    Figura 2.7 com os dois tipos de encapsulamentos do microcontrolador 8051 da Philips.

    Na Figura 2.7, é listado os pinos do microcontrolador com seus respectivos nomes.

    Observe que alguns apresentam mais de um nome, ocorre devido alguns pinos apresentarem

    mais de uma função.

    Segundo Nicolosi e Bronzeri [Nicolosi and Bronzeri.2008], as portas P0 e P2 disponibi-

    lizam interface com memórias externas, servindo para multiplexar os bits dos endereços.

    A porta P0, manipula os dados e emite a parte menos significativa dos endereços. Outra

    particularidade dessa porta P0, é que unicamente ela não apresenta resistores pull-up, ou

    seja, quando não utilizada para as funções de memória externa pode ser utilizada para

    interligar dispositivos, por exemplo, um display de LCD. A parte mais significativa dos

  • Apresentando os dispositivos eletrônicos 14

    Figura 2.6: Organização da Região DATA. Fonte: [Nicolosi and Bronzeri.2008] Adaptada.

    endereços da memória externa é responsabilidade da porta P2.

    De acordo com o manual da Philips [Philips.2000], o microcontrolador possui quatro

    portas bidirecionais, como mostra a figura anterior, onde cada uma apresenta oito pinos.

    Todas portas podem funcionar como entrada e sáıda de dados, porém algumas apresentam

    particularidades como as descritas no parágrafo anterior. É através de uma dessas portas

    que é gerado a onda no microcontrolador.

    Os pinos da porta P3 são utilizados para realizar certas funções especiais que não é

    fundamental para este trabalho. A porta P1 não destaca nenhuma particularidade em

    relação as outras.

    Após ser apresentado as portas do microcontrolador, serão discutidas resumidamente

    os restantes dos pinos e suas funções de acordo com Calcutt [Calcutt et al.1998]. O pino de

    reset, intitulado de RST, é utilizado para reset quando esse pino é colocado em ńıvel lógico

    1 durante dois ciclos de máquina. O pino ALE/PROG é conhecido como pino de controle

    de acesso à memória externa, sendo responsável por permitir fazer a demultiplexação de

    dados e endereços na porta P0. O pino PSEN quando está em ńıvel 0 ou seja ativo, indica

    leitura de uma instrução na área de programa. O Pino de acesso externo, intitulado de

  • Apresentando os dispositivos eletrônicos 15

    Figura 2.7: Encapsulamento do microcontrolador 8051. Fonte: Manual Philips [Philips.2000].

    EA/VPP, quando ligado em ńıvel lógico 1, fará a execução de programas localizado na

    memória interna ou caso esteja ligado em ńıvel lógico 0, o microcontrolador apenas fará

    leitura da memória externa. Os pinos XTAL1 e XTAL2 são pinos que geram clock padrão

    para o microcontrolador, para gerar esse clock é necessário a utilização de 2 capacitores e

    1 cristal conforme mostrado na Figura 2.8. O valor do cristal é de 12 MHz e proporciona

    ciclo de maquina de 1 ms.

    2.3.1.3 Registradores especiais

    Os registradores especiais estão localizados em uma região da memória RAM interna,

    mais especificamente entre o intervalo de endereços 128 e 255 como mostrado na Figura

    2.5. Esse intervalo de endereços pode ser acessado de forma direta, ou seja, de bit a bit.

    Os registrados especiais estão resumidamente apresentados na Tabela 2.2.

    Para este projeto não é necessário compreender detalhadamente a respeito de cada

    um desses registradores que estão na Tabela 2.2. Basta saber que as ondas geradas pelo

    microcontolador serão através dos registradores da P2.

  • Apresentando os dispositivos eletrônicos 16

    Figura 2.8: Capacitores e Cristal interligados para gerar o clock de maquina. Fonte: [Nicolosiand Bronzeri.2008] Adaptada.

    Tabela 2.2: Registradores que permitem controlar os temporizadores. Fonte: [Nicolosi andBronzeri.2008] Adaptada.

    Registradores Especiais FunçõesACC Acumulador

    P0, P1, P2 e P3 Registradores dos pinos de comunicaçãoB Registrador utilizado nas

    instruções de multiplicar e dividirPSW Registrador do estado da ultima operação

    (Program Status Word) lógica e aritméticarealizada no acumulador

    IP e IE Registradores associados as interrupções(Interrupt Priority e Interrupt Enable) do microcontrolador

    DPH e DPL Ambos formam um registrador(Data Pointer High de 16 bits chamado dee Data Pointer Low) DPTR (Data pointer)SP (Stack Pointer) Ponteiro da Pilha

    PCON Altera modos de funcionamento(Power Control Register) da pastilhaSBUF (Serial Buffer) e Registradores associados

    SCON (Serial Port Control Register) a porta serialTH0, TL0, TH1 e TL1 Registradores associados

    (Timer High e Timer Low, 0 e 1) aos temporizadoresTCON Registrador que permite controlar

    (Timer Control Register) os temporizadoresTMOD Registrador que permite programar

    (Timer Mode Register) os modos dos temporizadores

    2.3.2 Display de cristal ĺıquido

    O display de cristal ĺıquido é um painel de pouca espessura usado para exibir dados por

    via eletrônica, como texto, imagens e v́ıdeos. Os displays de cristal ĺıquido são versáteis,

  • Apresentando os dispositivos eletrônicos 17

    apresentam custo razoável e oferecem um baixo consumo. No passado, o uso desse display

    não era tão grande devido à complexidade dos sinais de controle que deveriam ser gerados.

    Com o advento da famı́lia de controladores LCD da Hitachi, houve uma grande difusão

    desses dispositivos, gerando um padrão largamente aceito.

    Existem basicamente dois módulos de displays LCD’s, os alfanuméricos e os gráficos.

    Além disso apresenta transferência paralela ou serial. O display utilizado no projeto possui

    modulo alfanumérico e transferência paralela.

    O display LCD LM016L utilizado neste projeto, tem possibilidade de acoplar-se com

    microcontroladores que trabalham com quatro ou oito bits de palavras, que é o caso do

    microcontrolador 8051. Esse display, de acordo com o manual da Hitachi [Hitachi.1998],

    possui modulo alfanumérico de 2 linhas e 16 colunas, podendo gerar ate 80 tipos de ca-

    racteres que estão armazenados em uma DDRAM interna de 80 bytes. O tamanho do

    caractere pode ser de 5x7 ou 5x10 pontos. Nesse tipo de display o“mostrador”não consegue

    visualizar totalmente a memória RAM, ou seja, ele “enxerga” os dados como uma analogia

    da visão que temos por uma janela.

    2.3.2.1 A arquitetura interna do display

    A arquitetura do display LM016L esta representada na forma de diagrama na Figura

    2.9 que foi retirada do manaul do display LM016L da Hitachi [Hitachi.1998].

    Figura 2.9: Arquitetura do display LM016L. Fonte: Manual LM016L [Hitachi.1998].

    O display LM016L possui um controlador HD44780 e um driver HD44100, representados

    na Figura 2.9, respectivamente pelos blocos LCD II e IC. Neste projeto não é conveniente

  • Apresentando os dispositivos eletrônicos 18

    entrar em detalhes para explicar como funciona esse controlador e driver do LM016L. A

    tabela de códigos e formação de caracteres do HD44780 este presente no Apêndice A.

    O display e o microcontrolador comunicam-se em ASCII, de acordo com o hexadecimal

    do número binário relacionados no Apêndice A. A memória interna do display, no qual são

    armazenados os caracteres ASCII, é apresentada na Figura 2.10. A CGRAM é uma região

    da memória utilizada para gerar caracteres especiais (ç, é, ã e outros).

    Figura 2.10: Representação em blocos da memória RAM e Registradores do display.

    2.3.2.2 Os pinos externos do display, particularidades e funções

    Voltando na Figura 2.9, observe que na esquerda estão representados os pinos do

    LM016L porém não estão enumerados e alguns pinos foram ocultados. Para melhor com-

    preensão observe a Tabela 2.3, apresentando os número dos pinos, seus nomes e funções.

    Segundo Ayala [Ayala.2006], o pino intitulado “RS” é responsável pelo tipo de infor-

    mação que está sendo armazenada, por exemplo, se é uma instrução para que o micro-

    processador realize algum comando do display ou se é um dado que o display tem que

    “mostrar”. O pino R/W quando esta em ńıvel lógico um faz a leitura dos registradores in-

    ternos do display, já em ńıvel lógico 0 realiza um escrita ou comando no display. O pino E

    é responsável por receber a informação. Os pinos de DB0 a DB7 são pinos de comunicação

    com o meio exterior, é através deles que “dados” ou “instruções” trafegam. No caso de

    ajuste do contraste do display é necessário o uso dos componentes encontrados na Figura

    2.11.

  • Apresentando os dispositivos eletrônicos 19

    Tabela 2.3: Funções dos pinos do display LM016L. Fonte: Manual do display LCD LM016L[Hitachi.1998] Adaptada.

    Número do pino Nome Função1 VSS2 VO Alimentação3 VDD4 RS Seleciona Registador. (Instrução ou dados)5 R/W Opção de Escrita ou Leitura6 E Habilitação do dispositivo7 DB08 DB19 DB210 DB311 DB4 Via de comunicação de 8 bits12 DB513 DB614 DB7

    Figura 2.11: Detalhe do controle de contraste do display LCD. Fonte: Apostila LCD [Barbacedaand Fleury.2010].

    Em seguida a definição dada por Nicolosi e Bronzeri [Nicolosi and Bronzeri.2008] a

    respeito do display LCD.

  • Apresentando os dispositivos eletrônicos 20

    Um display é um “periférico inteligente”, que tem outro micropro-cessador dentro dele e que “fala” com o mundo externo em 8 bits(tem alguns de 4 bits). Ele tem um pino intitulado “RS” para dizerse o que estamos apresentando para o display é um “dado” ou uma“instrução de programação”. Temos sempre que iniciar o display“programando-o”, isto é, fazendo com que ele “entenda” o que vaireceber em seguida à sua ligação e como vai apresentar no seu visor(que ocorre em seguida à programação realizada) os dados de escrita.[NICOLOSI and BRONZERI.2008, p. 146]

    2.3.2.3 Comandos básicos do display

    O display de cristal ĺıquido possui diversas instruções que realizam comandos. Essas

    instruções estão localizadas no registrador de controle e são enviadas através do microcon-

    trolador. São acessadas de acordo com a variação do ńıvel lógico 0 ou 1, dos pinos RS,

    R/W, DB0, DB1, DB2, DB3, DB4, DB5, DB6 e DB7. Essas variações do ńıvel lógico dos

    pinos e comandos pode ser encontrada no Apêndice B deste trabalho.

    2.3.3 Outros dispositivos utilizados

    Após uma introdução a respeito do microcontrolador e do display, serão apresentados

    o teclado e o dispositivo de som utilizado no projeto.

    2.3.3.1 O teclado

    Para a representação do teclado no experimento é utilizado um switch. O switch possui

    diversas traduções para o português, mas a utilizada nesse projeto é de troca. A Figura

    2.12 representa o switch da ferramenta de simulação Proteus.

    O funcionamento desse dispositivo é bem simples, observe na Figura 2.12 que do lado

    esquerdo, ou seja, na entrada apresenta apenas um pino e do lado direito, ou seja, na sáıda

    7 pinos. O pino 8 determina o ńıvel lógico, 0 ou 1, na sáıda dos pinos de 1 a 7 quando um

    ou mais forem pressionados. Por exemplo, imagine que no pino 8 esteja em ńıvel lógico 0,

    caso algum pino esteja ativado, ou seja, trocado para “on” a sáıda desse pino será de ńıvel

    lógico 0.

  • Apresentando os dispositivos eletrônicos 21

    Figura 2.12: Switch de 1 entrada e 7 sáıdas

    2.3.3.2 O Dispositivo de som

    O dispositivo de som é responsável por emitir as ondas geradas pelo microcontrolador.

    A qualidade e potência do som vão depender do propósito da aplicação, para efeito apenas

    de simulação o dispositivo de som utilizado será semelhante ao utilizado em brinquedos e

    campainhas. O auto-falante é o responsável por emitir as ondas que forem geradas pelo

    microcontrolador. A Figura 2.13 representa o dispositivo de som utilizado no projeto.

    Figura 2.13: Ativação do dispositivo de som

    Observe na Figura 2.13 que o dispositivo de som utiliza mais 4 componentes eletrônicos,

    que são 2 resistores, um transistor BC327 e o auto-falante. A palavra “OUT ” representa

  • Ferramentas utilizadas no Projeto 22

    a sáıda da frequência gerada pelo microcontrolador. Após apresentados brevemente os

    principais dispositivos deste projeto. É importante apresentar as ferramentas e os processos

    de compilação utilizados neste projeto.

    2.4 Ferramentas utilizadas no Projeto

    Os objetivos deste tópico é apresentar o compilador utilizado no programa que está no

    Apendice C, descrever os processos de compilação utilizado para elaborar um programa

    para microcontroladores e apresentar a ferramenta de simulação do teclado.

    2.4.1 Apresentando o compilador

    A função do compilador é traduzir o código em C para Assembly tornando o código

    numa linguagem compreendida pelo microcontrolador e após realizar essa tarefa invocar o

    montador e o linker. O compilador associado a essas outras ferramentas tem como finali-

    dade gerar códigos para realização da simulação e emulação do arquivo a ser transmitido

    para o microcontrolador. Além disso após a compilação outros arquivos são gerados porém

    para este projeto não é fundamental comentar sobre esses arquivos.

    A Figura 2.14 representa os processos que ocorrem durante a compilação de um código

    em C ou Assembly.

    Com o intuito de entender esses processos dos arquivos gerados para simulação e emu-

    lação, desde a criação do programa, observe o primeiro bloco “Editor de Texto” na Figura

    2.14. Para escrever o código do programa é necessário utilizar um editor de texto. Caso

    o programador esteja utilizando a linguagem C para escrever o programa, é necessário

    utilizar um compilador para gerar o código em C para um código relativo em Assembly

    tornando assim esse código compreendido em linguagem de maquina. Após esse processo

    o montador fica responsável por montar os arquivos traduzidos pelo compilador. O linker

    gera outros arquivos como o mapa da memoria, onde não é de suma importancia destacar.

    O arquivo para simulação tem extensão de “.hex”, já o utilizado para ser emulado tem

    extensão “.bin”.

  • Ferramentas utilizadas no Projeto 23

    Figura 2.14: Os processos de compilação de um programa em C ou Assembly

    2.4.1 O compilador SDCC

    O SDCC (Small Device C Compiler) é um compilador de domı́nio publico, totalmente

    direcionado para a programação de microcontroladores que utilizam palavras de 8 bits e

    é distribúıdo pela GNU General Public License. Esse compilador é freeware e suportado

    em plataformas linux, MAC OS e Microsoft Windows. Além da famı́lia de microcontro-

    lador 8051, o SDCC é suportado pelas famı́lias de microcontroladores Zilog Z80, variações

    da Dallas DS80C390 e PIC. As informações anteriores foram retiradas do site oficial do

    compilador SDCC [Dutta.2010].

    Para gerar os arquivos de simulação e emulação do programa é necessário uma serie de

    processos e ferramentas funcionando juntos com o SDCC. A Figura 2.15 exibe os processos

  • Ferramentas utilizadas no Projeto 24

    que ocorrem durante a compilação de um programa em C ou Assembly e uma adaptação

    com as ferramentas utilizadas juntos ao compilador.

    Figura 2.15: Os processos de compilação do programa e as ferramentas utilizadas

    Para escrever o programa é utilizado o editor “Jens’ file editor”. Como foi visto anteri-

    ormente, caso o programador esteja utilizando a linguagem C para escrever o programa, é

    necessário a utilização de um compilador que neste projeto foi o compilador SDCC. Após

    esse processo de compilação, foi utlizado o montador assembler e o linker que é o link-editor.

    No qual será gerado diversos arquivos após a compilação.

    A junção de todas essas ferramentas é chamado de compilador 8051, onde pode ser

    encontrada o site da empresa Neurotrend [Neurotrend.2010]. A tarefa é simples do ponto

    de vista do usuário dessa ferramenta. Apenas terá o trabalho de escrever o código na

    linguagem preferida, salvar com a extensão da linguagem e depois clicar em “compilar”

    gerando os arquivos de simulação e emulação como mostrado na Figura 2.16.

  • Ferramentas utilizadas no Projeto 25

    Figura 2.16: O compilador 8051 gerando os arquivos de simulação e emulação.

    O código está salvo em extensão “.c”, ou seja, é um programa em linguagem de progra-

    mação C e a parte circulada de vermelho da Figura 2.16 é onde o programador clica para

    compilar, gerando os arquivos de simulação e emulação. Na parte circulada de amarelo

    exibe o resultado da compilação, caso haja algum erro no programa será apresentando

    nessa parte.

    2.4.2 A ferramenta Proteus

    O Proteus é uma ferramenta desenvolvido pela empresa inglesa Labcenter Electro-

    nics que agrega o ambiente de simulação de circuitos eletrônicos ISIS e o programa para

  • Ferramentas utilizadas no Projeto 26

    desenho de circuito impresso Ares professional. O projeto esquematico deste trabalho

    utiliza o ambiente ISIS profissional da versão 7. O Proteus é um software para simulação

    de microprocessadores, captura esquemática, e placa de circuito impresso (PCB design).

    Informações retiradas do site da empresa Labcenter [LabcenterElectronics.2010]

    A Figura 2.17 mostra o ambiente da ferramenta Proteus ISIS.

    Figura 2.17: Ambiente da ferramenta ISIS 7 profissional Proteus

    Ao clicar no botão que está na parte circulada em azul da Figura 2.17, abrirá uma nova

    janela com os componentes desejados para a simulação. Após adicionar os componentes

    no esquematico, o botão que está no circulo vermelho executa a simulação.

  • Caṕıtulo 3

    METODOLOGIA

    Este caṕıtulo refere-se aos métodos empregados para elaboração deste projeto. Após a-

    presentar conceitos teóricos dos dispositivos e demais ferramentas utilizadas, é necessário

    demonstrar como chegar ao resultado final demonstrado para cada dispositivo o modo de

    operar. Os tópicos principais abordados são referentes ao acionamento das teclas, confi-

    guração do display, como gerar ondas no microcontrolador e a programação envolvida.

    3.1 Determinando o ńıvel lógico de acionamento das

    teclas

    O teclado será representado por um switch como já foi visto anteriormente. O ńıvel

    lógico de acionamento das teclas é em 0, determinado devido as portas do microcontro-

    lador 8051, quando não utilizadas, estarem sempre senśıveis a ńıvel lógico 0. Para que

    entenda melhor como determinar que tecla está sendo pressionada, observe na Figura 3.1

    a interconexão entre o microcontrolador e o switch na ferramenta Proteus.

    Observe na Figura 3.1, que na entrada do switch está ligado em ńıvel lógico 0 deter-

    minada através do ground, representado pela cor azul no pino 9 do switch. As sáıdas e a

    porta 1 do microcontrolador estão determinadas em ńıvel lógico 1, representado pela cor

    vermelha. Para entender o que acontece no momento da troca do pino 3 para “on” nas

    teclas do switch, veja o mesmo esquema montado no Proteus da Figura 3.1 agora na Figura

  • Determinando o nível lógico de acionamento das teclas 28

    Figura 3.1: Determinando ńıvel lógico nas portas do microcontrolador

    3.2 com apenas uma modificação que é o pino 4 sendo ativada.

    Observe na Figura 3.2, que houve uma mudança de ńıvel lógico no pino P1.3 do micro-

    controlador correspondendo a ativação do pino 4 do switch. Essa mudança foi determinada

    pelo ground na entrada do switch, tornando o pino que estiver ativado em de ńıvel lógico

    1 para ńıvel lógico 0. Desta forma pode-se determinar qual tecla será pressionada pelo

    usuário através da programação do microcontrolador. Caso mais de uma pino seja ativado,

    o ńıvel lógico mudará em todos os pinos relacionados do microcontrolador sempre de acordo

  • Determinando o nível lógico de acionamento das teclas 29

    com a entrada do switch que nesse caso está em ńıvel lógico 0. Então é conveniente dizer

    que as sáıdas do switch determina qual a tecla está sendo pressionada no microcontrolador

    deste projeto.

    Figura 3.2: Mudança de Nı́vel lógico no “pino P1.3” determinado pelo ground

  • Con�gurando o display LM016L 30

    3.1.1 Programando para determinar a tecla pressionada

    Como pode ser visto as portas do microcontrolador são senśıveis a ńıvel lógico 0, de

    acordo com Nicolosi e Bronzeri [Nicolosi and Bronzeri.2008]. Para programar basta deter-

    mina uma estrutura de controle de decisão. Observe na Figura 3.3 como é um programa

    para determinando se o ńıvel lógico 0 foi ativado no pino P1.3 do microcontrolador

    Figura 3.3: Estrutura do controlador de decisão e controlador de loop

    Dessa forma é posśıvel determinar para Figura 3.2 que está ativado o pino P1.3 em

    ńıvel lógico 0, realizar o procedimento contido na estrutura de controle while que está na

    Figura 3.3. Caso o programador queira verificar se os demais pinos está em ńıvel lógico 0,

    basta criar uma estrutura de controle, como a apresentada na Figura 3.3, para cada pino

    utilizado da porta desejada.

    3.2 Configurando o display LM016L

    Este projeto tem como um dos objetivos ilustrar através do display qual nota está

    sendo pressionado no teclado, com finalidade de disponibilizar melhor visibilidade quando

    o usuário utilizar o teclado musical. Para que isso seja posśıvel, primeiro será necessária

    mostrar a interconexão do display ao microcontrolador que ambos já foram apresentados

    separadamente no caṕıtulo 2.

    Observe na Figura 3.4 como é feito a interconexão entre o microcontrolador e o display

    LM016L de acordo com Bronzeri e Nicolosi [Nicolosi and Bronzeri.2008]. Além do display

    e do microcontrolador outros componentes são necessários. O potenciômetro é respon-

    sável por controlar o contraste do display. Os demais componentes são necessários para o

    funcionamento real do display.

  • Con�gurando o display LM016L 31

    Figura 3.4: Interconexão entre o microcontrolador 8051 e o display LM016L

    3.2.1 Programando o display para receber comandos e escrita

    pelo microcontrolador

    A rotina de envio de comandos do display é representada por uma função chamada

    de “comandosLCD”. Através dessa função é posśıvel realizar os comandos que estão no

    Apêndice B. A Figura 3.5 é o código em C para que seja enviados comandos ao display.

    Figura 3.5: Função de rotina para enviar comandos ao display LCD

    Observe na Figura 3.5 que é a criação da funçao de rotina “comandosLCD” no qual

  • Con�gurando o display LM016L 32

    representa a forma em que serão enviados os comandos. Para que o programador envie

    os comandos que ele desejar, observe a Figura 3.6 com a função onde o microcontrolador

    envia alguns comandos ao display.

    Figura 3.6: Função para inicializar o display LCD com alguns comandos

    A Figura 3.6 apresentam alguns comandos do display chamada através da função “co-

    mandosLCD” que a mesma já foi apresentada na Figura 3.5. Ainda na Figura 3.6 os

    comandos utilizados neste código estão em hexadecimal e como ja foi dito estão represen-

    tados no Apêndice B. Caso o programador queira utilizar outros comandos do display basta

    transformar os comandos representados em binários na tabela encontrada no Apendice B

    para hexadecimal e colocar na estrutura da função “comandosLCD” .

    A função para escrever no display é mais simples. Observe a Figura 3.7 com o código

    em C da função de escrever no display.

    Figura 3.7: Função para escrever no display LCD

    Nesta Figura 3.7, onde contém o código em C para escrever num display, mostra a

    função escrever. Para que o programador escreva no display será necessário “chamar”, no

  • Gerando ondas no microcontrolador 8051 33

    programa principal, esta função e entre os parênteses da função escrever a palavra, entre

    aspas duplas, que deseja aparecer no display.

    Após apresentar as funções de rotina de enviar comandos, inicializar e escrever em um

    display, observe na Figura 3.8 como é feito para escrever a nota musical em relação à tecla

    pressionada no switch e para quando não houver tecla pressionada.

    Figura 3.8: Programação para escrever no display

    Na Figura 3.8, o código contido no quadrado vermelho é quando não houver nenhuma

    tecla pressionada, sugerindo no visor a frase “Pressione uma tecla”. O código contido no

    quadrado azul é para quando o usuário pressionar a tecla (correspondente ao pino P1.1

    do microcontrolador), apresentando no visor a “Nota Do”. Dessa forma então é posśıvel

    escrever as notas de acordo com a tecla pressionada.

    3.3 Gerando ondas no microcontrolador 8051

    O método utilizado é oscilar constantemente a sáıda de um pino do microcontrolador

    8051 entre ńıveis lógicos 0 e 1 atráves dos registradores especiais da P2, sendo que para

    o intervalo da mudança de ńıveis lógicos é determinado um tempo igual de duração. O

    tempo que é “gasto” pelos dois ńıveis lógicos forma uma onda digital periódica. Os tempos

  • Gerando ondas no microcontrolador 8051 34

    do intervalo “gasto” pelos dois ńıveis lógicos então é chamado de peŕıodo. O inverso desse

    peŕıodo é a frequência onde essa frequência corresponde a uma nota musical.

    Basicamente o microcontrolador gera uma oscilação entre os ńıveis lógicos durante um

    intervalo de tempo, a frequência gerada depende do tempo “gasto” em cada ńıvel lógico. O

    maior problema em trabalhar desta forma é que o microcontrolador possui um clock interno

    onde cada ciclo de maquina demora cerca de 1 ms e o ciclo de maquina de cada instruçao

    lida no programa é diferente pois o compilador primeiro traduz o codigo em linguagem C

    para Assembly. A alternativa encontrada foi analisar através de osciloscópio a frequência

    gerada a cada tempo gasto pelos ńıveis lógicos e aproximar ao máximo da frequência

    correspondente a nota, no qual foi determinado pela programação de uma estrutura de

    controle for.

    Observe a Figura 3.9, contendo o código com o método utilizado para gerar ondas

    digitais periódicas no microcontrolador.

    Figura 3.9: Método utilizado para gerar oscilação em uma onda

    Observe na Figura 3.9 que a variável z no código oscila entre os valores 0 e 1 gerando

    uma onda periódica na sáıda do pino P2.0 do microcontrolador. Há uma estrutura for,

    na figura anterior, para cada ńıvel lógico, com o mesmo tempo “gasto” para cada uma.

    A frequência gerada por esse tempo “gasto” é correspondente a nota Dó médio. Para as

    demais notas as estruturas de controle for, tiveram que ser testados com valores aleatórios

    para determina a frequência correspondente as notas. As estruturas são encontradas no

    Apêndice C junto com o restante do codigo fonte principal do programa.

  • Caṕıtulo 4

    RESULTADOS

    Neste caṕıtulo serão apresentados os resultados obtidos do esquema montado, na fer-

    ramenta Proteus, entre o microcontrolador 8051, o display LCD LM016L, o switch e

    do dispositivo de som através da metodologia utilizada no projeto. Primeiramente será

    mostrada a interconexão entre o microcontrolador e os demais dispositivos. Em seguida,

    serão mostrados os resultados das notas no visor do display através de um osciloscópio,

    analisado as ondas geradas pelo microcontrolador e o custo dos dispositivos.

    4.1 Interconexão do microcontrolador com os demais

    dispositivos

    Uma das partes mais importantes do projeto é a interconexão entre o microcontrolador

    8051, o display LCD LM016, o dispositivo de som, o switch e os demais componentes

    para realização de uma simulação real do teclado musical. Tendo em vista a interconexão

    montado na Figura 4.1 com os dispositivos do projeto na ferramenta Proteus é posśıvel

    analisar cada parte da interconexão.

    Observe na Figura 4.1 que o teclado faz interconexão com o microcontrolador através

    dos registradores da porta P1. A porta P0, pela caracteŕıstica de“dreno aberto”, é utilizada

    para interconectar o display LM016L. Na porta P2 do microcontrolador é apenas utilizado

    o pino P2.0 no qual é responsável por gerar a onda oscilante durante um peŕıodo que é

  • Resultado das notas musicais no display 36

    Figura 4.1: Interconexão entre o microcontrolador e os demais dispositivos

    correspondente a frequência das notas musicais no qual ja foram apresentadas na Tabela 2.1.

    Os demais dispositivos são necessários para o perfeito funcionamento do microcontrolador

    em mundo real.

    4.2 Resultado das notas musicais no display

    É importante apresentar as notas musicais geradas correspondentes no visor a fim de

    facilitar o aprendizado no teclado musical. Inicialmente o resultado é para caso de o usuário

    do teclado não pressione nenhuma tecla. Veja o resultado na Figura 4.2.

    Observe na Figura 4.2 que no pino 8 do switch está em ńıvel lógico 0 e os demais

    pinos estão em ńıvel lógico 1, ou seja, nenhuma tecla foi pressionada. Enquanto o visor do

    display mostra para o usuário a frase “Pressione uma tecla”. No caso de alguma tecla estar

    pressionada, a Figura 4.3 mostra o resultado do display.

    Observe na Figura 4.3 que agora a tecla 1 foi pressionada, com isso o pino P1.1 do

  • Resultado da onda gerada pelo microcontrolador 37

    Figura 4.2: Resultado do display quando nenhuma tecla pressionada

    Figura 4.3: Resultado do display quando pressionada a tecla 1 do switch

    microcontrolador foi de ńıvel lógico 1 para ńıvel lógico 0 e o display apresenta no seu visor

    a frase “Nota Do”. O resultado para as demais notas quando pressionado é o mesmo. É

    importante explicar que caso mais de uma tecla seja pressionada, a primeira é que será

    exibida no visor.

    4.3 Resultado da onda gerada pelo microcontrolador

    O microcontrolador gera uma onda digital periódica durante um determinado peŕıodo o

    que caracteriza uma frequência de acordo com Haliday [d. Haliday et al.1996]. Para poder

    analisar a onda gerada é necessário utilizar um osciloscópio.

    4.3.1 Análise da onda gerada pelo microcontrolador para a nota

    Dó

    Na Figura 4.4 é utilizado um osciloscópio para analisar o formato da onda e a frequência

    em que ela ocorre.

  • Resultado da onda gerada pelo microcontrolador 38

    Figura 4.4: Análise da onda gerada pelo microcontrolador da nota Dó

    O formato da onda determina o efeito produzido pelo som de acordo com Haliday

    [d. Haliday et al.1996], como pode ser visto a onda é quadrada. O peŕıodo para formação

    de uma onda completa, de acordo com o osciloscópio da Figura 4.4, é aproximadamente 3,82

    ms. A frequência pode ser encontrada pela formula f=1/T resultando em aproximadamente

    261 Hz, no qual é equivalente a frequência da nota Dó médio.

  • Resultado da onda gerada pelo microcontrolador 39

    4.3.2 Análise da onda gerada pelo microcontrolador para a nota

    Ré

    O resultado da onda digital gerado pelo microcontrolador para nota Ré é apresentado

    na Figura 4.5.

    Figura 4.5: Análise da onda gerada pelo microcontrolador da nota Ré

    Observe na Figura 4.5 que a partir de agora o “Timebase” do osciloscópio é de 500

    s/Div. O peŕıodo para formação de uma onda completa, de acordo com o osciloscópio da

    Figura 4.5, é aproximadamente 3,40 ms. A frequência pode ser encontrada pela formula

    f=1/T resultando em aproximadamente 293 Hz, no qual é equivalente a frequência da nota

    Ré médio.

    4.3.3 Análise da onda gerada pelo microcontrolador para a nota

    Mi

    O resultado da onda digital gerado pelo microcontrolador para nota Mi é apresentado

    na Figura 4.6.

    O peŕıodo para formação de uma onda completa, de acordo com o osciloscópio da Figura

    4.6, é aproximadamente 3,04 ms. A frequência pode ser encontrada pela formula f=1/T

  • Resultado da onda gerada pelo microcontrolador 40

    Figura 4.6: Análise da onda gerada pelo microcontrolador da nota Mi

    resultando em aproximadamente 329 Hz, no qual é equivalente a frequência da nota Mi

    médio.

    4.3.4 Análise da onda gerada pelo microcontrolador para a nota

    Fá

    O resultado da onda digital gerado pelo microcontrolador para nota Fá é apresentado

    na Figura 4.7.

    O peŕıodo para formação de uma onda completa, de acordo com o osciloscópio da Figura

    4.7, é aproximadamente 2,86 ms. A frequência pode ser encontrada pela formula f=1/T

    resultando em aproximadamente 349 Hz, no qual é equivalente a frequência da nota Fá

    médio.

  • Resultado da onda gerada pelo microcontrolador 41

    Figura 4.7: Análise da onda gerada pelo microcontrolador da nota Fá

    4.3.5 Análise da onda gerada pelo microcontrolador para a nota

    Sol

    O resultado da onda digital gerado pelo microcontrolador para nota Sol é apresentado

    na Figura 4.8.

    O peŕıodo para formação de uma onda completa, de acordo com o osciloscópio da Figura

    4.8, é aproximadamente 2,55 ms. A frequência pode ser encontrada pela formula f=1/T

    resultando em aproximadamente 392 Hz, no qual é equivalente a frequência da nota Sol

    médio.

    4.3.6 Análise da onda gerada pelo microcontrolador para a nota

    Lá

    O resultado da onda digital gerado pelo microcontrolador para nota Lá é apresentado

    na Figura 4.9.

    O peŕıodo para formação de uma onda completa, de acordo com o osciloscópio da Figura

    4.9, é aproximadamente 2,27 ms. A frequência pode ser encontrada pela formula f=1/T

    resultando em aproximadamente 440 Hz, no qual é equivalente a frequência da nota Lá

  • Resultado da onda gerada pelo microcontrolador 42

    Figura 4.8: Análise da onda gerada pelo microcontrolador da nota Sol

    Figura 4.9: Análise da onda gerada pelo microcontrolador da nota Lá

    médio.

  • Custos dos dispositivos e análise provável do projeto implementado 43

    4.3.7 Análise da onda gerada pelo microcontrolador para a nota

    Si

    O resultado da onda digital gerado pelo microcontrolador para nota Si é apresentado

    na Figura 4.10.

    Figura 4.10: Análise da onda gerada pelo microcontrolador da nota Si

    O peŕıodo para formação de uma onda completa, de acordo com o osciloscópio da Figura

    4.10, é aproximadamente 2,02 ms. A frequência pode ser encontrada pela formula f=1/T

    resultando em aproximadamente 493 Hz, no qual é equivalente a frequência da nota Si

    médio.

    4.4 Custos dos dispositivos e análise provável do pro-

    jeto implementado

    Os preços dos dispositivos são variados porém apresenta uma média. Observe a Tabela

    4.1 com os preços dos dispositivos.

    O custo dos dispositivos do projeto é relativamente baixo, porém para implementação

    f́ısica do projeto outras despesas serão necessárias. A estrutura f́ısica do instrumento pode

  • Custos dos dispositivos e análise provável do projeto implementado 44

    Tabela 4.1: Preço dos dispositivos utilizados no projeto

    Dispositivos Preço em ReaisMicrocontrolador 8051 50,00

    Display LM016L 40,00Dispositivo de Som 15,00

    Total 105,00

    apresentar custo variado, dependendo sempre da complexidade do projeto. Analisar se é

    viável ou não é um estudo mais abrangente e não será abordado neste trabalho.

  • Caṕıtulo 5

    CONSIDERAÇÕES FINAIS E

    TRABALHOS FUTUROS

    Os objetivos propostos por esse trabalho consistiam em:

    a) Projetar uma forma de emitir as notas musicais Dó, Ré, Mi, Fá, Sol, Lá e Si com

    recurso de um display de LCD onde o usuário visualize a nota musical que foi pressionada

    numa tecla.

    b) Analisar as formas de ondas geradas pelo microcontrolador.

    c) Disponibilizar o custo médio dos dispositivos do projeto.

    Esses objetivos foram todos conclúıdos com os métodos utilizados, através dos dis-

    positivos e apresentados neste trabalho. Onde também foram apresentados os resultados

    através de um osciloscópio para cada nota musical deste projeto, detalhando cada passo

    para chegar ao resultado final.

    É importante destacar a função dos principais dispositivos eletrônicos utilizados. Em

    resumo o microcontrolador 8051 ofereceu mais de uma função, entre elas:

    • Controlar o display de LCD.

  • 46

    • Gerar uma onda digital quadrada durante um determinando peŕıodo.

    • Verificar a tecla pressionada.

    Já o display ficou responsável de mostrar a tecla que estava sendo pressionada no

    teclado, o switch representando o teclado e o dispositivo de som para emitir a onda gerada

    pelo microcontrolador. Além disso, referente a analise do custo deste projeto, pode-se notar

    o baixo custo dos dispositivos. Uma idéia interessante seria disponibilizar para crianças

    de escolas públicas a implementação f́ısica deste projeto a fim de auxiliar na educação e

    socialização.

    Para trabalhos futuros uma proposta interessante seria aumentar os recursos desse

    teclado, como exemplo, disponibilizar um outro efeito sonoro ou um teclado onde auxilie

    o usuário a tocar uma música. Outra proposta seria aumentar o número de escalas e as

    notas musicais das teclas pretas de um teclado musical.

  • Referências Bibliográficas

    [Ayala.2006] Ayala., K. J. (2006). The 8051 microcontroller: Architeture, Programming

    and Applications. West Publishing, 3a edition.

    [Barbaceda and Fleury.2010] Barbaceda, I. L. and Fleury., C. A. (2010).

    Display lcd Dispońıvel em: acessoem : 17nov.

    [Calcutt et al.1998] Calcutt, D. M., Cowan, F. J., and Parchizadeh., G. H. (1998). 8051

    microcontrollers: hardware, software, and applications. Arnold, 1a edition.

    [d. Haliday et al.1996] d. Haliday, r. Resnick, and j. Walker. (1996). Fundamentos de F́ısica

    2: Gravitação, Ondas e Termodinamica. S.A, 4a edition.

    [Dutta.2010] Dutta., S. (2010). Small device c compiler Dispońıvel em:

    acesso em: 17 nov.

    [Esquemas.org.2010] Esquemas.org., S. (2010). Entendendo os circuitos Dispońıvel em:

    acesso em: 17 nov.

    [Floyd.2007] Floyd., T. (2007). Sistemas digitais – Fundamentos e Aplicações. Bookman, 9a

    edition.

    [Hitachi.1998] Hitachi., E. (1998). Manual de especificação do display LM016L da Hitachi.

    Hitachi.

    [LabcenterElectronics.2010] LabcenterElectronics., E. (2010). Site da empresa responsável

    pela ferramenta proteus Dispońıvel em: acesso em: 17 nov.

  • REFERÊNCIAS BIBLIOGRÁFICAS 48

    [Neurotrend.2010] Neurotrend., E. (2010). Download do compilador 8051 Dispońıvel em:

    acesso em: 17 nov.

    [Nicolosi and Bronzeri.2008] Nicolosi, D. E. C. and Bronzeri., R. B. (2008). Microcontrolador

    8051 com linguagem C: pratico e didático: famı́lia AT89S8252 atmel. Érica, 2a edition.

    [Philips.2000] Philips., E. (2000). Manual de especificação do microcontrolador 8051 da

    Philips. Philips.

    [Suits.2010] Suits., B. H. (2010). Frequencies of musical notes Dispońıvel em:

    acesso em: 17 nov.