Cómo escribir el programa de música 1234567 usando el microcontrolador 51
T0H EQU 30H
T0L EQU 31H
ORG 0000H
LJMP PRINCIPAL
ORG 000BH
LJMP T0ISR
ORG 0030H
PRINCIPAL:
MOV SP,#5FH
MOV TMOD,#01H p>
SETB ET0
SETB EA
LOOP:
MOV DPTR,#FREQ
MOV A,P2 ;Control Área de bajos de secundaria
MOV R1,#0
ANL A,#03H
JB ACC.0,LOOP01
MOV R1 , #14
SJMP LOOP0
LOOP01:
JB ACC.1,LOOP0
MOV R1,#28
LOOP0:
JB P0.0,LOOP1;Control de audio 1234567
MOV A,R1
MOVC A,@A+DPTR
MOV T0H,A
INC DPTR
MOV A,R1
MOVC A,@A+DPTR
MOV T0L ,A
BUCLE LJMP
BUCLE1:
JB P0.1,BUCLE2
MOV A,R1
AÑADIR A,#2
MOVC A,@A+DPTR
MOV T0H,A
INC DPTR
MOV A , R1
AÑADIR A,#2
MOVC A,@A+DPTR
MOV T0L,A
BUCLE LJMP p >
BUCLE2:
JB P0.2,BUCLE3
MOV A,R1
AÑADIR A,#4
MOVC A,@A+DPTR
MOV T0H,A
INC DPTR
MOV A,R1
AÑADIR A,#4
MOVC A,@A+DPTR
MOV T0L,A
BUCLE LJMP
BUCLE3:
JB P0.3,LOOP4
MOV A,R1
AÑADIR A,#6
MOVC A,@A+DPTR
MOV T0H,A
INC DPTR
MOV A,R1
AÑADIR A,#6
MOVC A,@A+DPTR
MOV T0L,A
BUCLE LJMP
BUCLE4:
JB P0.4,LOOP5
MOV A ,R1
AÑADIR A,#8
MOVC A,@A+DPTR
MOV T0H,A
INC DPTR< / p>
MOV A,R1
AÑADIR A,#8
MOVC A,@A+DPTR
MOV T0L,A
BUCLE LJMP
BUCLE5:
JB P0.5,BUCLE6
MOV A,R1
AÑADIR A,# 10
MOVC A,@A+DPTR
MOV T0H,A
INC DPTR
MOV A,R1
AÑADIR A,#10
MOVC A,@A+DPTR
MOV T0L,A
BUCLE LJMP
BUCLE6:
JB P0.6,BUCLE7
MOV A,R1
AÑADIR A,#12
MOVC A,@A+DPTR
MOV T0H,A
INC DPTR
MOV A,R1
AÑADIR A,#12
MOVC A,@A+DPTR
MOV T0L,A
BUCLE LJMP
BUCLE7:
CLR TR0
BUCLE LJMP
;-------------------- ------ ---------
T0ISR:
CLR TR0
MOV TH0,T0H
MOV TL0,T0L
SETB TR0
CPL P3.0
RETI
;--------- ------ ---------------
FREQ:
DB 0F2H,03DH;Bajo 1
DB 0F3H,0BDH;Bajo 2
DB 0F5H,014H;Bajo 3
DB 0F5H,0B1H;Bajo 4
DB 0F6H,0D0H;Bajo 5
DB 0F7H,0D1H ;Bajo 6
DB 0F8H,0B5H ;Bajo 7
DB 0F9H,01EH ;Alto 1
DB 0F9H,0DEH ;Alto 2
DB 0FAH,08AH;Alto 3
DB 0FAH,0D8H;Alto 4
DB 0FBH,068H;Alto 5 p>
DB 0FBH,0E8H;Alto 6
DB 0FCH,05AH;Alto 7
DB 0FCH,08FH;Agudos 1
DB 0FCH, 0EFH ;Agudos 2
DB 0FDH,045H ;Agudos 3
DB 0FDH,06CH ;Agudos 4
DB 0FDH,0B4H ;Agudos 5
DB 0FDH,0F4H ;Agudos 6
DB 0FEH,029H ;Agudos 7
;------------------ -----------
FIN