单片机教程网

电脑版
提示:原网页已由神马搜索转码, 内容由www.51hei.com提供.
查看:17130|回复:28

单片机+M26429+PAM8403+MH-M18无线蓝牙音频功放设计 原理图PCB源程序

 [复制链接]
ID:702304发表于 2020-6-10 10:14|显示全部楼层
基于STC89C52的无线蓝牙音频功放
       基于STC89C52的无线蓝牙音频功放,实现的具体功能如下:
           1,无线蓝牙连接,手机可控制歌曲音频选择。
           2,音频声音的大小可控制一排LED的亮灭数量起伏。
           3,按键可控制手机音频的声音大小调节,歌曲的切换。
           4,蓝牙一键开机功能,掉电保护。

Altium Designer画的单片机+M26429+PAM8403+MH-M18原理图和PCB图如下:(51hei附件中可下载工程文件)
51hei.png

51hei.png
51hei.png

单片机源程序如下:
  1. #include "reg52.h"
  2. #include "adc0832.h"
  3. #include "M62429.h"
  4. #include "intrins.h"
  5. #include "key.h"
  6. #include "I2C.h"

  7. uchar Smg[]={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};
  8. uchar led[]={0xff,0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};

  9. uchar v_led;//LED灯显示个数
  10. uint add=0;//中断溢出

  11. uchar voice_num;//音高
  12. uint led_num=0,led_num1=0;//led显示个数

  13. void key(void);//按键处理函数
  14. void smg_show(uint date);//数码管显示
  15. void led_show(uint led_num);//LED灯显示
  16. void pinit();//初始化函数
  17. void ad(void);//ad采集



  18. /*
  19.        主函数
  20. */
  21. void main()
  22. {
  23.        pinit();
  24.        while(1)
  25.        {
  26.            ad();
  27.            VolSet(33+voice_num*6);//数字电位器,值越大,音量越高
  28. //           smg_show(voice_num);
  29.            led_show(led_num);
  30.            key();
  31.        }
  32. }

  33. /*
  34.        函数名:按键处理
  35.        功能:       按键处理
  36.        输入:       按键扫描返回值
  37.        输出:       无
  38. */
  39. void key()
  40. {
  41.        uchar key_value;
  42.        key_value=key_scan(0);//调用按键扫描
  43.       
  44.        if(key_value==KEY_UP)
  45.        {
  46.            if(voice_num==9)
  47.                  voice_num=9;
  48.            else
  49.                  voice_num++;
  50.        }
  51.        else if(key_value==KEY_DOWN)
  52.        {
  53.            if(voice_num==0)
  54.                  voice_num=0;
  55.            else
  56.                  voice_num--;
  57.        }
  58.        if(!key_value)
  59.            write_eeprom(1,voice_num);
  60. }

  61. /*
  62.        函数名:数码管显示
  63.        功能:       显示音量
  64.        输入:       音量
  65.        输出:       无
  66. */
  67. void smg_show(uint date)
  68. {
  69.        P1=0xfd;
  70.        P0=0xc1;
  71.        delay(500);
  72.        P1=0xfe;
  73.        P0=Smg[date];
  74. }  

  75. /*
  76.        函数名:led显示
  77.        功能:       显示LED灯
  78.        输入:       音量
  79.        输出:       无
  80. */
  81. void led_show(uint led_num)
  82. {
  83.        P2=led[led_num];
  84. }

  85. /*
  86.        函数名:初始化函数
  87.        功能:       定时器初始化
  88.        输入:      
  89.        输出:
  90. */
  91. void pinit()
  92. {
  93.        TMOD=0X01;
  94.        TH0=(65536-10000)/256;
  95.        TL0=(65536-10000)%256;
  96.        TR0=ET0=EA=1;
  97.        voice_num=read_eeprom(1);
  98. }

  99. void timer0() interrupt 1//定时器0中断
  100. {
  101.        TH0=(65536-10000)/256;
  102.        TL0=(65536-10000)%256;
  103.        add++;
  104.        if(add==1000)
  105.            add=0;
  106.        if(add%2)
  107.        {
  108.            P1=0xfd;
  109.            P0=0xc1;
  110.        }
  111.        else if(add%2==0)
  112.        {
  113.            P1=0xfe;
  114.            P0=Smg[voice_num];
  115.        }
  116. }

  117. void ad()
  118. {
  119.        v_led=a_d();
  120.        led_num1=v_led/25;
  121.        if(led_num<=led_num1)
  122.            led_num=led_num1;
  123.        if(add%6==0)
  124.        {
  125.            if(led_num)
  126.            led_num--;
  127.        }
  128. }
