您好,欢迎来到UU财经。
搜索
您的当前位置:首页基于ATC51的音量控制电路与程序设计

基于ATC51的音量控制电路与程序设计

来源:UU财经




commercial use

For personal use only in study and research; not for

基于ATC51的音量控制电路与程序设计

1 引言

本文介绍的音量控制ICM62429,市面上有很多类似的产品,例如:FM62429

CD62429CSC62429等。其实,掌握了一两种IC的编程方法,稍作改动就很容易移植

到其它产品上。M62429是日本三菱公司的音量控制IC,音量调节范围是0~-83dB,控

制精度每步1dB,内部电路如图一(详见M62429的使用手册)。


m

罿

图一M62429内部电路

2 硬件电路

根据图一而设计的电路如图二。





图二中已省略了单片机与功放连接的其他电路,只剩下ATC52的晶振部分、与M62429相关的电路、控制音量必需的按键电路等,加上电源之后,该电路可以工作。

由于ATC52真正的串口已用于其他用途,M624294脚(DATA)连至ATC52P2.2M624295脚(CLOCK)连到ATC52P2.1。由这两个引脚(P2.1P2.2)作为模拟串口与M62429通信,控制音量的数据便由这个模拟串口发出。

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



图二 M62429与单片机的连接

3 软件设计

M62429使用手册可知,送去M62429的控制数据DATA11位。通常的用法

如表一:

表一:M62429常用的11位数据(DATA)结构





表一中D2~D8是根据音量的大小变化需要改变的数据,其中D2~D6的编码如表二,

表二 M62429音量衰减值与D2~~D6的关系


wwwcs.com

从表二看出,D2~D6控制步长为4dB,需加上D7D8(见表三)才能达到控制步长为1dB的要求。例如最大音量时衰减值为0dB,查表二,D2~D6数据为10101,查表三,D7,D811,所以D2~~D8应为1010111,根据表一,D0~D1011位数据为10101011111。同理,衰减值为-1dB时的11位数据为10101010111。由于ATC51系列单片机处理数据是8位,由P2.2P2.1组成的模拟串口无法一次完成11位数据的发

送工作。我们只好把这11位数据分为两次发送,我们可以用先发送6位、后发送5位的方法(当然也可以用其他方法)发送。例如衰减0dB的数据10101011111,先发送前6101010,后发送511111。由于ATC51系列单片机数据为8位,我们可以在这些数据后面加上0”,补足8位。那么,衰减0dB的一组数据就成为了1010100011111000。把这组数据用十六进制数来表示的话,就是A8H,F8H。用同样的方法,可得

出各个衰减值的数据。

蚇我们设计程序的思路是:根据开机预设衰减值,用查表法查出衰减数据,然后把数据发送出去,发送时先发第一个数据的前6位,再发送另一数据的前5位。由于M62429



控制范围是0dB~-83dB。在这个范围内,数字越大,音量越小。要增加音量,就要减少用于查表那个数字(程序中R4的值)。框图如图三。



根据上述思路设计的程序如下:

ORG 00H

M429CK EQU P2.1 ;M62429时钟COLCK

M429DA EQU P2.2 ;M62429数据DATA

UPVOL EQU P1.0 ;音量增加按键



DOWNVOL EQU P1.1 ;音量减少按键




MOV SP, #10H

MOV R4, #20 ;开机预设衰减值

M62429:MOV A,R4 ;预设衰减值送A

RL A ;2

MOV DPTR,#TAB ;衰减数据表首址送DPTR

MOVC A,@A+DPTR;查出衰减数据

MOV 9H, A ;9HR2为一组衰减数据的两个存放单元
MOV A, R4

RL A ;2

MOVC A,@A+DPTR ;查出另一个衰减数据

MOV R2,A

CLR M429CK

MOV A,9H





CALL IN6BYT ;发送前6位数据

MOV A,R2

CALL IN5BYT ;发送后5位数据

UP: MOV C, UPVOL ;检测音量增加按键

JC DOWN ;无按下,转测音量减少键

CALL DELAY ;有按下,延时去抖

MOV C, UPVOL ;再测

JC DOWN
DEC R4 ;音量衰减值减1

CLR C

CJNE R4, #0, M62429;与音量最大值衰减0dB比较,未达最大,转M62429

SETB F0 ;己是最大,建立标志

JMP M62429

EEE: INC R4 ;音量衰减值增1





CLR F0

JMP UP

DOWN:MOV C, DOWNVOL ;检测音量减小键

JC UP

CALL DELAY

MOV C, DOWNVOL ;再测

JC UP

CLR C

CJNE R4, #83, BBB ;与音量最小值衰减83dB比较

LJMP M62429

BBB: JC M62429 ;R4<83 ,转M62429

MOV R4,#83 ;R4>83,需修正,保证r4里的值<=83

JMP M62429





IN6BYT:MOV R3,#6 ;发送6位数据子程序

本文创新点:1、程序中控制数据用查表法查得,使之控制方便,容易理解。

2、软件硬件结合紧密。







以下无正文

仅供个人用于学习、研究;不得用于商业用途。

Forpersonal use only in study and research; not for commercial use.

仅供个人用于学习、研究;不得用于商业用途。

Nurfür den pers?nlichen für Studien, Forschung, zu kommerziellenZwecken verwendet werden.

Pourl 'étude et la recherche uniquement à des fins personnelles; pas àdes fins commerciales.

仅供个人用于学习、研究;不得用于商业用途。

толькодля людей, которые используются дляобучения, исследований и не должныиспользоваться

в коммерческих целях.




Copyright © 2019- uude.cn 版权所有

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务