原创 基于AT89C51的音量控制电路与程序设计

2009-8-15 00:44 1526 4 4 分类: MCU/ 嵌入式

发布: 2009-4-04 21:35 |  作者: hnrain |   查看: 11次


摘要:本文介绍了用AT89C51系列单片机控制音量的方法。程序用查表的方法,通过模拟串口发送数据。作者把新产品程序中关于音源选择、屏幕驱动、遥控等内容去掉,只剩下音量控制部分的内容。电路也作了类似处理,使它能独立运行。
y!H;`;R1me5Q$w J44606关键词:音量控制;汇编语言;模拟串口; M62429 
X[g){W5y3[44606

2aoh.Y9J4l44606引言电子园51单片机学习网6q+t5XG XL

电子园51单片机学习网8P/{|)n5b/o7F2[^

本文介绍的音量控制IC为M62429,市面上有很多类似的产品,例如:FM62429、CD62429、CSC62429等。其实,掌握了一两种IC的编程方法,稍作改动就很容易移植到其它产品上。M62429是日本三菱公司的音量控制IC,音量调节范围是0~-83dB,控制精度每步1dB,内部电路如图一(详见M62429的使用手册)。

-E+n:]5K*aS$B44606 电子园51单片机学习网KqZn0|9HM6M(H5J3m

点击看大图

IeiN%j!Y7Q44606

电子园51单片机学习网 `P6g D"G0t7a8U1{


8D|RIQ7{5O/Z44606图一 M62429内部电路电子园51单片机学习网$tA0}Rr3D;UV

电子园51单片机学习网1E@ I p}V%cn&g4I%}

硬件电路

h7ZYgw,t@&vu44606 电子园51单片机学习网Hgl({Q7O:V

根据图一而设计的电路如图二。电子园51单片机学习网zN:J N,Q'e

电子园51单片机学习网/dNS&_%S+Z*S

图二中已省略了单片机与功放连接的其他电路,只剩下AT89C52的晶振部分、与M62429相关的电路、控制音量必需的按键电路等,加上电源之后,该电路可以独立工作。由于AT89C52真正的串口已用于其他用途,M62429的4脚(DATA)连至AT89C52的P2.2,M62429的5脚(CLOCK)连到AT89C52的P2.1。由这两个引脚(P2.1、P2.2)作为模拟串口与M62429通信,控制音量的数据便由这个模拟串口发出。

/V0].k8Kc+z44606

[9?-|9] f#f%[+C44606音频信号从LH1输入,其中L通道信号经过C1耦合到M62429 的1脚,被控制之后从2脚输出,再经C2耦合到LH2输出到后级进行放大。R通道信号经C4耦合到M62429的8脚,被控制后从7脚输出。经C3耦合至LH2输出到后级进行放大。在LH1处输入合适的音源,从LH2处就可以监听音量控制的情况。SW1为音量增加按钮。SW2为音量减小按钮,SW3为复位按钮。

p-JW8D{-p,a*v44606 电子园51单片机学习网h8e8C\ p8p Lv

点击看大图电子园51单片机学习网1E.X K)G K$j


kR.z+S9O_ sF44606

`j8VY3J44606

cv/hr+o&}`)H7a44606图二  M62429与单片机的连接

0uGN R9O ^#ivl44606

6w lmAn(p"f4]AYV44606软件设计

P,sD:i!x&^w F:e44606

.p4^0x"ofq9]44606从M62429使用手册可知,送去M62429的控制数据DATA为11位。通常的用法如表一:电子园51单片机学习网s[[)RA x

电子园51单片机学习网XHZ LD|s5l$@"e"Lo

                表一:M62429 常用的11位数据(DATA )结构电子园51单片机学习网3AH@:el7\']Qt




g9A lI:l44606D0

q@;T }'MKDEQ44606

,k?:\6P3R7[I)l)G44606D1电子园51单片机学习网!T if5NB/IH#a


8Qs3oE!WC%Ku ] lM44606D2

?6e3v+I,ykqs44606

v IR/pPHxk*P44606D3电子园51单片机学习网+k iG1U-o


D9ivU1d8w44606D4

la4tj;I%@e"Y44606
电子园51单片机学习网 el6qsAW u

D5电子园51单片机学习网&~ WO$lJ


V#n bF7O]/]x'f44606D6

b8D,i+AQ;lk44606

%Y\CwaD1q9k44606D7

V e/A7^` \)YY44606
电子园51单片机学习网*v*q i1oWq?1T\

D8电子园51单片机学习网$]4X8p*C;Lvo


4R`+Jo rx44606D9电子园51单片机学习网Zc'IJ'f6B YU5Or!M


MK)y7p9e^2I7S44606D10

|z%^KsW+M.A44606
电子园51单片机学习网7Qc8`3V%E y.F}@

1电子园51单片机学习网5[!O0~;d7k!Q#c^,Q


hV _(u.j ~#j9b/[446060电子园51单片机学习网b S!d \#l[2f


7位音量控制数据电子园51单片机学习网vps7xE~(s

电子园51单片机学习网 i&zg$UP eNY

1

3@N W_5{tJ)| nb44606
电子园51单片机学习网AaXGz

1电子园51单片机学习网0EB6t{/dL x


b;Oe3J([&M8Gx7S44606表一中D2~D8是根据音量的大小变化需要改变的数据,其中D2~D6的编码如表二,

AeHsier njz44606

表二  M62429音量衰减值与D2~~D6的关系电子园51单片机学习网 sf*J;[e4x$m@




ATTl

9TOH4K Xe%m44606

D2电子园51单片机学习网Fx}1^ te7t.O


D3

2Vx`I8|5Z#mK9Q6@44606

