发布: 2009-4-04 21:35 | 作者: hnrain | 查看: 17次
)J`S2i&_2b8iGi FL01 引言
h-LK/M6Qm*]D0;GM*shHp0本文介绍的音量控制IC为M62429,市面上有很多类似的产品,例如:FM62429、CD62429、CSC62429等。其实,掌握了一两种IC的编程方法,稍作改动就很容易移植到其它产品上。M62429是日本三菱公司的音量控制IC,音量调节范围是0~-83dB,控制精度每步1dB,内部电路如图一(详见M62429的使用手册)。
-S/`+xh!v ~o SyA0 电子园51单片机学习网{T$S`h(P [图一 M62429内部电路
rk"D(^A+h-f1N0 电子园51单片机学习网[n3qE bH b.[K1V$m#p2 硬件电路
"b0t'tQ`#b+X2q0 电子园51单片机学习网S)Q*K5U'Fm@G_B'{根据图一而设计的电路如图二。电子园51单片机学习网Kz9G@$C2BJ
电子园51单片机学习网5pp t+`&e$S!p8`a图二中已省略了单片机与功放连接的其他电路,只剩下AT89C52的晶振部分、与M62429相关的电路、控制音量必需的按键电路等,加上电源之后,该电路可以独立工作。由于AT89C52真正的串口已用于其他用途,M62429的4脚(DATA)连至AT89C52的P2.2,M62429的5脚(CLOCK)连到AT89C52的P2.1。由这两个引脚(P2.1、P2.2)作为模拟串口与M62429通信,控制音量的数据便由这个模拟串口发出。电子园51单片机学习网^ N!a3{Yu
9t;i+ZUC0音频信号从LH1输入,其中L通道信号经过C1耦合到M62429 的1脚,被控制之后从2脚输出,再经C2耦合到LH2输出到后级进行放大。R通道信号经C4耦合到M62429的8脚,被控制后从7脚输出。经C3耦合至LH2输出到后级进行放大。在LH1处输入合适的音源,从LH2处就可以监听音量控制的情况。SW1为音量增加按钮。SW2为音量减小按钮,SW3为复位按钮。
'Y/| JG7}s? de.H0.u5k} e"At U0电子园51单片机学习网]s2LAQ/i
f9^l.Hr~5}Q0电子园51单片机学习网-GJ9p'w%X!?c
电子园51单片机学习网 Z1elE;CZF7N图二 M62429与单片机的连接电子园51单片机学习网Hbxh!{
/A_[4FM)D~T r`0]Vh03 软件设计电子园51单片机学习网P le&j+OgRj
6O:@Fm rzr6EI0从M62429使用手册可知,送去M62429的控制数据DATA为11位。通常的用法如表一:电子园51单片机学习网"gG9unR)@me
电子园51单片机学习网5l s%PM th'}表一:M62429 常用的11位数据(DATA )结构
f%|.\|T;o*k0电子园51单片机学习网N]y-Hd4O$R D0 !j`%~D{1z0 | ([:X.x;T:y8X!rW0D1电子园51单片机学习网y Yr@ JDw)S8k | 电子园51单片机学习网 pTe"AVMq D2电子园51单片机学习网 `P%V k}b'd1N{ c | +?)i0q fjDr"i0D3 ? NX[+]YJy?]0 | 电子园51单片机学习网(Vw(pN$q*a4{T D4电子园51单片机学习网2JHs"z F;@Ii$z | 电子园51单片机学习网I:m*jq d;WR D5 $N7e X1P%Z o0 | /L:k'} N&\n$G,E-jR0D6电子园51单片机学习网&f:z jN/H fo3` | y5i.|\0_g0D7 $re9U&R&l/t'N S:I"V*U0 | 电子园51单片机学习网@Z'p y K D8 :h#m9O6D y+xA0 | !K!hS'a9q;]5C0D9 9k7F,X ` ~6t0 | bQ3W.L5T0D10电子园51单片机学习网)c#@O9XB)tlW |
电子园51单片机学习网 nn7W-PRAO'?G/\ l 1 "sq"vECbA7[(z/R0 | W{tN%w)}00电子园51单片机学习网X[:zu)b9H XY tih | 7位音量控制数据 IZ1]`wTfF rmn0 | D?@H$X0E01电子园51单片机学习网 q ]9Ka6Ff)Z | /AV5L6qft_01 0N,O;a3W%K-l$nf1_&G B0 |
表一中D2~D8是根据音量的大小变化需要改变的数据,其中D2~D6的编码如表二,电子园51单片机学习网(i_[/o.m [V
表二 M62429音量衰减值与D2~~D6的关系
,gK(_7[/Bm|0ATTl &Z'N N uL FS[| H0 | D2 6{*}8u$rY0 | D3 9\7sEe"N0 | D4电子园51单片机学习网~#k&}0i K:y | D5 #Wcq/G|;t4W0 | D6 r-\CU"G*z%ou?A0 |
OdB iyu-{(NE nd%b0 | 1电子园51单片机学习网 }uSe j8][ | 0 Y"lNu2pA0]:v I2x0 | 1 7K1U_"R_5U^0 | 0 UTbV\mo7Tkw5X0 | 1 #t K'V Pt0 |
-8dB电子园51单片机学习网4G-RY;B;}5X | 1 s vEB#Bzx"o:tq7bO0 | 1电子园51单片机学习网5R/o\TC4rA | 0 ,Z3v8w;_#nK#yX0 | 0电子园51单片机学习网 {u4jw!h)t$|4^y\ | 1 )C}*H X\F0 |
-16dB (I#D n"^N0 | 1 -@*f RAz0 | 0电子园51单片机学习网G+O"v Gr | 0 &e7N }_Ku9?;E ?I0 | 0电子园51单片机学习网/a k,B l:k e,{ | 1电子园51单片机学习网 e&v%XF&y}t$y |
-24dB 'cR_2Y$MDb0 | 1电子园51单片机学习网)Xwi W;b7x7eZ(p+p | 1电子园51单片机学习网Z1pI)Jl%E | 1电子园51单片机学习网 I;]t Mb0YtW | 1电子园51单片机学习网R0DARKc3K | 0电子园51单片机学习网\+y$q~2]!g2^qUM |
-32dB电子园51单片机学习网Rom'K"Y | 1 O,y@ {%{#K0 | 0 E@ }Ua#Y0 | 1 `:dy&T)NjK g0 | 1电子园51单片机学习网'i/}H1or Xs1S | 0 1}.?,J A(N0w0 |
-40dB电子园51单片机学习网&O;`3~n'R9P | 1 g6OWd9A*|t5K&U0 | 1 hbWuW0 | 0电子园51单片机学习网 Hst5HS3U | 1 +_{5[ b\1m.O0 | 0 !k&?8@h?y9V0 |
-48dB {X,{!Wq|`3[0 | 1 _hV.k"?0 | 0电子园51单片机学习网I H+@]1J0vb | 0电子园51单片机学习网!pZ6j ?_:` n[6N | 1电子园51单片机学习网#c%Ftu!V.F3F | 0 A.K1_ @H0 |
-56dB电子园51单片机学习网#} ?nRU/aW | 1 FFekw.DnR)c0 | 1电子园51单片机学习网N _*W$^}.F | 1 1C'hv?S+@1q h*e:Y0c0 | 0电子园51单片机学习网-R`+X;a$TGG z2R:Lh | 0 4r$|ZJ,Nx4?0 |
-64dB电子园51单片机学习网0q)b kr;C|:n | 1 ~2] r]p4i0 | 0电子园51单片机学习网C/W|aGY7H3RS | 1电子园51单片机学习网`#R6Dp.G9JH | 0 ,hDv"HR!v0 | 0 {;fj-SC5Bs0 |
-72dB电子园51单片机学习网:H KB\6tO2pW | 1 t ?a*x m0 | 1电子园51单片机学习网e)H An{.f-]h m TA` | 0 1ro FO!_0 | 0电子园51单片机学习网 R4Cp#zDziC | 0电子园51单片机学习网QEXMe] |
-80dB "F])CbG Fg0 | 1电子园51单片机学习网'm#rI.P-q:a+w | 0电子园51单片机学习网#X,A1X/Du a | 0电子园51单片机学习网,f&KzW_)f.S5jJ%y | 0 0Lr$}j$Y`l0 | 0 G'@&`+}"S T;A0 |
)VU5j-MbzV(vwZ*p0
表三 M62429音量衰减值与D7、D8的关系
{f;A8TPDxK0ATT2电子园51单片机学习网9z%X$wyB QZ;f{"DA | D7电子园51单片机学习网!u5X h+H#GBM | D8电子园51单片机学习网8zYTP"cl\ |
0dB %[#stL5xS.kFU!f0 | 1 9gJ+?`f]@`0 | 1电子园51单片机学习网NGDR~/w9df |
-1dB 7z;FU*KBk0 | 0 K)^d4b;\.iX gD'u0 | 1电子园51单片机学习网I2Vti;? |
-2dB 0h.to-RI+~0 | 1 MAQe2~"s0 | 0电子园51单片机学习网fxk |l_:Fa+p"Z |
-3dB电子园51单片机学习网'qvaK^!PL'r | 0 b#a$F%M@#x3| W{U)r0 | 0电子园51单片机学习网(~lJ&x(F7~ ~&p |
从表二看出,D2~D6控制步长为4dB,需加上D7、D8(见表三)才能达到控制步长为1dB的要求。例如最大音量时衰减值为0dB,查表二,D2~D6数据为10101,查表三,D7,D8为11,所以D2~~D8应为1010111,根据表一,D0~D10这11位数据为10101011111。同理,衰减值为-1dB时的11位数据为10101010111。由于AT89C51系列单片机处理数据是8位,由P2.2、P2.1组成的模拟串口无法一次完成11位数据的发送工作。我们只好把这11位数据分为两次发送,我们可以用先发送6位、后发送5位的方法(当然也可以用其他方法)发送。例如衰减0dB的数据10101011111,先发送前6位101010,后发送5位11111。由于AT89C51系列单片机数据为8位,我们可以在这些数据后面加上“0”,补足8位。那么,衰减0dB的一组数据就成为了10101000和11111000。把这组数据用十六进制数来表示的话,就是A8H,F8H。用同样的方法,可得出各个衰减值的数据。
_q jllriW0r E8B;\~&}5R0我们设计程序的思路是:根据开机预设衰减值,用查表法查出衰减数据,然后把数据发送出去,发送时先发第一个数据的前6位,再发送另一数据的前5位。由于M62429的控制范围是0dB~-83dB。在这个范围内,数字越大,音量越小。要增加音量,就要减少用于查表那个数字(程序中R4的值)。框图如图三。
'oyIgD/`6yA+l0电子园51单片机学习网g*vf3t,AF V
电子园51单片机学习网5jik(MO7XId
图三 程序方框图
)j]%C],Sb'v07\x _Y$Si JT o0
文章评论(0条评论)
登录后参与讨论