Busque el programa "Sistema de reproducción de voz basado en microcontrolador"
MOV TH0, #0D8H
MOV TL0, #0EFH
MOV TMOD, #01H
MOV IE , #82H
MUSIC0:
MOV DPTR, #DAT; Dirección del encabezado de la tabla a DPTR
MOV 20H, #00H Borrar contador de interrupciones 0
MOV B, #00H; número de tabla borrado 0
MUSIC1: NOP
CLR A
MOVC A, @A DPTR; obtener código.
JZ END0; Si es 00H, entonces finaliza
CJNE A, #0FFH, MUSIC5
LJMP MUSIC3
MÚSICA5: NOP
MOV R6, A
INC DPTR
MOV A, B
MOVC A, @A DPTR; código y enviado a R7
MOV R7, A
SETB TR0 empieza a contar
MUSIC2: NOP
CPL P3.3<; /p>
CPL P1.6
MOV A, R6
MOV R3, A
LCALL NO DOP
MOV R6, A
MOV R6, A
MOV R3, A
MOV R3, A
LCALL DEL
MOV A, R7
CJNE A, 20H, MUSIC2; Contador de interrupciones (20H)=R7 ¿Si no, continuar con el bucle?
MOV 20H, #00H; sí, toma el siguiente código
INC DPTR
; INC B
LJMP MUSIC1
MUSIC3: NOP
CLR TR0; descanso durante 100 ms
MOV R2, #0DH
MOV R2, #0DH
CJNE A, 20H, MUSIC2.#0DH
MUSIC4: NOP
MOV R3, #0FFH
LCALL DEL
DJNZ R2, MUSIC4
INC DPTR p>
LJMP MUSIC1
END0: NOP
MOV 02H
DEL4: NOP
DJNZ R4, DEL4
NOP
DJNZ R3, DEL3
RET
NOP
DAT:
db 26h , 20h, 20h, 20h, 20h, 20h.26h, 10h, 20h, 10h, 20h, 80h, 26h, 20h, 30h, 20h
db 30h, 20h, 39h, 10h, 30h, 10h
, 30h, 30h, 30h, 80h, 26h, 20h, 20h, 20h, 20h, 20h, 20h, 1ch, 20h
db 20h, 80h.2bh, 20h, 26h, 20h, 20h, 20h, 20h, 2bh, 10h, 26h, 10h, 2bh, 80h, 26h, 20h
db 30h, 20h, 30h, 20h, 39h, 10h, 26h, 10h, 26h, 60h, 40h, 10h, 39h , 10h, 26h, 20h
db 30h, 20h, 30h, 20h, 39h, 10h, 26h, 10h, 26h, 80h, 26h, 20h, 2bh, 10h, 2bh, 10h
db 2bh, 20h, 30h, 10h, 39h, 10h, 26h, 10h, 2bh, 10h, 2bh, 20h, 2bh.40h, 40h, 20h
db 20h, 10h, 20h, 10h, 2bh, 10h, 26h, 30h, 30h, 80h, 18h, 20h, 18h, 20h, 26h, 20h
db 20h, 20h, 20h, 20h, 40h, 26h, 20h, 20h, 2bh, 20h , 30h.20h, 30h, 20h, 1ch, 20h, 20h, 20h, 20h
db 20h, 80h, 1ch, 20h, 1ch, 20h, 20h, 20h, 1ch, 20h, 30h, 20h, 30h, 60h, 39h, 10h, 30h, 10h
db 20h, 20h, 2bh, 10h, 26h.10h, 2bh, 10h, 26h, 10h, 26h, 10h, 2bh, 10h, 2bh, 10h , 2bh, 80h
db 18h, 20h, 18h, 20h, 26h, 20h, 20h, 20h, 60h, 26h, 10h, 2bh, 20h, 30h, 20h
db 30h .20h, 1ch, 20h, 20h, 20h, 20h, 80h, 26h, 20h, 30h, 10h, 30h, 10h, 30h, 20h
db 39h, 20h, 26h, 10h, 2bh, 10h, 2bh, 20h, 2bh, 40h, 40h, 10h, 40h, 10h, 20h.10h
db 20h, 10h, 2bh, 10h, 26h, 30h, 30h, 80h, 00H
FIN