D4

9RVm2VM,X6EN c!tZ44606

D5

"aX+oz!Mc)H44606

D6

/B.M0A[j+P#U9l;H6E44606

OdB

:V5uy)S]H/B44606

1

-{S2m*Q^J/P7BQ LT9[44606

0

5b2m otHJC"V44606

1电子园51单片机学习网(B Xtx[N b$XlbaN


0电子园51单片机学习网e6];PG%{bE+U


1电子园51单片机学习网xee9_MT


-8dB

5J"f0^2~z a44606

1电子园51单片机学习网1o/[5j Z(~4?U


1

S)]{"W6Y44606

0电子园51单片机学习网Z;`0{)x+k&T


0电子园51单片机学习网jv ? t9p!y V/T([/z


1电子园51单片机学习网 t H.^sQ~G


-16dB

t5S0}1t@&WH~v44606

1电子园51单片机学习网gTZBa s#k


0电子园51单片机学习网@7Q ^x q:vn[(iU


0电子园51单片机学习网/xZoKjF4R N(LZ2^


0电子园51单片机学习网1IA TR+T(c+r%cB


1电子园51单片机学习网v ?3@+S A


-24dB电子园51单片机学习网@6ofa&?$xY6B


1

Jv8]hQ;l5n8`44606

1电子园51单片机学习网 Yk$SfVk


1

w4Z2g3r%lbP [/iJ7tNm X44606

1

K-I3[ V"OX4@l5k44606

0

d^ mG Ip }]:e#_|44606

-32dB电子园51单片机学习网AJI/]-h


1

"B5}1aiK$Y.i0E-C44606

0电子园51单片机学习网(x6X:B:b@H[ Z(X


1电子园51单片机学习网vb@x!B,HS


1

} a nXY ]7|&z's44606

0电子园51单片机学习网6`p@1U|


-40dB

.ub1|$Gr5N7BG hZ44606

1

^#S@WO@d~O44606

1电子园51单片机学习网 uO3C.`Ca"w K


0电子园51单片机学习网$OS D.zY y


1

;]8LM9Z5x+?i k;T44606

0电子园51单片机学习网@ wx&F!qS!y#H9\


-48dB

0_Gc'Z&k.n hJ44606

1电子园51单片机学习网 k&b {*xFT1p(r ZA6|


0

.EW7}1W2}Pp44606

0

@&NRi*D)W6A44606

1

0A!C#Z-Q'q0v(F44606

0

gq I-\\L| T44606

-56dB

G(Byz,MY.n44606

1电子园51单片机学习网ph8hz/HXz


1电子园51单片机学习网 Y)L#]!I4ng+] u


1

.A&z#y Zt3oRcs;G44606

0

r j1~ HNR3a2o#G44606

0

Y*N+K:M R(ZO1\,I44606

-64dB

}/OW/n;ND |44606

1

Ng5D5R-S1eH44606

0

,X%W7a _ [44606

1电子园51单片机学习网 a{,w+r2Tfg


0

&F"gq\,I&ri3T44606

0

L;\%{%DV,HZ i44606

-72dB电子园51单片机学习网C9xL#v4_uN7k


1

"XEu8Z'Z2i44606

1电子园51单片机学习网LP9F6{y5C2a9R)}


0

H#]OaU&cf6R44606

0

'pj%lB nI4~ S44606

0

"x @5X$bt+o;w _ \$i:? A44606

-80dB电子园51单片机学习网_if}gr


1

AN`p_t J44606

0电子园51单片机学习网^4InvmR7M(R


0电子园51单片机学习网a%Z&aXhm(~*b


0电子园51单片机学习网1KjYn.{


0电子园51单片机学习网ARN*I7^!pf(h


#?n G"n2j~4w44606 电子园51单片机学习网]-[4g6r:E%Z*?iR


表三  M62429音量衰减值与D7、D8的关系

^I/Mv+ql4@l2L44606


ATT2电子园51单片机学习网 {6h5u5AzT#E'M,} O


D7

e.L gs*BLw44606

D8

#t6@7DV"X2{44606

0dB

;J5D7~x7S Y44606

1

+|s?4S1_|+UQ\ J44606

1

ER;}w4I5_44606

-1dB

z'{pTM f;N44606

0电子园51单片机学习网5yW7|6_3diS9\ ^ h


1

,O-nN\ J44606

-2dB电子园51单片机学习网#g:nq4lm2U3_


1

{A8b`$b {'z44606

0

@D z0D9H)Z'` k:D44606

-3dB电子园51单片机学习网$B$o.S-U q7}n Bz(y%M


0

BE.sn+_+s0d6g44606

0

8aP1V$d3A!E44606

$}H~p{#Tq44606从表二看出,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。用同样的方法,可得出各个衰减值的数据。电子园51单片机学习网iH,~ ]v

电子园51单片机学习网"Z:W%K#v)~D O9H.^?

我们设计程序的思路是:根据开机预设衰减值,用查表法查出衰减数据,然后把数据发送出去,发送时先发第一个数据的前6位,再发送另一数据的前5位。由于M62429的控制范围是0dB~-83dB。在这个范围内,数字越大,音量越小。要增加音量,就要减少用于查表那个数字(程序中R4的值)。框图如图三。

9J ~R7G'w8YHoH44606

gx.G r$| s44606

6136_200904042136293P196.jpg电子园51单片机学习网0gx ALN K7`*Li!~#]~


图三  程序方框图电子园51单片机学习网 y C8Xt&Y8F[1SAu

电子园51单片机学习网.Q2hKsU'LIC4C,i
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
4
关闭 站长推荐上一条 /3 下一条