Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
UNIVERSIDADE DO ESTADO DO AMAZONAS - UEA
ESCOLA SUPERIOR DE TECNOLOGIA
ENGENHARIA DE COMPUTACAO
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 Conclusao de Curso apresentado
a banca avaliadora do Curso de Engenharia
de Computacao, da Escola Superior de
Tecnologia, da Universidade do Estado do
Amazonas, como pre-requisito para obtencao
do tıtulo de Engenheiro de Computacao.
Orientador: Prof. M. Sc. Luiz Wanderley Nagata Balduino
Manaus
2010
ii
Universidade do Estado do Amazonas - UEA
Escola Superior de Tecnologia - EST
Reitor:
Jose Aldemir de Oliveira
Vice-Reitor:
Marly Guimaraes Fernandes Costa
Diretor da Escola Superior de Tecnologia:
Mario Augusto Bessa de Figueiredo
Coordenador do Curso de Engenharia de Computacao:
Antenor Ferreira Filho
Coordenador da Disciplina Projeto Final:
Aurea Hileia 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 - Catalogacao na Publicacao
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 Conclusao de Curso (Graduacao em Engenharia de Computacao).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 Conclusao de Curso apresentado
a banca avaliadora do Curso de Engenharia
de Computacao, da Escola Superior de
Tecnologia, da Universidade do Estado do
Amazonas, como pre-requisito para obtencao
do tıtulo de Engenheiro de Computacao.
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
Agradeco primeiramente aos meus pais pela
oportunidade de estudar em outra cidade.
Sem esquecer de todas as pessoas que aju-
daram no meu processo de graduacao.
v
Resumo
O entretenimento e uma atividade do cotidiano da sociedade, tanto para interagir
com outras pessoas ou sozinho. Com a musica e possivel realizar diversas atividades,
assim como, ouvir, cantar, tocar e dancar. Os instrumentos musicais sao responsaveis
por ajudar a compor uma cancao. Um desses instrumentos e o teclado musical, em
que o instrumentista utiliza uma combinacao de notas musicais para criar uma melodia.
Por ser um instrumento musical de diversos recursos, o teclado musical e composto de
componentes eletronicos. Entre os diversos componentes eletronicos um dos principais
e o microcontrolador, sendo responsavel por controlar as funcoes basicas do teclado. O
presente trabalho tem como objetivo projetar um instrumento baseado na funcionalidade
do teclado. Quando o usuario pressionar uma tecla sera estabelecida uma onda pelo
microcontrolador, no qual a frequencia dessa onda e correspondente a frequencia 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
Sumario
Lista de Figuras ix
1 INTRODUCAO 1
1.1 Apresentacao do tema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Delimitacao do tema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4.1 Objetivos especıficos . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.5 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.6 Visao geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 FUNDAMENTACAO CONCEITUAL 5
2.1 Oscilacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.1 Ondas sonoras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Conceitos fundamentais de Eletronica digital . . . . . . . . . . . . . . . . . 7
2.2.1 Grandeza digital . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.2 Nıveis logicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.3 Formas de ondas digitais . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Apresentando os dispositivos eletronicos . . . . . . . . . . . . . . . . . . . 9
2.3.1 O microcontrolador 8051 . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.2 Display de cristal lı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 nıvel logico 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 Interconexao 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 Analise da onda gerada pelo microcontrolador para a nota Do . . . 37
4.3.2 Analise da onda gerada pelo microcontrolador para a nota Re . . . 39
4.3.3 Analise da onda gerada pelo microcontrolador para a nota Mi . . . 39
4.3.4 Analise da onda gerada pelo microcontrolador para a nota Fa . . . 40
4.3.5 Analise da onda gerada pelo microcontrolador para a nota Sol . . . 41
4.3.6 Analise da onda gerada pelo microcontrolador para a nota La . . . 41
4.3.7 Analise da onda gerada pelo microcontrolador para a nota Si . . . . 43
4.4 Custos dos dispositivos e analise provavel do projeto implementado . . . . 43
5 CONSIDERACOES FINAIS E TRABALHOS FUTUROS 45
Referencias Bibliograficas 47
ix
Lista de Figuras
2.1 Faixa dos nıveis logicos. Fonte: [Esquemas.org.2010]. . . . . . . . . . . . . 8
2.2 Pulsos ideais. Fonte: [Floyd.2007]. . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Pulso nao 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 Organizacao das regioes e blocos da memoria acessıveis no microcontrolador
8051. Fonte: [Nicolosi and Bronzeri.2008] Adaptada. . . . . . . . . . . . . . 13
2.6 Organizacao da Regiao 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 Representacao em blocos da memoria 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 saıdas . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.13 Ativacao do dispositivo de som . . . . . . . . . . . . . . . . . . . . . . . . 21
2.14 Os processos de compilacao de um programa em C ou Assembly . . . . . . 23
2.15 Os processos de compilacao do programa e as ferramentas utilizadas . . . . 24
2.16 O compilador 8051 gerando os arquivos de simulacao e emulacao. . . . . . 25
2.17 Ambiente da ferramenta ISIS 7 profissional Proteus . . . . . . . . . . . . . 26
3.1 Determinando nıvel logico nas portas do microcontrolador . . . . . . . . . 28
3.2 Mudanca de Nıvel logico no “pino P1.3” determinado pelo ground . . . . . 29
3.3 Estrutura do controlador de decisao e controlador de loop . . . . . . . . . . 30
3.4 Interconexao entre o microcontrolador 8051 e o display LM016L . . . . . . 31
x
3.5 Funcao de rotina para enviar comandos ao display LCD . . . . . . . . . . . 31
3.6 Funcao para inicializar o display LCD com alguns comandos . . . . . . . . 32
3.7 Funcao para escrever no display LCD . . . . . . . . . . . . . . . . . . . . . 32
3.8 Programacao para escrever no display . . . . . . . . . . . . . . . . . . . . . 33
3.9 Metodo utilizado para gerar oscilacao em uma onda . . . . . . . . . . . . . 34
4.1 Interconexao 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 Analise da onda gerada pelo microcontrolador da nota Do . . . . . . . . . 38
4.5 Analise da onda gerada pelo microcontrolador da nota Re . . . . . . . . . . 39
4.6 Analise da onda gerada pelo microcontrolador da nota Mi . . . . . . . . . . 40
4.7 Analise da onda gerada pelo microcontrolador da nota Fa . . . . . . . . . . 41
4.8 Analise da onda gerada pelo microcontrolador da nota Sol . . . . . . . . . 42
4.9 Analise da onda gerada pelo microcontrolador da nota La . . . . . . . . . . 42
4.10 Analise da onda gerada pelo microcontrolador da nota Si . . . . . . . . . . 43
Capıtulo 1
INTRODUCAO
1.1 Apresentacao do tema
Ao longo da historia da humanidade a musica esta presente e influente nas sociedades.
Antigamente, para produzir uma musica, as pessoas utilizavam pedacos de tronco de arvore
oco, cobertos nas bordas com a pele de algum animal. Esse instrumento e chamado de
tambor, sendo presente em diversas atividades festivas e religiosas das civilizacoes. Com
o passar do tempo foram criados outros tipos de instrumentos musicais com uma enorme
variacao de modelos diferentes. Um desses instrumentos musicais e o teclado que surgiu na
decada de 60 e foi um dos primeiros construıdo com algum dispositivo eletronico, porem
era muito caro e pouco comercializado.
Atualmente, com a queda de preco dos dispositivos eletronicos utilizados na fabricacao
dos teclados, tornaram-se mais comercializados possuindo diversos recursos para o instru-
mentista. O numero de pessoas que utilizam o teclado musical aumentou e muitos passaram
a ingressar no meio da musica para gerar uma renda complementar ou ate mesmo como
unica renda familiar. Outra questao importante e no aumento da coordenacao motora e no
raciocınio de criancas que aprendem a tocar teclado desde pequenas, devido a infinidade de
recursos possıveis em um teclado musical. Alem disso pessoas com deficiencia visual podem
atraves desse instrumento torna-se independente e ajudar no processo de socializacao, que
e o caso de muitos instrumentistas cegos como o Ray Charles.
Justi�cativa 2
Os principais recursos do teclado sao os visores, os quais facilitam bastante o seu manu-
seio com o feedback necessario para auxiliar uma crianca no aprendizado fornecendo uma
informacao precisa da nota que esta sendo pressionada. Alem disso alguns teclados pos-
suem uma gama enorme de sons e efeitos tornando um atrativo a mais para criancas. Por
essa variedade de recursos o teclado musical e um dos instrumentos mais importantes e
utilizados para composicao de uma musica.
O presente trabalho tem como objetivo projetar uma forma de gerar ondas em um
determinado perıodo correspondendo as frequencias das notas musicais e analisar as ondas
geradas. O projeto funciona da seguinte forma: quando for pressionada uma tecla, e
gerada uma onda durante um determinado perıodo, onde e estabelecida uma frequencia
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 eletronicos
sao controlados por microcontroladores. O microcontrolador e o responsavel por gerar a
onda em uma determinada frequencia. O visor e representado por um display de LCD que
tambem e controlado pelo microcontrolador e o teclado e representado por um switch.
Neste trabalho foi utilizado o microcontrolador 8051 devido a versatilidade dada ao
projetista. O compilador utilizado e o SDCC, que pode ser utilizado para programacao 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 ja
fornece ao programador os arquivos para simulacao e emulacao. A linguagem utilizada
para criar o programa foi a linguagem C, devido a sua facilidade de programacao com
microcontroladores. O display utilizado neste trabalho foi o LM016L.
1.2 Justificativa
Toda atividade nova praticada pelo ser humano estimula o trabalho do cerebro e ajuda
no desenvolvimento da capacidade de raciocınio. Aprender a tocar instrumentos musicais
sao exemplos de praticas que contribuem para a saude mental e coordenacao motora. Essas
atividades sao muito mais importantes em criancas, elas aprendem a tocar um instrumento
e melhoram o desempenho nas disciplinas escolares.
Uma outra contribuicao do aprendizado de instrumentos musicais, refere-se as pessoas
Delimitação do tema 3
com deficiencia visual, ajudando de maneira direta e indireta a inserir essas pessoas na
sociedade, muitas vezes ate mesmo na independencia financeira do indivıduo.
Para composicao de uma musica diversos instrumentos podem ser utilizados e um desses
instrumentos e 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 proposito de simulacao,
atraves da ferramenta Proteus um instrumento musical com funcionalidade semelhante a
de um teclado musical para que futuramente possa ser implementado em uma placa de
hardware.
1.3 Delimitacao do tema
Esse trabalho tem atencao principal em projetar uma forma de gerar frequencias, que
estao de acordo com as frequencias das notas musicais, atraves de programacao no mi-
crocontrolador. Um recurso deste projeto e o display, no qual apresenta no visor a nota
musical quando o usuario pressionar uma tecla. Essas teclas sao representadas por um
switch.
1.4 Objetivos
O presente trabalho tem como objetivo projetar atraves da ferramenta de simulacao
Proteus uma forma de gerar ondas sonoras durante um determinado perıodo, onde as
frequencias dessas ondas deverao corresponder a frequencia das notas musicais.
1.4.1 Objetivos especıficos
a) Projetar atraves da ferramenta Proteus um esquematico 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 frequencias correspondentes as notas musicais (Do, Re,
Mi, Fa, Sol, La e Si) e mostrar para o usuario atraves do display a nota musical.
Metodologia 4
b) Analisar as formas de ondas geradas pelo microcontrolador atraves de um osciloscopio
na ferramenta Proteus.
c) Analisar os custos para a implementacao do projeto.
1.5 Metodologia
Primeiramente foi feita uma pesquisa bibliografica referentes ao assunto deste trabalho.
Em seguida, foi necessario “baixar” da internet os manuais de especificacoes dos disposi-
tivos utilizados para realizar este projeto. Apos essa parte de pesquisa, foi estabelecida
a interconexao entre os dispositivos. Por ultimo a programacao no microcontrolador e os
resultados obtidos da simulacao.
A metodologia utilizada neste projeto consiste em o microcontrolador 8051 da Philips
atraves de estruturas de programacao da linguagem C gerar uma oscilacao na saıda de
um pino durante um determinando perıodo. No qual o perıodo dessa oscilacao devera cor-
responder a nota da tecla pressionada no switch que representa o teclado. O teclado musical
tambem tera o display de LCD LM016L onde o mesmo apresentara a nota pressionada e
sendo controlado atraves do microcontrolador.
1.6 Visao geral
Alem deste capıtulo introdutorio, neste trabalho inclui o capıtulo dois no qual exibira
os fundamentacao conceitual explicando teoria de fısica em relacao a oscilacao, conceitos de
eletronica digital, introducao aos dispositivos utilizados e ao compilador. O capıtulo tres,
refere-se a metodologia de como foi projeto para alcancar os objetivos. O capıtulo quatro,
explanara os resultados obtidos das simulacoes realizadas. O capıtulo cinco apresenta uma
breve conclusao e possıveis trabalhos futuros e no capıtulo seis referencia-se aos livros e
outros materiais utilizados para elaboracao deste trabalho.
Capıtulo 2
FUNDAMENTACAO
CONCEITUAL
Este capitulo, resumidamente, apresentara fundamentos sobre conceitos basicos de os-
cilacao e eletronica digital. Alem de uma breve introducao a respeito do microcontrolador
8051, do display LCD alfanumerico LM016L e dos demais dispositivos necessario para o
projeto. Seguido de uma explicacao dos processos e das ferramentas necessarias para a
realizacao do experimento.
2.1 Oscilacao
Segundo Haliday [d. Haliday et al.1996] oscilacoes sao movimentos que se repetem.
O formalismo matematico que descreve as oscilacoes nao se aplicaapenas a objetos materiais, como cordas de violino e eletrons. Eusado tambem no estudo das ondas eletromagneticas (luz, ondas deradio, raios X, raios gama, microondas). [d. HALLIDAY et al.1996,p.24]
A frequencia e uma propriedade do movimento oscilatorio. Segundo Haliday [d. Haliday
et al.1996], o numero de oscilacoes que sao completadas em cada segundo caracteriza o
Oscilação 6
conceito de frequencia. O sımbolo para frequencia e a letra “f” e sua unidade SI e o hertz
(abreviado como Hz). A formula para encontrar a frequencia e:
T = 1/f (2.1)
A letra “T” representa o perıodo, que e o tempo para completar uma oscilacao. Qual-
quer movimento com intervalos regulares repetidos e chamado de movimento periodico ou
movimento harmonico.
2.1.1 Ondas sonoras
De acordo Haliday [d. Haliday et al.1996], as ondas sonoras sao equivalentes as ondas
mecanicas que podem se propagar atraves de gases, lıquidos ou solidos. O microcontrolador
nao e o responsavel por emitir essas ondas, ele apenas gera as ondas. O responsavel por
emitir essas ondas e o dispositivo de som, mais especificamente o auto-falante. Essas ondas
quando repetidas em intervalos regulares, como ja foi citado anteriormente, forma um
movimento periodico onde pode ser determinada uma frequencia.
2.1.1.1 Notas musicais
As notas musicais utilizadas neste projeto consistem nas sete notas musicais sem varia-
cao de escala. A nota musical nada mais e que uma onda que se propaga no ar com uma
determinada frequencia. Para que essa nota seja percebida pelo ouvindo de um ser humano
e necessario que a frequencia esteja na faixa de 20 Hz a 20.000 Hz. No caso deste projeto
nao e necessario que seja aprofundado o conceito de teoria musical, basta compreender
a respeito das notas geradas em relacao as frequencias correspondente, apresentadas na
Tabela 2.1 .
Essas sao as frequencias que ocorrem as ondas digitais geradas pelo microcontrolador.
Os conceitos relacionados a essas ondas e outros assuntos referente a eletronica digital serao
abordados em seguida.
Conceitos fundamentais de Eletrônica digital 7
Tabela 2.1: As frequencias das notas musicais. Fonte: Site da Universidade Tecnologica deMichigan Adaptada [Suits.2010].
Notas musicais FrequenciasDo 261 HzRe 293 HzMi 329 HzFa 349 HzSol 392 HzLa 440 HzSi 493 Hz
2.2 Conceitos fundamentais de Eletronica digital
Segundo Floyd [Floyd.2007] o termo digital e originado de como os computadores re-
alizam operacoes, que e contando dıgitos. Ao longo do tempo as aplicacoes envolvendo
eletronica digital ficaram apenas aos sistemas computacionais. Atualmente, a tecnologia
digital e aplicada em diversas areas, como na saude, no jornalismo e na musica.
2.2.1 Grandeza digital
De acordo com Floyd [Floyd.2007] , uma grandeza digital e aquela que apresenta va-
lores discretos. A vantagem de utilizar um sistema digital e que dados digitais podem
ser processados e transmitidos de forma mais eficiente e confiavel. Alem disso e possıvel
armazenar um maior numero de informacoes. Por exemplo, uma musica pode ser convertida
para forma digital sendo armazenada de forma mais compacta e sua reproducao tem maior
precisao.
2.2.2 Nıveis logicos
Segundo Floyd [Floyd.2007], as tensoes utilizadas para representar os bits 1 e 0 sao
denominadas nıveis logicos. Teoricamente, um nıvel de tensao representa o nıvel alto e
outro representa o nıvel baixo. Porem na pratica cada nıvel possuem um valor mınimo e
maximo de tensao para que sejam considerados 1 ou 0. A Figura 2.1 ilustra a faixa de
valores mınimo e maximo para os nıveis logicos no qual podem variar de acordo com a
tensao de alimentacao do dispositivo utilizado.
Conceitos fundamentais de Eletrônica digital 8
Figura 2.1: Faixa dos nıveis logicos. Fonte: [Esquemas.org.2010].
Observe que na Figura 2.1 que existe uma faixa limite para determinar se o nivel logico
e 0 ou 1.
2.2.3 Formas de ondas digitais
Floyd [Floyd.2007] afirma que formas de ondas digitais consiste na mudanca entre nıveis
logicos 0 e 1. O pulso e 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 e forma do pulso positivo e na Figura 2.2.b e forma do pulso negativo.
Observe que esses tipos de pulsos sao ideais, pois as transicoes de nıveis ocorrem instanta-
neamente. No mundo real nao ocorre essa transicao instantanea de nıveis, eles apresentam
diversas caracterısticas. A Figura 2.3 e um exemplo de um pulso nao ideal.
As formas de ondas encontradas em sistemas digitais sao compostas de uma serie de
pulsos, segundo Floyd [Floyd.2007] denominadas de trem de pulsos. Essas formas de ondas
podem ser periodicas e nao periodicas. A forma de onda periodica e aquela na qual se
Apresentando os dispositivos eletrônicos 9
Figura 2.3: Pulso nao ideal. Fonte: [Floyd.2007].
repete durante um perıodo. Atraves de calculos matematicos e possıvel encontrar a fre-
quencia em que ocorre essa onda, como ja foi visto anteriormente. A finalidade principal do
microcontrolador e gerar essa forma de onda na frequencia correspondente a nota musical.
Esse microcontrolador e outros dispositivos serao vistos em seguida.
2.3 Apresentando os dispositivos eletronicos
Esta secao visa compreender a respeito dos dispositivos eletronicos utilizados para este
projeto. Apresentando suas particularidades, funcoes, diagramas, arquiteturas internas,
configuracoes e modo operacoes com intuito de melhor compreensao da metodologia uti-
lizada.
2.3.1 O microcontrolador 8051
O microcontrolador utilizado no projeto e 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 entao, 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 variacoes de chips! [NICOLOSI andBRONZERI.2008, p. 19]
A partir do lancamento do microcontrolador pela Intel em 1977, o 8051 tem sido um dos
mais utilizados causando uma enorme variacao de chips. Devido a sua vasta variacao de
chips, em torno de seiscentas, podem apresentar conversores analogico digital, diferencas
entre quantidades de memorias RAM, ROM, EPROM, modulacao PWM e memoria Flash.
Variacoes em relacao aos conversores A/D e D/A, comunicacao SPI, IC, Ethernet, CAN,
memorias 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. alem disso, e aplicado em uma diversidade de produ-
tos eletronicos no mercado e tambem possui uma versatilidade de recursos ao projetista.
O seu alto desempenho e baixo custo tambem sao fatores que agradam ao projetista. A
funcao do microcontrolador neste projeto e de controlar o teclado musical.
De acordo com manual de especificacao da Philips [Philips.2000] os recursos tıpicos de
um microcontrolador 8051 sao os seguintes:
• 64 Kbytes de memoria para DATA e CODE.
• 256x8 bytes de memoria RAM, dividida entre a area de uso geral e registradores
especiais.
• Dois temporizador/contador de 16 bits.
• Uma porta serial programavel (UART).
• Interface para memoria esterna com capacidade de 64 Kbytes de enderecamento ex-
terno de memoria.
• Quatro portas de entrada/saıda dados
• Seis possibilidades de interrupcoes 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. alem disso e possıvel notar na Figura 2.4 que todos os recursos tıpicos,
apresentados anteriormente, de um microcontrolador 8051 estao 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 Memoria 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 e equivalente ao espaco 8 bits de
caracteres na memoria do microcontrolador. O tamanho da memoria do microcontrolador
Apresentando os dispositivos eletrônicos 12
e de 64 kbytes uma parte para manipulacao e outra para armazenamento. Podendo-se
estender caso haja uma memoria externa junto ao microcontrolador.
Como ja foi mostrado anteriormente o microcontrolador possui memorias CODE e
DATA, ou seja, memorias para codigo e memoria para manipulacao de dados. A area para
memoria externa e chamada de XDATA. Utiliza uma memoria SRAM (RAM estatica) 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 porem no microcontrolador
8051 e mais eficiente utilizar a memoria DATA para melhor manipulacao de dados, de
acordo com Nicolosi e Bronzeri [Nicolosi and Bronzeri.2008].
A organizacao da memoria do microcontrolador baseia-se na Figura 2.5. Observacao
importante e que existem diversas maneiras de expressar conceitos das memorias do mi-
crocontrolador 8051, devido a ficha de dados nao apresentar a organizacao da memoria. A
Figura 2.5 e a forma de expressar a organizacao da memoria segundo os autores Nicolosi e
Bronzeri [Nicolosi and Bronzeri.2008].
De acordo com Nicolosi e Bronzeri [Nicolosi and Bronzeri.2008], a memoria CODE
e o local onde armazena o programa executavel. Nessa regiao, como mostra a Figura
2.5, destina-se a 4 K de memoria ROM para esse proposito. Essas memorias podem ar-
mazenar dados fixos cujo programa utlizado para o teclado musical acessara. Lembrando
que memorias do tipo ROM sao apenas para fazer leitura de dados. Existem outras formas
de armazenar o programa executavel. Por exemplo, utilizando uma memoria SRAM, RAM
interna ou DRAM. Porem caso ocorra uma “queda” de energia, o programa armazenado e
“perdido” tendo que armazena-lo novamente. Ja no caso da memoria ROM esse problema
nao ocorre, pois ele e nao volatil. Deve-se levar em conta que esses diferentes tipos de
armazenamento, podem depender do proposito geral do projeto em relacao a sua comple-
xidade.
Segundo Nicolosi e Bronzeri [Nicolosi and Bronzeri.2008], A memoria DATA e o local
onde ocorre a manipulacao de dados. A RAM armazena temporariamente os dados, por
exemplo, para manipularmos um display. Sempre que um botao for acionado, o display
realizara leitura e escrita para gerar novos dados em seu visor. Essa area DATA e dividia
em regioes e sub-regioes, como mostra a Figura 2.6.
Apresentando os dispositivos eletrônicos 13
Figura 2.5: Organizacao das regioes e blocos da memoria acessıveis no microcontrolador 8051.Fonte: [Nicolosi and Bronzeri.2008] Adaptada.
2.3.1.2 Representacao, particularidade e funcoes dos pinos externos
Para apresentar as configuracoes 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, e 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 funcao.
Segundo Nicolosi e Bronzeri [Nicolosi and Bronzeri.2008], as portas P0 e P2 disponibi-
lizam interface com memorias externas, servindo para multiplexar os bits dos enderecos.
A porta P0, manipula os dados e emite a parte menos significativa dos enderecos. Outra
particularidade dessa porta P0, e que unicamente ela nao apresenta resistores pull-up, ou
seja, quando nao utilizada para as funcoes de memoria 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: Organizacao da Regiao DATA. Fonte: [Nicolosi and Bronzeri.2008] Adaptada.
enderecos da memoria externa e 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 saıda de dados, porem algumas apresentam
particularidades como as descritas no paragrafo anterior. E atraves de uma dessas portas
que e gerado a onda no microcontrolador.
Os pinos da porta P3 sao utilizados para realizar certas funcoes especiais que nao e
fundamental para este trabalho. A porta P1 nao destaca nenhuma particularidade em
relacao as outras.
Apos ser apresentado as portas do microcontrolador, serao discutidas resumidamente
os restantes dos pinos e suas funcoes de acordo com Calcutt [Calcutt et al.1998]. O pino de
reset, intitulado de RST, e utilizado para reset quando esse pino e colocado em nıvel logico
1 durante dois ciclos de maquina. O pino ALE/PROG e conhecido como pino de controle
de acesso a memoria externa, sendo responsavel por permitir fazer a demultiplexacao de
dados e enderecos na porta P0. O pino PSEN quando esta em nıvel 0 ou seja ativo, indica
leitura de uma instrucao na area 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 nıvel logico 1, fara a execucao de programas localizado na
memoria interna ou caso esteja ligado em nıvel logico 0, o microcontrolador apenas fara
leitura da memoria externa. Os pinos XTAL1 e XTAL2 sao pinos que geram clock padrao
para o microcontrolador, para gerar esse clock e necessario a utilizacao de 2 capacitores e
1 cristal conforme mostrado na Figura 2.8. O valor do cristal e de 12 MHz e proporciona
ciclo de maquina de 1 ms.
2.3.1.3 Registradores especiais
Os registradores especiais estao localizados em uma regiao da memoria RAM interna,
mais especificamente entre o intervalo de enderecos 128 e 255 como mostrado na Figura
2.5. Esse intervalo de enderecos pode ser acessado de forma direta, ou seja, de bit a bit.
Os registrados especiais estao resumidamente apresentados na Tabela 2.2.
Para este projeto nao e necessario compreender detalhadamente a respeito de cada
um desses registradores que estao na Tabela 2.2. Basta saber que as ondas geradas pelo
microcontolador serao atraves 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 FuncoesACC Acumulador
P0, P1, P2 e P3 Registradores dos pinos de comunicacaoB Registrador utilizado nas
instrucoes de multiplicar e dividirPSW Registrador do estado da ultima operacao
(Program Status Word) logica e aritmeticarealizada no acumulador
IP e IE Registradores associados as interrupcoes(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 lıquido
O display de cristal lıquido e um painel de pouca espessura usado para exibir dados por
via eletronica, como texto, imagens e vıdeos. Os displays de cristal lıquido sao versateis,
Apresentando os dispositivos eletrônicos 17
apresentam custo razoavel e oferecem um baixo consumo. No passado, o uso desse display
nao era tao grande devido a complexidade dos sinais de controle que deveriam ser gerados.
Com o advento da famılia de controladores LCD da Hitachi, houve uma grande difusao
desses dispositivos, gerando um padrao largamente aceito.
Existem basicamente dois modulos de displays LCD’s, os alfanumericos e os graficos.
Alem disso apresenta transferencia paralela ou serial. O display utilizado no projeto possui
modulo alfanumerico e transferencia 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 e o caso do
microcontrolador 8051. Esse display, de acordo com o manual da Hitachi [Hitachi.1998],
possui modulo alfanumerico de 2 linhas e 16 colunas, podendo gerar ate 80 tipos de ca-
racteres que estao 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”nao consegue
visualizar totalmente a memoria RAM, ou seja, ele “enxerga” os dados como uma analogia
da visao 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 nao e conveniente
Apresentando os dispositivos eletrônicos 18
entrar em detalhes para explicar como funciona esse controlador e driver do LM016L. A
tabela de codigos e formacao de caracteres do HD44780 este presente no Apendice A.
O display e o microcontrolador comunicam-se em ASCII, de acordo com o hexadecimal
do numero binario relacionados no Apendice A. A memoria interna do display, no qual sao
armazenados os caracteres ASCII, e apresentada na Figura 2.10. A CGRAM e uma regiao
da memoria utilizada para gerar caracteres especiais (c, e, a e outros).
Figura 2.10: Representacao em blocos da memoria RAM e Registradores do display.
2.3.2.2 Os pinos externos do display, particularidades e funcoes
Voltando na Figura 2.9, observe que na esquerda estao representados os pinos do
LM016L porem nao estao enumerados e alguns pinos foram ocultados. Para melhor com-
preensao observe a Tabela 2.3, apresentando os numero dos pinos, seus nomes e funcoes.
Segundo Ayala [Ayala.2006], o pino intitulado “RS” e responsavel pelo tipo de infor-
macao que esta sendo armazenada, por exemplo, se e uma instrucao para que o micro-
processador realize algum comando do display ou se e um dado que o display tem que
“mostrar”. O pino R/W quando esta em nıvel logico um faz a leitura dos registradores in-
ternos do display, ja em nıvel logico 0 realiza um escrita ou comando no display. O pino E
e responsavel por receber a informacao. Os pinos de DB0 a DB7 sao pinos de comunicacao
com o meio exterior, e atraves deles que “dados” ou “instrucoes” trafegam. No caso de
ajuste do contraste do display e necessario o uso dos componentes encontrados na Figura
2.11.
Apresentando os dispositivos eletrônicos 19
Tabela 2.3: Funcoes dos pinos do display LM016L. Fonte: Manual do display LCD LM016L[Hitachi.1998] Adaptada.
Numero do pino Nome Funcao1 VSS2 VO Alimentacao3 VDD4 RS Seleciona Registador. (Instrucao ou dados)5 R/W Opcao de Escrita ou Leitura6 E Habilitacao do dispositivo7 DB08 DB19 DB210 DB311 DB4 Via de comunicacao 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 definicao dada por Nicolosi e Bronzeri [Nicolosi and Bronzeri.2008] a
respeito do display LCD.
Apresentando os dispositivos eletrônicos 20
Um display e um “periferico 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 e um “dado” ou uma“instrucao de programacao”. Temos sempre que iniciar o display“programando-o”, isto e, fazendo com que ele “entenda” o que vaireceber em seguida a sua ligacao e como vai apresentar no seu visor(que ocorre em seguida a programacao realizada) os dados de escrita.[NICOLOSI and BRONZERI.2008, p. 146]
2.3.2.3 Comandos basicos do display
O display de cristal lıquido possui diversas instrucoes que realizam comandos. Essas
instrucoes estao localizadas no registrador de controle e sao enviadas atraves do microcon-
trolador. Sao acessadas de acordo com a variacao do nıvel logico 0 ou 1, dos pinos RS,
R/W, DB0, DB1, DB2, DB3, DB4, DB5, DB6 e DB7. Essas variacoes do nıvel logico dos
pinos e comandos pode ser encontrada no Apendice B deste trabalho.
2.3.3 Outros dispositivos utilizados
Apos uma introducao a respeito do microcontrolador e do display, serao apresentados
o teclado e o dispositivo de som utilizado no projeto.
2.3.3.1 O teclado
Para a representacao do teclado no experimento e utilizado um switch. O switch possui
diversas traducoes para o portugues, mas a utilizada nesse projeto e de troca. A Figura
2.12 representa o switch da ferramenta de simulacao Proteus.
O funcionamento desse dispositivo e 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 saıda
7 pinos. O pino 8 determina o nıvel logico, 0 ou 1, na saıda dos pinos de 1 a 7 quando um
ou mais forem pressionados. Por exemplo, imagine que no pino 8 esteja em nıvel logico 0,
caso algum pino esteja ativado, ou seja, trocado para “on” a saıda desse pino sera de nıvel
logico 0.
Apresentando os dispositivos eletrônicos 21
Figura 2.12: Switch de 1 entrada e 7 saıdas
2.3.3.2 O Dispositivo de som
O dispositivo de som e responsavel por emitir as ondas geradas pelo microcontrolador.
A qualidade e potencia do som vao depender do proposito da aplicacao, para efeito apenas
de simulacao o dispositivo de som utilizado sera semelhante ao utilizado em brinquedos e
campainhas. O auto-falante e o responsavel por emitir as ondas que forem geradas pelo
microcontrolador. A Figura 2.13 representa o dispositivo de som utilizado no projeto.
Figura 2.13: Ativacao do dispositivo de som
Observe na Figura 2.13 que o dispositivo de som utiliza mais 4 componentes eletronicos,
que sao 2 resistores, um transistor BC327 e o auto-falante. A palavra “OUT ” representa
Ferramentas utilizadas no Projeto 22
a saıda da frequencia gerada pelo microcontrolador. Apos apresentados brevemente os
principais dispositivos deste projeto. E importante apresentar as ferramentas e os processos
de compilacao utilizados neste projeto.
2.4 Ferramentas utilizadas no Projeto
Os objetivos deste topico e apresentar o compilador utilizado no programa que esta no
Apendice C, descrever os processos de compilacao utilizado para elaborar um programa
para microcontroladores e apresentar a ferramenta de simulacao do teclado.
2.4.1 Apresentando o compilador
A funcao do compilador e traduzir o codigo em C para Assembly tornando o codigo
numa linguagem compreendida pelo microcontrolador e apos realizar essa tarefa invocar o
montador e o linker. O compilador associado a essas outras ferramentas tem como finali-
dade gerar codigos para realizacao da simulacao e emulacao do arquivo a ser transmitido
para o microcontrolador. Alem disso apos a compilacao outros arquivos sao gerados porem
para este projeto nao e fundamental comentar sobre esses arquivos.
A Figura 2.14 representa os processos que ocorrem durante a compilacao de um codigo
em C ou Assembly.
Com o intuito de entender esses processos dos arquivos gerados para simulacao e emu-
lacao, desde a criacao do programa, observe o primeiro bloco “Editor de Texto” na Figura
2.14. Para escrever o codigo do programa e necessario utilizar um editor de texto. Caso
o programador esteja utilizando a linguagem C para escrever o programa, e necessario
utilizar um compilador para gerar o codigo em C para um codigo relativo em Assembly
tornando assim esse codigo compreendido em linguagem de maquina. Apos esse processo
o montador fica responsavel por montar os arquivos traduzidos pelo compilador. O linker
gera outros arquivos como o mapa da memoria, onde nao e de suma importancia destacar.
O arquivo para simulacao tem extensao de “.hex”, ja o utilizado para ser emulado tem
extensao “.bin”.
Ferramentas utilizadas no Projeto 23
Figura 2.14: Os processos de compilacao de um programa em C ou Assembly
2.4.1 O compilador SDCC
O SDCC (Small Device C Compiler) e um compilador de domınio publico, totalmente
direcionado para a programacao de microcontroladores que utilizam palavras de 8 bits e
e distribuıdo pela GNU General Public License. Esse compilador e freeware e suportado
em plataformas linux, MAC OS e Microsoft Windows. Alem da famılia de microcontro-
lador 8051, o SDCC e suportado pelas famılias de microcontroladores Zilog Z80, variacoes
da Dallas DS80C390 e PIC. As informacoes anteriores foram retiradas do site oficial do
compilador SDCC [Dutta.2010].
Para gerar os arquivos de simulacao e emulacao do programa e necessario 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 compilacao de um programa em C ou Assembly e uma adaptacao
com as ferramentas utilizadas juntos ao compilador.
Figura 2.15: Os processos de compilacao do programa e as ferramentas utilizadas
Para escrever o programa e utilizado o editor “Jens’ file editor”. Como foi visto anteri-
ormente, caso o programador esteja utilizando a linguagem C para escrever o programa, e
necessario a utilizacao de um compilador que neste projeto foi o compilador SDCC. Apos
esse processo de compilacao, foi utlizado o montador assembler e o linker que e o link-editor.
No qual sera gerado diversos arquivos apos a compilacao.
A juncao de todas essas ferramentas e chamado de compilador 8051, onde pode ser
encontrada o site da empresa Neurotrend [Neurotrend.2010]. A tarefa e simples do ponto
de vista do usuario dessa ferramenta. Apenas tera o trabalho de escrever o codigo na
linguagem preferida, salvar com a extensao da linguagem e depois clicar em “compilar”
gerando os arquivos de simulacao e emulacao como mostrado na Figura 2.16.
Ferramentas utilizadas no Projeto 25
Figura 2.16: O compilador 8051 gerando os arquivos de simulacao e emulacao.
O codigo esta salvo em extensao “.c”, ou seja, e um programa em linguagem de progra-
macao C e a parte circulada de vermelho da Figura 2.16 e onde o programador clica para
compilar, gerando os arquivos de simulacao e emulacao. Na parte circulada de amarelo
exibe o resultado da compilacao, caso haja algum erro no programa sera apresentando
nessa parte.
2.4.2 A ferramenta Proteus
O Proteus e uma ferramenta desenvolvido pela empresa inglesa Labcenter Electro-
nics que agrega o ambiente de simulacao de circuitos eletronicos 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 versao 7. O Proteus e um software para simulacao
de microprocessadores, captura esquematica, e placa de circuito impresso (PCB design).
Informacoes 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 botao que esta na parte circulada em azul da Figura 2.17, abrira uma nova
janela com os componentes desejados para a simulacao. Apos adicionar os componentes
no esquematico, o botao que esta no circulo vermelho executa a simulacao.
Capıtulo 3
METODOLOGIA
Este capıtulo refere-se aos metodos empregados para elaboracao deste projeto. Apos a-
presentar conceitos teoricos dos dispositivos e demais ferramentas utilizadas, e necessario
demonstrar como chegar ao resultado final demonstrado para cada dispositivo o modo de
operar. Os topicos principais abordados sao referentes ao acionamento das teclas, confi-
guracao do display, como gerar ondas no microcontrolador e a programacao envolvida.
3.1 Determinando o nıvel logico de acionamento das
teclas
O teclado sera representado por um switch como ja foi visto anteriormente. O nıvel
logico de acionamento das teclas e em 0, determinado devido as portas do microcontro-
lador 8051, quando nao utilizadas, estarem sempre sensıveis a nıvel logico 0. Para que
entenda melhor como determinar que tecla esta sendo pressionada, observe na Figura 3.1
a interconexao entre o microcontrolador e o switch na ferramenta Proteus.
Observe na Figura 3.1, que na entrada do switch esta ligado em nıvel logico 0 deter-
minada atraves do ground, representado pela cor azul no pino 9 do switch. As saıdas e a
porta 1 do microcontrolador estao determinadas em nıvel logico 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 nıvel logico nas portas do microcontrolador
3.2 com apenas uma modificacao que e o pino 4 sendo ativada.
Observe na Figura 3.2, que houve uma mudanca de nıvel logico no pino P1.3 do micro-
controlador correspondendo a ativacao do pino 4 do switch. Essa mudanca foi determinada
pelo ground na entrada do switch, tornando o pino que estiver ativado em de nıvel logico
1 para nıvel logico 0. Desta forma pode-se determinar qual tecla sera pressionada pelo
usuario atraves da programacao do microcontrolador. Caso mais de uma pino seja ativado,
o nıvel logico mudara 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 esta em nıvel logico 0. Entao e conveniente dizer
que as saıdas do switch determina qual a tecla esta sendo pressionada no microcontrolador
deste projeto.
Figura 3.2: Mudanca de Nıvel logico 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 sao sensıveis a nıvel logico 0, de
acordo com Nicolosi e Bronzeri [Nicolosi and Bronzeri.2008]. Para programar basta deter-
mina uma estrutura de controle de decisao. Observe na Figura 3.3 como e um programa
para determinando se o nıvel logico 0 foi ativado no pino P1.3 do microcontrolador
Figura 3.3: Estrutura do controlador de decisao e controlador de loop
Dessa forma e possıvel determinar para Figura 3.2 que esta ativado o pino P1.3 em
nıvel logico 0, realizar o procedimento contido na estrutura de controle while que esta na
Figura 3.3. Caso o programador queira verificar se os demais pinos esta em nıvel logico 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 atraves do display qual nota esta
sendo pressionado no teclado, com finalidade de disponibilizar melhor visibilidade quando
o usuario utilizar o teclado musical. Para que isso seja possıvel, primeiro sera necessaria
mostrar a interconexao do display ao microcontrolador que ambos ja foram apresentados
separadamente no capıtulo 2.
Observe na Figura 3.4 como e feito a interconexao entre o microcontrolador e o display
LM016L de acordo com Bronzeri e Nicolosi [Nicolosi and Bronzeri.2008]. Alem do display
e do microcontrolador outros componentes sao necessarios. O potenciometro e respon-
savel por controlar o contraste do display. Os demais componentes sao necessarios para o
funcionamento real do display.
Con�gurando o display LM016L 31
Figura 3.4: Interconexao 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 e representada por uma funcao chamada
de “comandosLCD”. Atraves dessa funcao e possıvel realizar os comandos que estao no
Apendice B. A Figura 3.5 e o codigo em C para que seja enviados comandos ao display.
Figura 3.5: Funcao de rotina para enviar comandos ao display LCD
Observe na Figura 3.5 que e a criacao da funcao de rotina “comandosLCD” no qual
Con�gurando o display LM016L 32
representa a forma em que serao enviados os comandos. Para que o programador envie
os comandos que ele desejar, observe a Figura 3.6 com a funcao onde o microcontrolador
envia alguns comandos ao display.
Figura 3.6: Funcao para inicializar o display LCD com alguns comandos
A Figura 3.6 apresentam alguns comandos do display chamada atraves da funcao “co-
mandosLCD” que a mesma ja foi apresentada na Figura 3.5. Ainda na Figura 3.6 os
comandos utilizados neste codigo estao em hexadecimal e como ja foi dito estao represen-
tados no Apendice B. Caso o programador queira utilizar outros comandos do display basta
transformar os comandos representados em binarios na tabela encontrada no Apendice B
para hexadecimal e colocar na estrutura da funcao “comandosLCD” .
A funcao para escrever no display e mais simples. Observe a Figura 3.7 com o codigo
em C da funcao de escrever no display.
Figura 3.7: Funcao para escrever no display LCD
Nesta Figura 3.7, onde contem o codigo em C para escrever num display, mostra a
funcao escrever. Para que o programador escreva no display sera necessario “chamar”, no
Gerando ondas no microcontrolador 8051 33
programa principal, esta funcao e entre os parenteses da funcao escrever a palavra, entre
aspas duplas, que deseja aparecer no display.
Apos apresentar as funcoes de rotina de enviar comandos, inicializar e escrever em um
display, observe na Figura 3.8 como e feito para escrever a nota musical em relacao a tecla
pressionada no switch e para quando nao houver tecla pressionada.
Figura 3.8: Programacao para escrever no display
Na Figura 3.8, o codigo contido no quadrado vermelho e quando nao houver nenhuma
tecla pressionada, sugerindo no visor a frase “Pressione uma tecla”. O codigo contido no
quadrado azul e para quando o usuario pressionar a tecla (correspondente ao pino P1.1
do microcontrolador), apresentando no visor a “Nota Do”. Dessa forma entao e possıvel
escrever as notas de acordo com a tecla pressionada.
3.3 Gerando ondas no microcontrolador 8051
O metodo utilizado e oscilar constantemente a saıda de um pino do microcontrolador
8051 entre nıveis logicos 0 e 1 atraves dos registradores especiais da P2, sendo que para
o intervalo da mudanca de nıveis logicos e determinado um tempo igual de duracao. O
tempo que e “gasto” pelos dois nıveis logicos forma uma onda digital periodica. Os tempos
Gerando ondas no microcontrolador 8051 34
do intervalo “gasto” pelos dois nıveis logicos entao e chamado de perıodo. O inverso desse
perıodo e a frequencia onde essa frequencia corresponde a uma nota musical.
Basicamente o microcontrolador gera uma oscilacao entre os nıveis logicos durante um
intervalo de tempo, a frequencia gerada depende do tempo “gasto” em cada nıvel logico. O
maior problema em trabalhar desta forma e que o microcontrolador possui um clock interno
onde cada ciclo de maquina demora cerca de 1 ms e o ciclo de maquina de cada instrucao
lida no programa e diferente pois o compilador primeiro traduz o codigo em linguagem C
para Assembly. A alternativa encontrada foi analisar atraves de osciloscopio a frequencia
gerada a cada tempo gasto pelos nıveis logicos e aproximar ao maximo da frequencia
correspondente a nota, no qual foi determinado pela programacao de uma estrutura de
controle for.
Observe a Figura 3.9, contendo o codigo com o metodo utilizado para gerar ondas
digitais periodicas no microcontrolador.
Figura 3.9: Metodo utilizado para gerar oscilacao em uma onda
Observe na Figura 3.9 que a variavel z no codigo oscila entre os valores 0 e 1 gerando
uma onda periodica na saıda do pino P2.0 do microcontrolador. Ha uma estrutura for,
na figura anterior, para cada nıvel logico, com o mesmo tempo “gasto” para cada uma.
A frequencia gerada por esse tempo “gasto” e correspondente a nota Do medio. Para as
demais notas as estruturas de controle for, tiveram que ser testados com valores aleatorios
para determina a frequencia correspondente as notas. As estruturas sao encontradas no
Apendice C junto com o restante do codigo fonte principal do programa.
Capıtulo 4
RESULTADOS
Neste capıtulo serao 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 atraves da metodologia utilizada no projeto. Primeiramente sera
mostrada a interconexao entre o microcontrolador e os demais dispositivos. Em seguida,
serao mostrados os resultados das notas no visor do display atraves de um osciloscopio,
analisado as ondas geradas pelo microcontrolador e o custo dos dispositivos.
4.1 Interconexao do microcontrolador com os demais
dispositivos
Uma das partes mais importantes do projeto e a interconexao entre o microcontrolador
8051, o display LCD LM016, o dispositivo de som, o switch e os demais componentes
para realizacao de uma simulacao real do teclado musical. Tendo em vista a interconexao
montado na Figura 4.1 com os dispositivos do projeto na ferramenta Proteus e possıvel
analisar cada parte da interconexao.
Observe na Figura 4.1 que o teclado faz interconexao com o microcontrolador atraves
dos registradores da porta P1. A porta P0, pela caracterıstica de“dreno aberto”, e utilizada
para interconectar o display LM016L. Na porta P2 do microcontrolador e apenas utilizado
o pino P2.0 no qual e responsavel por gerar a onda oscilante durante um perıodo que e
Resultado das notas musicais no display 36
Figura 4.1: Interconexao entre o microcontrolador e os demais dispositivos
correspondente a frequencia das notas musicais no qual ja foram apresentadas na Tabela 2.1.
Os demais dispositivos sao necessarios para o perfeito funcionamento do microcontrolador
em mundo real.
4.2 Resultado das notas musicais no display
E importante apresentar as notas musicais geradas correspondentes no visor a fim de
facilitar o aprendizado no teclado musical. Inicialmente o resultado e para caso de o usuario
do teclado nao pressione nenhuma tecla. Veja o resultado na Figura 4.2.
Observe na Figura 4.2 que no pino 8 do switch esta em nıvel logico 0 e os demais
pinos estao em nıvel logico 1, ou seja, nenhuma tecla foi pressionada. Enquanto o visor do
display mostra para o usuario 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 nıvel logico 1 para nıvel logico 0 e o display apresenta no seu visor
a frase “Nota Do”. O resultado para as demais notas quando pressionado e o mesmo. E
importante explicar que caso mais de uma tecla seja pressionada, a primeira e que sera
exibida no visor.
4.3 Resultado da onda gerada pelo microcontrolador
O microcontrolador gera uma onda digital periodica durante um determinado perıodo o
que caracteriza uma frequencia de acordo com Haliday [d. Haliday et al.1996]. Para poder
analisar a onda gerada e necessario utilizar um osciloscopio.
4.3.1 Analise da onda gerada pelo microcontrolador para a nota
Do
Na Figura 4.4 e utilizado um osciloscopio para analisar o formato da onda e a frequencia
em que ela ocorre.
Resultado da onda gerada pelo microcontrolador 38
Figura 4.4: Analise da onda gerada pelo microcontrolador da nota Do
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 e quadrada. O perıodo para formacao
de uma onda completa, de acordo com o osciloscopio da Figura 4.4, e aproximadamente 3,82
ms. A frequencia pode ser encontrada pela formula f=1/T resultando em aproximadamente
261 Hz, no qual e equivalente a frequencia da nota Do medio.
Resultado da onda gerada pelo microcontrolador 39
4.3.2 Analise da onda gerada pelo microcontrolador para a nota
Re
O resultado da onda digital gerado pelo microcontrolador para nota Re e apresentado
na Figura 4.5.
Figura 4.5: Analise da onda gerada pelo microcontrolador da nota Re
Observe na Figura 4.5 que a partir de agora o “Timebase” do osciloscopio e de 500
s/Div. O perıodo para formacao de uma onda completa, de acordo com o osciloscopio da
Figura 4.5, e aproximadamente 3,40 ms. A frequencia pode ser encontrada pela formula
f=1/T resultando em aproximadamente 293 Hz, no qual e equivalente a frequencia da nota
Re medio.
4.3.3 Analise da onda gerada pelo microcontrolador para a nota
Mi
O resultado da onda digital gerado pelo microcontrolador para nota Mi e apresentado
na Figura 4.6.
O perıodo para formacao de uma onda completa, de acordo com o osciloscopio da Figura
4.6, e aproximadamente 3,04 ms. A frequencia pode ser encontrada pela formula f=1/T
Resultado da onda gerada pelo microcontrolador 40
Figura 4.6: Analise da onda gerada pelo microcontrolador da nota Mi
resultando em aproximadamente 329 Hz, no qual e equivalente a frequencia da nota Mi
medio.
4.3.4 Analise da onda gerada pelo microcontrolador para a nota
Fa
O resultado da onda digital gerado pelo microcontrolador para nota Fa e apresentado
na Figura 4.7.
O perıodo para formacao de uma onda completa, de acordo com o osciloscopio da Figura
4.7, e aproximadamente 2,86 ms. A frequencia pode ser encontrada pela formula f=1/T
resultando em aproximadamente 349 Hz, no qual e equivalente a frequencia da nota Fa
medio.
Resultado da onda gerada pelo microcontrolador 41
Figura 4.7: Analise da onda gerada pelo microcontrolador da nota Fa
4.3.5 Analise da onda gerada pelo microcontrolador para a nota
Sol
O resultado da onda digital gerado pelo microcontrolador para nota Sol e apresentado
na Figura 4.8.
O perıodo para formacao de uma onda completa, de acordo com o osciloscopio da Figura
4.8, e aproximadamente 2,55 ms. A frequencia pode ser encontrada pela formula f=1/T
resultando em aproximadamente 392 Hz, no qual e equivalente a frequencia da nota Sol
medio.
4.3.6 Analise da onda gerada pelo microcontrolador para a nota
La
O resultado da onda digital gerado pelo microcontrolador para nota La e apresentado
na Figura 4.9.
O perıodo para formacao de uma onda completa, de acordo com o osciloscopio da Figura
4.9, e aproximadamente 2,27 ms. A frequencia pode ser encontrada pela formula f=1/T
resultando em aproximadamente 440 Hz, no qual e equivalente a frequencia da nota La
Resultado da onda gerada pelo microcontrolador 42
Figura 4.8: Analise da onda gerada pelo microcontrolador da nota Sol
Figura 4.9: Analise da onda gerada pelo microcontrolador da nota La
medio.
Custos dos dispositivos e análise provável do projeto implementado 43
4.3.7 Analise da onda gerada pelo microcontrolador para a nota
Si
O resultado da onda digital gerado pelo microcontrolador para nota Si e apresentado
na Figura 4.10.
Figura 4.10: Analise da onda gerada pelo microcontrolador da nota Si
O perıodo para formacao de uma onda completa, de acordo com o osciloscopio da Figura
4.10, e aproximadamente 2,02 ms. A frequencia pode ser encontrada pela formula f=1/T
resultando em aproximadamente 493 Hz, no qual e equivalente a frequencia da nota Si
medio.
4.4 Custos dos dispositivos e analise provavel do pro-
jeto implementado
Os precos dos dispositivos sao variados porem apresenta uma media. Observe a Tabela
4.1 com os precos dos dispositivos.
O custo dos dispositivos do projeto e relativamente baixo, porem para implementacao
fısica do projeto outras despesas serao necessarias. A estrutura fısica do instrumento pode
Custos dos dispositivos e análise provável do projeto implementado 44
Tabela 4.1: Preco dos dispositivos utilizados no projeto
Dispositivos Preco 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 e
viavel ou nao e um estudo mais abrangente e nao sera abordado neste trabalho.
Capıtulo 5
CONSIDERACOES FINAIS E
TRABALHOS FUTUROS
Os objetivos propostos por esse trabalho consistiam em:
a) Projetar uma forma de emitir as notas musicais Do, Re, Mi, Fa, Sol, La e Si com
recurso de um display de LCD onde o usuario visualize a nota musical que foi pressionada
numa tecla.
b) Analisar as formas de ondas geradas pelo microcontrolador.
c) Disponibilizar o custo medio dos dispositivos do projeto.
Esses objetivos foram todos concluıdos com os metodos utilizados, atraves dos dis-
positivos e apresentados neste trabalho. Onde tambem foram apresentados os resultados
atraves de um osciloscopio para cada nota musical deste projeto, detalhando cada passo
para chegar ao resultado final.
E importante destacar a funcao dos principais dispositivos eletronicos utilizados. Em
resumo o microcontrolador 8051 ofereceu mais de uma funcao, entre elas:
• Controlar o display de LCD.
46
• Gerar uma onda digital quadrada durante um determinando perıodo.
• Verificar a tecla pressionada.
Ja o display ficou responsavel 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. Alem disso, referente a analise do custo deste projeto, pode-se notar
o baixo custo dos dispositivos. Uma ideia interessante seria disponibilizar para criancas
de escolas publicas a implementacao fısica deste projeto a fim de auxiliar na educacao e
socializacao.
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 usuario a tocar uma musica. Outra proposta seria aumentar o numero de escalas e as
notas musicais das teclas pretas de um teclado musical.
Referencias Bibliograficas
[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 Disponıvel em: <http://www2.eletronica.org/apostilas-e-
ebooks/componentes/lcd30324b.pdf > 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: Gravitacao, Ondas e Termodinamica. S.A, 4a edition.
[Dutta.2010] Dutta., S. (2010). Small device c compiler Disponıvel em:
<http://sdcc.sourceforge.net> acesso em: 17 nov.
[Esquemas.org.2010] Esquemas.org., S. (2010). Entendendo os circuitos Disponıvel em:
<http://www.esquemas.org/entend.htm> acesso em: 17 nov.
[Floyd.2007] Floyd., T. (2007). Sistemas digitais – Fundamentos e Aplicacoes. Bookman, 9a
edition.
[Hitachi.1998] Hitachi., E. (1998). Manual de especificacao do display LM016L da Hitachi.
Hitachi.
[LabcenterElectronics.2010] LabcenterElectronics., E. (2010). Site da empresa responsavel
pela ferramenta proteus Disponıvel em: <http://www.labcenter.com> acesso em: 17 nov.
REFERÊNCIAS BIBLIOGRÁFICAS 48
[Neurotrend.2010] Neurotrend., E. (2010). Download do compilador 8051 Disponıvel em:
<http://www.microcontrolador.com.br/softwares.php?id=4> acesso em: 17 nov.
[Nicolosi and Bronzeri.2008] Nicolosi, D. E. C. and Bronzeri., R. B. (2008). Microcontrolador
8051 com linguagem C: pratico e didatico: famılia AT89S8252 atmel. Erica, 2a edition.
[Philips.2000] Philips., E. (2000). Manual de especificacao do microcontrolador 8051 da
Philips. Philips.
[Suits.2010] Suits., B. H. (2010). Frequencies of musical notes Disponıvel em:
<http://www.phy.mtu.edu/ suits/notefreqs.html> acesso em: 17 nov.