随着HI-FI音响热和家庭影院热的升温及电脑多媒体威廉希尔官方网站
的发展,有越来越多的音频功放被用于工作、学习及家庭娱乐。这些功放大多工作于A类(甲类)或AB类(甲乙类),尽管音质极佳、效果一流,但付出的代价是耗电巨大、效率甚低。
进入新世纪,功放的能耗与效率愈发引起人们的重视,况且节能与环保也是进入21世纪人们所面临的重大课题。因此,伴随着数字影音威廉希尔官方网站
及电脑多媒体威廉希尔官方网站
的发展,高效的D类(丁类)放大器重又引起人们的关注,D类数字音频功放也得到了长足的发展。现在使用的数字音频设备直接输出的是数码信号(如CD、DAT、MD、DVD、杜比数字解码器及多媒体电脑等),对于接入D类放大器显得更简单,可省去繁琐的D/A或A/D变换,减少失真以组成理想的数字化音响设备。目前,某些D类放大器的性能已达到HI-FI级的水平,可以预见到,音响领域的一个新时代即将到来。
电压而定)脉宽调制(PWM)音频功放,采用市场上廉价易购的通用元器件,专为多媒体电脑的有源音箱而设计,成本低、音质佳,具有很高的工作效率(>85%),是有望取代目前一些普通多媒体有源音箱的升级产品。
电路见图1。音频信号从INPUT端输入,R2与R3~R6、ES1~ES4组成数字式音量电位器,通过选择ES1~ES4的接通状态(共有24=16种状态),使R2与R3~R6的分压系数发生变化,从而进行音量控制(分16档调节)。
N
Y
N
Y
图3 主程序流程
DIS:
N
Y
图4
源程序。供本刊网站使用。
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP DIS
ORG 0030H
MAIN: MOV SP,#070H ;初始化
MOV 30H,#03H
MOV 31H,#0B0H
MOV 32H,#0C0H
MOV 33H,#0F3H
MOV 34H,#00H
MOV TMOD,#00H ;置T0定时器方式0
MOV TH0,#0E0H ;定时初值1mS
MOV TL0,#018H
SETB EA ;开放总中断
SETB ET0 ;开放T0中断
SETB TR0 ;启动T0
SETB P1.7
SETB P3.7
LOOP: JNB P1.7,AT0
JNB P3.7,AT1
LOOP1: MOV DPTR,#JPTAB
MOV A,30H
CLR C
RLC A
JNC NADD
INC DPH
NADD: JMP @A+DPTR
JPTAB: AJMP L0
AJMP L1
AJMP L2
AJMP L3
AJMP L4
AJMP L5
AJMP L6
AJMP L7
AJMP L8
AJMP L9
AJMP L10
AJMP L11
AJMP L12
AJMP L13
AJMP L14
AJMP L15
DIS: PUSH ACC ;保护现场
MOV P3,33H ;P3.3~3.0输出(控制音量)
MOV A,34H
CJNE A,#00H,FX1
MOV P1,31H ;显示数码管个位
CLR P3.4
SETB P3.5
MOV 34H,#01H
AJMP FX2
FX1:MOV P1,32H ;显示数码管十位
SETB P3.4
CLR P3.5
MOV 34H,#00H
FX2:MOV TL0,#018H ;定时初值1mS
MOV TH0,#0E0H
POP ACC ;恢复现场
REti
AT0:ACALL DEL20MS ;调用20mS延时子程序
JB P1.7,A2
MOV A,30H
CJNE A,#0FH,A1; ;30H内容为0FH,退出
AJMP A2
A1: INC 30H ;30H内容加1
ACALL DEL300MS ;延时300mS
A2: AJMP LOOP1 ;跳转到LOOP1
AT1:ACALL DEL20MS ;调用20mS延时子程序
JB P3.7,B2
MOV A,30H
CJNE A,#00H,B1 ;30H内容为00H,退出
AJMP B2
B1: DEC 30H ;30H内容减1
ACALL DEL300MS ;延时300mS
B2: AJMP LOOP1 ;跳转到LOOP1
L0: MOV 31H,#0C0H ;显示00
MOV 32H,#0C0H
MOV 33H,#0F0H ;P3.3~3.0输出0000
AJMP LOOP
L1: MOV 31H,#0F9H ;显示01
MOV 32H,#0C0H
MOV 33H,#0F1H ;P3.3~3.0输出0001
AJMP LOOP
L2: MOV 31H,#0A4H ;显示02
MOV 32H,#0C0H
MOV 33H,#0F2H ;P3.3~3.0输出0010
AJMP LOOP
L3: MOV 31H,#0B0H ;显示03
MOV 32H,#0C0H
MOV 33H,#0F3H ;P3.3~3.0输出0011
AJMP LOOP
L4: MOV 31H,#099H ;显示04
MOV 32H,#0C0H
MOV 33H,#0F4H ;P3.3~3.0输出0100
AJMP LOOP
L5: MOV 31H,#092H ;显示05
MOV 32H,#0C0H
MOV 33H,#0F5H ;P3.3~3.0输出0101
AJMP LOOP
L6: MOV 31H,#082H ;显示06
MOV 32H,#0C0H
MOV 33H,#0F6H ;P3.3~3.0输出0110
AJMP LOOP
L7: MOV 31H,#0F8H ;显示07
MOV 32H,#0C0H
MOV 33H,#0F7H ;P3.3~3.0输出0111
AJMP LOOP
L8: MOV 31H,#080H ;显示08
MOV 32H,#0C0H
MOV 33H,#0F8H ;P3.3~3.0输出1000
AJMP LOOP
L9: MOV 31H,#090H ;显示09
MOV 32H,#0C0H
MOV 33H,#0F9H ;P3.3~3.0输出1001
AJMP LOOP
L10: MOV 31H,#0C0H ;显示10
MOV 32H,#0F9H
MOV 33H,#0FAH ;P3.3~3.0输出1010
AJMP LOOP
L11: MOV 31H,#0F9H ;显示11
MOV 32H,#0F9H
MOV 33H,#0FBH ;P3.3~3.0输出1011
AJMP LOOP
L12: MOV 31H,#0A4H ;显示12
MOV 32H,#0F9H
MOV 33H,#0FCH ;P3.3~3.0输出1100
AJMP LOOP
L13: MOV 31H,#0B0H ;显示13
MOV 32H,#0F9H
MOV 33H,#0FDH ;P3.3~3.0输出1101
AJMP LOOP
L14: MOV 31H,#099H ;显示14
MOV 32H,#0F9H
MOV 33H,#0FEH ;P3.3~3.0输出1110
AJMP LOOP
L15: MOV 31H,#092H ;显示15
MOV 32H,#0F9H
MOV 33H,#0FFH ;P3.3~3.0输出1111
AJMP LOOP
DEL2MS: MOV R7,#02H ; 1mS延时子程序
DL0: MOV R6,#0FFH
DL1: DJNZ R6,DL1
DJNZ R7,DL0
RET
DEL20MS: MOV R5,#0AH ; 20mS延时子程序
DL2: ACALL DEL2MS
DJNZ R5,DL2
RET;
DEL300MS: MOV R3,#0FH ; 300mS延时子程序
DL4: ACALL DEL20MS
DJNZ R3,DL4
RET
END