概述
蓝牙广州塔,受音乐控制的小蛮腰,能随音乐翩翩起舞,无线遥控,蓝牙播放音乐,25种动画,采用插件底板,为节省时间有的从网上买的模块

直接上实物图

android 蓝牙控制手机播放音频 蓝牙控制播放音乐_P4


android 蓝牙控制手机播放音频 蓝牙控制播放音乐_P4_02


android 蓝牙控制手机播放音频 蓝牙控制播放音乐_P4_03


android 蓝牙控制手机播放音频 蓝牙控制播放音乐_android 蓝牙控制手机播放音频_04


android 蓝牙控制手机播放音频 蓝牙控制播放音乐_单片机_05

一、主板调试
1、焊接检查
(1)虚焊短接这方面需要自己检查,请亲耐心检查哦!
(2)注意芯片的方向为芯片1号脚和缺口方向,焊反将直接烧坏芯片,请看下面箭头指示!
(3)供电检查,用万用表的电压档接到丝印为x,测试VCC,GND之间是否短路,是否为5V左右。若供电正常。
2、驱动电路检查
(1)简单测试
拿一个LED,长脚接在J17到J32任意一孔,短脚接到旁边一圈的任意一孔,通电,LED有发光效果,说明单片机,驱动电路大概正常。
(2)具体测试
根据制作步骤,制作出广州塔塔身第一层LED,层焊接上一根跳线,将制作好的LED,直接插进J1到J16,不用焊接,直接插进去有接触就行了,通电,跳线一端焊接在层,另一端依次接触到J17到J25,层的LED有变化,说明J1到J32输出正常,没有虚焊或者短路。测试的过程中,如果发现接到J17到J32中的任意输出时,没反应,说明相应的输出连接到芯片端有虚焊,请参考原理图对相应的输出进行补焊。比如,我们发现,接到J18的时候,层的LED一点没反应,这个时候,通过原理图,我们知道J18是连接到单片机的38脚,我们要对单片机的38脚进行补焊。出现类似问题,都用这个方法排查!
4、LED好坏检查
(1)每个LED重复驱动电路检查中的(1)简单测试,这种方法是利用主板将每个LED测试完成。
(2)利用万用表测试,将万用表拨到通断档或者LED测试档,总之是测试LED的档,红表笔接LED的正极,黑表笔接负极,LED能发光的说明LED是好的。
5、塔身有些层不亮
(1)遥控进入调试模式的,竖调试
(2)仔细观察之前灯不亮的那一层,在这个模式下到底哪颗灯不亮,换掉它即可。

单片机源程序C代码:

#include <stc12c5a60s2.h>
#define uchar unsigned char
 #define uint unsigned int#define LongToBin(n) (((n>>21)&0x80)|((n>>18)&0x40)|((n>>15)&0x20)|((n>>12)&0x10)|((n>>9)&0x08)|((n>>6)&0x04)|((n>>3)&0x02)|((n)&0x01))
 #define BIN(n) LongToBin(0x##n##)sbit anjian=P4^5;
sbit P0_0=P0^0;//层
 sbit P0_1=P0^1;
 sbit P0_2=P0^2;
 sbit P0_3=P0^3;
 sbit P0_4=P0^4;
 sbit P0_5=P0^5;
 sbit P0_6=P0^6;
 sbit P0_7=P0^7;
 sbit P4_6=P4^6;
 sbit P1_1=P1^1;
 sbit P1_2=P1^2;
 sbit P1_3=P1^3;
 sbit P1_4=P1^4;
 sbit P1_5=P1^5;
 sbit P1_6=P1^6;
 sbit P1_7=P1^7;sbit P3_0=P3^0;//竖
 sbit P3_1=P3^1;
 sbit P3_2=P3^2;
 sbit P3_3=P3^3;
 sbit P3_4=P3^4;
 sbit P3_5=P3^5;
 sbit P3_6=P3^6;
 sbit P3_7=P3^7;
 sbit P2_0=P2^0;
 sbit P2_1=P2^1;
 sbit P2_2=P2^2;
 sbit P2_3=P2^3;
 sbit P2_4=P2^4;
 sbit P2_5=P2^5;
 sbit P2_6=P2^6;
 sbit P2_7=P2^7;
 sbit P4_4=P4^4;char moshi=1;
 char h=0,v=0;
 int t=0;
 char zy=0,sj=0,jz=0;bit ly_flag=0; //成功接收标志
void delay_1ms(uint q)
 {
 uint i,j;
 for(i=0;i<q;i++)
 for(j=0;j<110;j++);
 }
 void key()
 {
 if(anjian0)
 {
 delay_1ms(5);
 if(anjian0)
 {
 while(anjian0);
 jz++;
 if(jz2)jz=0;
 if(jz0){moshi=1;TR0=0;ET0=0;};
 if(jz1){moshi=0;ly_flag=1;TR0=1;ET0=1;}
 }
 }
 }
 void dh1()
 {
 char i,j;
 P3_0=0;//J1
 P3_1=0;//J2
 P3_3=0;//J3
 P3_4=0;//J4
 P3_5=0;//J5
 P3_6=0;//J6
 P3_7=0;//J7
 P2_0=0;//J8
 P2_1=0;//J9
 P2_2=0;//J10
 P2_3=0;//J11
 P2_4=0;//J12
 P2_5=0;//J13
 P2_6=0;//J14
 P2_7=0;//J15
 P4_4=0;//J16P1_7=0;
 P1_6=0;
 P1_5=0;
 P1_4=0;
 P1_3=0;
 P1_2=0;
 P1_1=0;P4_6=0;
P0=0X01;
 delay_1ms(10);
 for(j=0;j<7;j++)
 {
 P0=(P0<<1)|0x01;
 delay_1ms(10);
 }
 P4_6=1;
 delay_1ms(10);
 P1_1=1;
 delay_1ms(10);
 P1_2=1;
 delay_1ms(10);
 P1_3=1;
 delay_1ms(10);
 P1_4=1;
 delay_1ms(10);
 P1_5=1;
 delay_1ms(10);
 P1_6=1;
 delay_1ms(10);
 P1_7=1;for(i=0;i<2;i++)
 {
 P1_7=0;

…………限于本文篇幅 需要完整代码请从以下自行下载…………

最后,如果有什么意见或者建议欢迎您留言给我,让我们共同学习一起进步,
如果需要 完整代码或设计文件,请在下方留言或者私信我,看到后会第一时间回复。

谢谢!