标题: 单片机+M26429+PAM8403+MH-M18无线蓝牙音频功放设计 原理图PCB源程序 [打印本页]
作者: abcyhdefghhh 时间: 2020-6-10 10:14
标题: 单片机+M26429+PAM8403+MH-M18无线蓝牙音频功放设计 原理图PCB源程序
基于STC89C52的无线蓝牙音频功放
基于STC89C52的无线蓝牙音频功放,实现的具体功能如下:
1,无线蓝牙连接,手机可控制歌曲音频选择。
2,音频声音的大小可控制一排LED的亮灭数量起伏。
3,按键可控制手机音频的声音大小调节,歌曲的切换。
4,蓝牙一键开机功能,掉电保护。
Altium Designer画的单片机+M26429+PAM8403+MH-M18原理图和PCB图如下:(51hei附件中可下载工程文件)
单片机源程序如下:
- #include "reg52.h"
- #include "adc0832.h"
- #include "M62429.h"
- #include "intrins.h"
- #include "key.h"
- #include "I2C.h"
- uchar Smg[]={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};
- uchar led[]={0xff,0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};
- uchar v_led;//LED灯显示个数
- uint add=0;//中断溢出
- uchar voice_num;//音高
- uint led_num=0,led_num1=0;//led显示个数
- void key(void);//按键处理函数
- void smg_show(uint date);//数码管显示
- void led_show(uint led_num);//LED灯显示
- void pinit();//初始化函数
- void ad(void);//ad采集
- /*
- 主函数
- */
- void main()
- {
- pinit();
- while(1)
- {
- ad();
- VolSet(33+voice_num*6);//数字电位器,值越大,音量越高
- // smg_show(voice_num);
- led_show(led_num);
- key();
- }
- }
- /*
- 函数名:按键处理
- 功能: 按键处理
- 输入: 按键扫描返回值
- 输出: 无
- */
- void key()
- {
- uchar key_value;
- key_value=key_scan(0);//调用按键扫描
-
- if(key_value==KEY_UP)
- {
- if(voice_num==9)
- voice_num=9;
- else
- voice_num++;
- }
- else if(key_value==KEY_DOWN)
- {
- if(voice_num==0)
- voice_num=0;
- else
- voice_num--;
- }
- if(!key_value)
- write_eeprom(1,voice_num);
- }
- /*
- 函数名:数码管显示
- 功能: 显示音量
- 输入: 音量
- 输出: 无
- */
- void smg_show(uint date)
- {
- P1=0xfd;
- P0=0xc1;
- delay(500);
- P1=0xfe;
- P0=Smg[date];
- }
- /*
- 函数名:led显示
- 功能: 显示LED灯
- 输入: 音量
- 输出: 无
- */
- void led_show(uint led_num)
- {
- P2=led[led_num];
- }
- /*
- 函数名:初始化函数
- 功能: 定时器初始化
- 输入:
- 输出:
- */
- void pinit()
- {
- TMOD=0X01;
- TH0=(65536-10000)/256;
- TL0=(65536-10000)%256;
- TR0=ET0=EA=1;
- voice_num=read_eeprom(1);
- }
- void timer0() interrupt 1//定时器0中断
- {
- TH0=(65536-10000)/256;
- TL0=(65536-10000)%256;
- add++;
- if(add==1000)
- add=0;
- if(add%2)
- {
- P1=0xfd;
- P0=0xc1;
- }
- else if(add%2==0)
- {
- P1=0xfe;
- P0=Smg[voice_num];
- }
- }
- void ad()
- {
- v_led=a_d();
- led_num1=v_led/25;
- if(led_num<=led_num1)
- led_num=led_num1;
- if(add%6==0)
- {
- if(led_num)
- led_num--;
- }
- }
复制代码
所有资料51hei提供下载:
无线蓝牙音频功放PCB.7z
(759.55 KB, 下载次数: 423)
蓝牙功放各类驱动(cgf).zip
(3.89 KB, 下载次数: 230)
数字功放代码.rar
(54.07 KB, 下载次数: 243)
作者: 51hei团团 时间: 2020-6-11 18:28
好资料,51黑有你更精彩!!!
作者: jialishoushi 时间: 2020-8-5 01:00
感谢分享 手里有好几十个429 这下看能不能照葫芦画瓢搞个音量指示
作者: PPAPa 时间: 2020-8-19 11:07
蓝牙功放各类驱动(cgf)这里面的文件干什么用的?
作者: quentin83 时间: 2020-8-19 14:40
好资料,51黑有你更精
作者: ericwu2020 时间: 2020-8-26 11:38
STC89C52 如何控制蓝牙,是通过普通的I/O口给不同的高低电平来做 配对,联接和播放暂停吗
作者: 1677737868 时间: 2020-9-30 13:18
STC89C52 如何控制蓝牙,是通过普通的I/O口给不同的高低电平来做 配对,联接和播放暂停吗
作者: rayin 时间: 2020-11-15 17:44
不错,值得学习。51hei有你更精彩!!
作者: zcjwp520 时间: 2020-12-6 14:22
很不错的设计,值得学习,谢谢楼主先。
作者: Mr.懵不懂 时间: 2021-3-9 19:49
请问M26429是做什么的芯片啊?
作者: 墨冰轩 时间: 2021-3-18 12:29
我也想知道额
作者: Skyfree369 时间: 2021-3-20 23:03
不错,值得学习。感谢楼主无私分享,加油!
作者: ziuny 时间: 2021-3-31 16:54
PAM的功放蛮好用
作者: Mr.懵不懂 时间: 2021-4-11 18:04
M62429数字电位器
作者: Mr.懵不懂 时间: 2021-4-11 18:05
单片机下载不进去程序是怎么回事呢?
作者: zcjwp520 时间: 2021-5-19 11:48
很不多的帖子,正在需要这类的东西。
作者: ZLKJeng 时间: 2021-8-14 08:52
不错,值得学习。51hei有你更精彩!!
作者: gapgong 时间: 2021-9-13 23:52
有人利用该资料调试出来了吗?
作者: 追月! 时间: 2022-9-27 11:30
mh-m8内部原理图有吗
作者: 追月! 时间: 2022-9-27 11:31
好资料,51黑有你更精彩!
作者: wyl138 时间: 2022-10-30 21:59
好好的资料,必须支持。。
作者: 社会空想家 时间: 2022-12-7 14:13
兄弟,你当时找到原因了吗,我也出现同样的问题了。想请教一下
作者: dddly 时间: 2023-5-15 21:20
请问蓝牙用的什么
作者: zhengyichang 时间: 2023-8-19 09:21
好资料,51黑有你更精彩!!!
作者: xlhlydd 时间: 2023-10-10 21:32
51里能人多。楼主真棒,大伙和楼主一起加油啊
作者: hahahhahaha 时间: 2023-11-15 13:51
不错很值得学习,让我更加学会51代码
作者: 安华 时间: 2024-5-22 12:54
好资料,51黑有你更精彩!!!
作者: men007 时间: 2024-6-21 20:54
好资料,下载了。51黑有你更精彩!!!
作者: 优伤 时间: 2024-8-18 20:38
好资料,51黑有你更精彩!!!
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |