Você está na página 1de 10

Centro Federal de Educao Tecnolgica Celso Suckow da Fonseca CEFET/RJ

Curso: Engenharia Eletrnica Disciplina: Microprocessadores II Professor: Jesse Costa

Processador 8085

Alunos: Filipe Burns Soares Rafael Santos Montenegro

Rio de Janeiro, RJ Brasil Fevereiro / 2013

Introduo
Gerar as notas musicais desejadas utilizando o timer do 8155 com o processador da INTEL 8085, programando-o em cdigos hexadecimais. Para isso, usamos o kit didtico SDK-8085 de forma que ele gere as frequncias desejadas e assim toque as notas musicais.

Clock do 8155
O 8155 utiliza um clock diferente do cristal do circuito. Entretanto, existe uma relao entre esses clocks, que demonstrada pela equao a seguir:
f XTAL = 6,144 MHz

f CLOCK =

f XTAL 6,144 MHz = = 3,072 MHz 2 2


1 f CLOCK 1 = 325,52ns 3,072 MHz

Logo o perodo do clock do 8155 ser:


TCLOCK = =

Notas musicais
Cada nota musical apresenta uma frequncia que lhe caracterstica. Para termos uma valor em hexadecimal equivalente determinada frequncia, temos que retirar uma relao de quantos pulsos de T CLOCK precisaremos para gerar a frequncia desejada, conforme demonstrao abaixo:
N = TFREQ TCLOCK

Onde N o nmero de pulsos de clock do 8155 que ir gerar a frequncia da nota desejada. Este nmero dever ser mudado da base decimal para a base binria e, conforme visto na parte do Timer, deve-se acrescentar os bits 01b como sendo mais significativos. A partir desse nmero binrio que ser obtido o equivalente em hexadecimal a ser inserido na programao do 8155. Nota D:
f D = 261,62 Hz

N =

1 = (11742) 10 ( 2 DDE ) h 261,62 325,52n

Nota R:
f R = 293,66 Hz
N = 1 = (10461) 10 ( 28 DD) h 293,66 325,52n

Nota Mi:
f MI = 329,63Hz
N = 1 = (9320) 10 ( 2468) h 329,63 325,52n

Nota F:
f F = 349,23Hz

N =

1 = (8796) 10 ( 225C ) h 349,23 325,52n

Nota Sol:
f SOL = 392 Hz
N = 1 = (7837) 10 (1E 9 D ) h 392 325,52n

Nota L:
f L = 440 Hz
N = 1 = (6981) 10 (1B 45) h 440 325,52n

Nota Si:
f Si = 493,88 Hz
N = 1 = (5744)10 (1670) h 493,88 325,52n

Acrescentando o bit o1b tem-se:

Nota D: (2DDE)h [01|10110111011110] => (6DDE)h Nota R: (28DD)h [01|10100011011101] => (68DD)h Nota Mi: (2468)h [01|10010001101000] => (6468)h Nota Fa: (225C)h [01|10001001011100] => (625C)h 5

Nota Sol: (1E9D)h [01|01111010011101] => (5E9D)h Nota L: (1B45)h [01|01101101000101] => (5B45)h Nota Si: (1670)h [01|01011001110000] =>(5670)h

Tempo do delay
Para cada tempo de durao de cada nota, o clculo baseado na rotina de DELAY, onde pegamos o nmero total de estados e multiplicamos pelo TCLK. Os registradores responsveis pelo o nmero de vezes que esta rotina ir ficar em loop so o par DE. Rotina de delay utilizada: 6

Endereo Mneumnico 05F1 DCX D 05F2 MOV A, D 05F3 ORA E 05F4 JNZ 05F1 05F7 RET

N de Estados 6 4 4 10 / 7 10

TX = ( DE (6 + 4 + 4 + 10) 10 + 7 + 10) TCLOCK

( DE 24) + 7 =

TX TCLOCK

