Buscar

Linguagem C Exercício Caixa De Musica U Brasilia

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Universidade de Brasília. 
Faculdade de Tecnologia. 
Departamento de Engenharia Elétrica 
Arquitetura de Processadores Digitais - 1º/2001. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Experiência 05: 
 
Caixa de Música 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 85 
1. Objetivos 
 
 Desenvolver um programa que permita tocar melodias monotônicas. 
 Familiarizar-se com interrupções usando output compare (TOC). 
 Apresentar o recurso de interrupções do tipo timer overflow. 
 
2. Introdução 
 
O timer do 6811 associado com os recursos de output compare (TOC) e 
os recursos de interrupções relacionados permite que se implemente complexas 
rotinas tanto de geração de sinais periódicos quanto para medida de tempo (TIC). 
Neste experimento, o usuário desenvolverá, usando estes recursos do 
6811, um programa que executa melodias simples monotônicas. 
A melodia a ser executada deverá ser colocada em um vetor de até 40 
componentes e deverá seguir a seguinte sintaxe: 
 
 Primeiro byte: Primeira Nota 
 Segundo byte: Duração da primeira Nota 
 Terceiro byte: Segunda Nota 
 Quarto byte: Duração da segunda nota 
 Etc. 
 
O programa desenvolvido deverá conter um mini-interpretador que lê o 
valor das notas e as executa. 
Para gerar as notas, pode-se usar o recurso do TOC2 da seguinte forma: 
gerar interrupções periódicas, a cada n ciclos de clock, de forma que em cada 
interrupção o pino da Porta A correspondente ao TOC 2 (PA6) mude de polaridade. 
Para controlar a freqüência de oscilação, deve-se usar as considerações a seguir. 
O período da onda, em um processador com freqüência de clock 2 MHz é 
de: 
6102
1
T


 s = 0,5 µs 
Desta forma, o tempo de duração de duas inversões do pino PA6, com n 
ciclos de clock cada, levará o seguinte tempo: 
 86 
66 10
n
102
n2
T 



 s 
 
Assim, a freqüência da onda quadrada gerada é: 
 
n
10
f
6

 Hz 
 
 
A seguir, são dadas as notas que deverão ser incluídas na escala de tons 
gerados pela caixa de música: 
 
 
Tabela 6.1: Freqüência das notas musicais 
 
Código Nota Freqüência (Hz) 
1 DÓ 277 
2 DÓ# 293 
3 RÉ 311 
4 RÉ# 329 
5 MI 349 
6 FÁ 370 
7 FÁ# 392 
8 SOL 415 
9 SOL# 440 
10 LÁ 466 
11 LÁ# 493 
12 SI 523 
13 DÓ 554 
14 DÓ# 587 
15 RÉ 622 
16 RÉ# 659 
17 MI 698 
18 FÁ 740 
19 FÁ# 784 
20 SOL 830 
21 SOL# 880 
22 LÁ 932 
23 LÁ# 987 
24 SI 1046 
25 DÓ 1108 
26 PAUSA 0 
27 FIM 0 
Fonte: Professor Adson Ferreira da Rocha 
 
 87 
 
 
 
O código para duração das notas é o seguinte: 
 
Tabela 6.2 – Codificação da duração das notas. 
 
Código Duração (s) 
1 4 
11 5 
2 2 
21 3 
3 1 
31 1.5 
32 1.75 
4 0.5 
41 0.75 
5 0.25 
55 0.375 
6 0.125 
Fonte: Professor Adson Ferreira da Rocha 
 
 
3. Procedimento Experimental 
 
O objetivo da parte obrigatória deste programa é executar a seguinte 
partitura: 
 
Tabela 3 – Partitura obrigatória. 
Nota Duração 
13 4 
18 55 
17 6 
18 55 
20 6 
22 55 
20 6 
22 55 
23 6 
24 41 
25 6 
22 6 
18 6 
Fonte: Professor Adson Ferreira da Rocha 
 88 
 
Na parte optativa o aluno deverá escrever sua própria melodia (deve ser 
uma melodia conhecida). A melodia deve incluir entre 10 e 20 notas. 
O primeiro problema com o qual o aluno deve se preocupar é a geração 
da nota. Uma forma simples de fazer isto é usar a interrupção TOC2. A freqüência 
que deve ser gerada pode, por exemplo, ser guardada em uma variável global, de tal 
forma que a rotina pode saber qual incremento deve usar. 
O segundo problema é controlar o tempo de duração das notas. Ficará a 
cargo do aluno a criação dos métodos para atingir o objetivo pretendido. 
Para gerar o som, é necessário preparar um circuito especial para acionar 
o alto-falante. O alto-falante não deve ser, em nenhuma hipótese, conectado 
diretamente à porta do 6811. A porta não tem a capacidade de suprir corrente para o 
mesmo. Sugere-se o seguinte método: ligar a saída da porta (PA6) a um inversor 
TTL com alta capacidade de corrente (e.g. 7406 – ver apêndice), e ligar este inversor 
a outro inversor semelhante. Note que, em geral, este tipo de inversor é do tipo 
coletor aberto e é necessário incluir um resistor entre a saída da porta e a fonte de 
alimentação. No segundo inversor, o alto-falante deve ficar em série com o resistor 
de pull-up. 
 
 
4. Apresentação e Discussão dos Resultados 
 
No pré-relatório, deve ser apresentada uma versão preliminar do 
programa em C, livre de erros de sintaxe. Deve ser apresentado também um desenho 
propondo o hardware necessário para o experimento. 
O aluno deverá relatar o funcionamento do programa elaborado, 
anexando o programa fonte com suas conclusões e sugestões. Também deve constar 
do relatório o desenho esquemático das interfaces desenvolvidas no experimento.

Outros materiais