复制代码

所有资料51hei提供下载:
无线蓝牙音频功放PCB.7z(759.55 KB, 下载次数: 418)

评分

黑币 +50
收起理由
+ 50
共享资料的黑币奖励!

查看全部评分

ID:328014发表于 2020-6-11 18:28|显示全部楼层
好资料,51黑有你更精彩!!!
ID:35873发表于 2020-8-5 01:00|显示全部楼层
感谢分享  手里有好几十个429  这下看能不能照葫芦画瓢搞个音量指示
ID:591632发表于 2020-8-19 11:07|显示全部楼层
蓝牙功放各类驱动(cgf)这里面的文件干什么用的?
ID:800832发表于 2020-8-19 14:40|显示全部楼层
好资料,51黑有你更精
ID:814885发表于 2020-8-26 11:38|显示全部楼层
STC89C52 如何控制蓝牙,是通过普通的I/O口给不同的高低电平来做 配对,联接和播放暂停吗
ID:806479发表于 2020-9-30 13:18|显示全部楼层

STC89C52 如何控制蓝牙,是通过普通的I/O口给不同的高低电平来做 配对,联接和播放暂停吗
ID:517951发表于 2020-11-15 17:44|显示全部楼层
不错,值得学习。51hei有你更精彩!!
ID:641660发表于 2020-12-6 14:22|显示全部楼层
很不错的设计,值得学习,谢谢楼主先。
ID:420063发表于 2021-3-9 19:49|显示全部楼层
请问M26429是做什么的芯片啊?

ID:891184发表于 2021-3-18 12:29|显示全部楼层
Mr.懵不懂 发表于 2021-3-9 19:49
请问M26429是做什么的芯片啊?

我也想知道额
ID:876573发表于 2021-3-20 23:03|显示全部楼层
不错,值得学习。感谢楼主无私分享,加油!
ID:251992发表于 2021-3-31 16:54|显示全部楼层
PAM的功放蛮好用
ID:420063发表于 2021-4-11 18:04|显示全部楼层

M62429数字电位器
ID:420063发表于 2021-4-11 18:05|显示全部楼层
单片机下载不进去程序是怎么回事呢?
ID:641660发表于 2021-5-19 11:48|显示全部楼层
很不多的帖子,正在需要这类的东西。
ID:960452发表于 2021-8-14 08:52|显示全部楼层

不错,值得学习。51hei有你更精彩!!
ID:510445发表于 2021-9-13 23:52|显示全部楼层
有人利用该资料调试出来了吗?
ID:1045996发表于 2022-9-27 11:30|显示全部楼层
mh-m8内部原理图有吗
ID:1045996发表于 2022-9-27 11:31|显示全部楼层

好资料,51黑有你更精彩!
ID:1049825发表于 2022-10-30 21:59|显示全部楼层
好好的资料,必须支持。。
ID:1043790发表于 2022-12-7 14:13|显示全部楼层
Mr.懵不懂 发表于 2021-4-11 18:05
单片机下载不进去程序是怎么回事呢?

兄弟,你当时找到原因了吗,我也出现同样的问题了。想请教一下
ID:1077709发表于 2023-5-15 21:20来自手机|显示全部楼层
请问蓝牙用的什么
ID:1091565发表于 2023-8-19 09:21|显示全部楼层
好资料,51黑有你更精彩!!!
ID:870445发表于 2023-10-10 21:32|显示全部楼层
51里能人多。楼主真棒,大伙和楼主一起加油啊
ID:1099820发表于 2023-11-15 13:51|显示全部楼层
不错很值得学习,让我更加学会51代码
ID:1000179发表于 2024-5-22 12:54|显示全部楼层
好资料,51黑有你更精彩!!!
ID:1063561发表于 2024-6-21 20:54|显示全部楼层
好资料,下载了。51黑有你更精彩!!!
ID:1130651发表于 2024-8-18 20:38|显示全部楼层

好资料,51黑有你更精彩!!!

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

Powered by 单片机教程网