Aproximando, teremos:
( DE 24) =
x

TX TCLOCK

Onde T o valor de cada parte de tempo do compasso.


h

Transformando o maior valor de memria do 8155, que (FFFF) , para tempo, temos:
( FFFF 24) = T X = 511,99 ms TX T X = (65535 24 325,52n) 325,52 n

Porm utilizaremos o tempo de 500ms por ser mais prtico. Calculo para o tempo de 500ms :
( DE 24) = 500m 325,52n DE = ( F 9 FF ) h

Rotina do programa
Endere o
2000 2002 2004 2006

Cd. Mquina
3E D3 3E D3 6D 2D DE 2C

Labe Mnemnic l o
VOLT A MVI A,2D OUT 2D MVI A,DE OUT 2C

Comentrios

NOTA D (261,63 Hz)

2008 200A 200C 200F 2012 2013 2015 2017 2019 201B 201D 201F 2021 2024 2025 2027 2029 202B 202D 202F 2031 2034 2037 2038 203A 203C 203E 2040 2042 2044 2047 204A 204B 204D 204F 2051 2053 2055 2057 205A 205D 205E 2060 2062

3E D3 11 FF CD F1 3E D3 3E D3 3E D3 11 FF CD F1 3E D3 3E D3 3E D3 11 FF CD F1 3E D3 3E D3 3E D3 11 FF CD F1 3E D3 3E D3 3E D3 11 FF CD F1 3E D3 3E

C0 28 F9 05 76 68 2D DD 2C C0 28 F9 05 76 64 2D 68 2C C0 28 F9 05 76 62 2D 5C 2C C0 28 F9 05 76 5E 2D 9D 2C C0 28 F9 05 76 5B 2D 45

MVI A,C0 OUT 28 LXI D,F9FF CALL DELAY HLT MVI A,28 OUT 2D MVI A,DD OUT 2C MVI A,C0 OUT 28 LXI D,F9FF CALL DELAY HLT MVI A,64 OUT 2D MVI A,68 OUT 2C MVI A,C0 OUT 28 LXI D,F9FF CALL DELAY HLT MVI A,62 OUT 2D MVI A,5D OUT 2C MVI A,C0 OUT 28 LXI D,F9FF CALL DELAY HLT MVI A,5E OUT 2D MVI A,9D OUT 2C MVI A,C0 OUT 28 LXI D,F9FF CALL DELAY HLT MVI A,5B OUT 2D MVI A,46

PALAVRA DE COMANDO DELAY DE 500ms STOP NOTA R (293,66 Hz) PALAVRA DE COMANDO DELAY DE 500ms STOP NOTA MI (329,63 Hz) PALAVRA DE COMANDO DELAY DE 500ms STOP NOTA F (349,23 Hz) PALAVRA DE COMANDO DELAY DE 500ms STOP NOTA SOL (391,99 Hz) PALAVRA DE COMANDO DELAY DE 500ms STOP NOTA L (440,00 Hz)

2064 2066 2068 206A 206D 2070 2071 2073 2075 2077 2079 207B 207D 2080 2083 2084

D3 3E D3 11 FF CD F1 3E D3 3E D3 3E D3 11 FF CD F1 C3 00

2C C0 28 F9 05 76 56 2D 70 2C C0 28 F9 05 76 20

OUT 2C MVI A,C0 OUT 28 LXI D,F9FF CALL DELAY HLT MVI A,58 OUT 2D MVI A,4C OUT 2C MVI A,C0 OUT 28 LXI D,F9FF CALL DELAY HLT JMP VOLTA

PALAVRA DE COMANDO DELAY DE 500ms STOP NOTA SI (493,88 Hz) PALAVRA DE COMANDO DELAY DE 500ms STOP RETORNA PARA O LABEL

Referncias Bibliogrficas
-Notas de aula -Datasheet 8155 -Apostila de Microprocessadores

10