找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 20560|回复: 3
收起左侧

单片机通过数字电位器控制音量

[复制链接]
ID:138343 发表于 2016-9-11 20:51 | 显示全部楼层 |阅读模式
使用音乐频谱时发现经常需要把手机或mp3的音量调到最高效果才好。
为解决这个问题就在音乐频谱ad输入前加一级音频功放电路,用普通的双联电位器通过手动控制的方法调整功率输出以达到频谱显示最好的效果。
思考下,如果ad前一级功率输出可通过单片机控制就更完美。
通过淘宝查找 到电位 器FM62429, 价格不到1元,是仿制日本M62429的国产芯片。
又百度查询了单片机控制此芯片的方法,并在51黑里也查过关于M62429的应用还没有网友发过帖子,就在此转载一下。

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

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

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

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

从M62429使用手册可知,送去M62429的控制数据DATA为11位。通常的用法如表一:
表一:M62429 常用的11位数据(DATA )结构
101016230259653.jpg
表二 M62429音量衰减值与D2~~D6的关系
101016230259654.jpg
101016230259655.jpg
从表二看出,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。用同样的方法,可得出各个衰减值的数据。
我们设计程序的思路是:根据开机预设衰减值,用查表法查出衰减数据,然后把数据发送出去,发送时先发第一个数据的前6位,再发送另一数据的前5位。由于M62429的控制范围是0dB~-83dB。在这个范围内,数字越大,音量越小。要增加音量,就要减少用于查表那个数字(程序中R4的值)。框图如图三。83dB。在这个范围内,数字越大,音量越小。要增加音量,就要减少用于查表那个数字(程序中R4的值)。框图如图三。
101016230259656.jpg

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:57657 发表于 2016-9-11 21:44 | 显示全部楼层
简单的就直接将声音信号经过单片机的ad转换然后使用特定算法处理声音数据然再通过da转换输出模拟量就能调节音量以及使用各种算法进行声音过滤,无需数字电位器即可实现。(对于音质要求较高的慎用此方法)
回复

使用道具 举报

ID:243789 发表于 2017-12-6 10:00 | 显示全部楼层
老哥 程序有没 求指教
回复

使用道具 举报

ID:74784 发表于 2021-7-8 13:59 | 显示全部楼层
我做的是51遥控pga2311的电子音量,lcd显示。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表