Boa tarde pessoal, bom resumindo meu problema... Eu fiz um software aqui, a finalidade dele é reproduzir som através daquela teoria do BTC sound encoder.
Mas o problema é que o programa .hex deu por volta 40kb. Ou seja não cabe na memoria dos microcontroladores que eu utilizo...
Não entendo muito como utilizar memorias externas, alguem teria material para me auxiliar ou pelo menos me "nortear"oq fazer?
O programa é basicamente isto abaixo, só que a tabela (db) tem umas 15mil linhas, por isso que o programa dá tão grande.
Teria como armazenar essa tabela (db) em alguma memoria e ler nesta memoria?
Desde já muito obrigado.
$mod51
TX equ p1.1
org 00H
ljmp inicio
org 30H
inicio:
mov a,#00h
mov P1,a
mov dptr,#musica
loop:
push acc
movc a,@a+dptr
mov r2,#08
ljmp transf
pula:
pop acc
inc a
ljmp loop
transf:
rlc a ; desloca o bit para trx dentro do carry
mov TX,C ; coloca o conteudo do carry no pino TX
djnz r2,transf ; continuo ate os 8 bits terem sido trx
ljmp pula
org 100H
musica:
Db 0aaH
Db 0abH
Db 0aaH
Db 0b5H
Db 055H
Db 05aH
Db 0aaH
Db 0adH
....