T0L EQU 31H
ORG 扮拦0000H
LJMP MAIN
ORG 000BH
LJMP T0ISR
ORG 0030H
MAIN:
MOV SP,#5FH
MOV TMOD,#01H
SETB ET0
SETB EA
LOOP:
MOV DPTR,#FREQ
MOV A,P2 控制高中低音区
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 控制音频1234567
MOV A,R1
MOVC A,@A+DPTR
MOV T0H,A
INC DPTR
MOV A,R1
MOVC A,@A+DPTR
MOV T0L,A
LJMP LOOP
LOOP1:
JB P0.1,LOOP2
MOV A,R1
ADD A,#2
MOVC A,@A+DPTR
MOV T0H,A
INC DPTR
MOV A,R1
ADD A,#2
MOVC A,@A+DPTR
MOV T0L,A
LJMP LOOP
LOOP2:
JB P0.2,LOOP3
MOV A,R1
ADD A,#4
MOVC A,@A+DPTR
MOV T0H,A
INC DPTR
MOV A,R1
ADD A,#4
MOVC A,@A+DPTR
MOV T0L,A
LJMP LOOP
LOOP3:
JB P0.3,LOOP4
MOV A,R1
ADD A,#6
MOVC A,@A+DPTR
MOV T0H,A
INC DPTR
MOV A,R1
ADD A,#6
MOVC A,@A+DPTR
MOV T0L,A
LJMP LOOP
LOOP4:
JB P0.4,LOOP5
MOV A,R1
ADD A,#8
MOVC A,@A+DPTR
MOV T0H,A
INC DPTR
MOV A,R1
ADD A,#8
MOVC A,@A+DPTR
MOV T0L,A
LJMP LOOP
LOOP5:
JB P0.5,LOOP6
MOV A,R1
ADD A,#10
MOVC A,@A+DPTR
MOV T0H,A
INC DPTR
MOV A,R1
ADD A,#10
MOVC A,@A+DPTR
MOV T0L,A
LJMP LOOP
LOOP6:
JB P0.6,LOOP7
MOV A,R1
ADD A,#12
MOVC A,@A+DPTR
MOV T0H,A
INC DPTR
MOV A,R1
ADD A,#12
MOVC A,@A+DPTR
MOV T0L,A
LJMP LOOP
LOOP7:
CLR TR0
LJMP LOOP
-----------------------------
T0ISR:
CLR TR0
MOV TH0,T0H
MOV TL0,T0L
SETB TR0
CPL P3.0
RETI
-----------------------------
FREQ:
DB 培陆0F2H,03DH 低音1
DB 0F3H,0BDH 低音2
DB 0F5H,014H 低音3
DB 0F5H,0B1H 低音4
DB 0F6H,0D0H 低音5
DB 0F7H,0D1H 低音6
DB 0F8H,0B5H 低音7
DB 0F9H,01EH 中音1
DB 0F9H,0DEH 中音2
DB 0FAH,08AH 中配缺顷音3
DB 0FAH,0D8H 中音4
DB 0FBH,068H 中音5
DB 0FBH,0E8H 中音6
DB 0FCH,05AH 中音7
DB 0FCH,08FH 高音1
DB 0FCH,0EFH 高音2
DB 0FDH,045H 高音3
DB 0FDH,06CH 高音4
DB 0FDH,0B4H 高音5
DB 0FDH,0F4H 高音6
DB 0FEH,029H 高音7
-----------------------------
END
选高此择单片机和音频解码器:首先要选择适合自己需求的单片机和音频解码器。单片机可以选择性能启春较高的ARM Cortex-M系列芯片,音频解码器可以选择常见的VS1053等解码器。
设计硬件电路:根据所选的单片机和音频解码器,设计出合适的硬件电路。电路包括主控芯片、音频解码芯片、存储芯片、外设电路等。
编写驱动程序:编写单片机的驱动程序,控制音频解码器、存储芯片等外设。对于音频解码器,需要编写解码悄念耐程序,将音频数据转换成音频信号输出。
编写播放程序:编写播放程序,可以通过按键、串口等方式控制播放器的播放、暂停、停止等 *** 作。播放程序需要支持多种格式的音频文件,如MP3、WAV等。
调试和优化:完成以上步骤后,进行系统调试和优化,确保播放器的性能稳定可靠,音质清晰。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)