Author
others
View
0
Download
0
Embed Size (px)
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.