概述
蓝牙广州塔,受音乐控制的小蛮腰,能随音乐翩翩起舞,无线遥控,蓝牙播放音乐,25种动画,采用插件底板,为节省时间有的从网上买的模块
直接上实物图
一、主板调试
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;
…………限于本文篇幅 需要完整代码请从以下自行下载…………
最后,如果有什么意见或者建议欢迎您留言给我,让我们共同学习一起进步,
如果需要 完整代码或设计文件,请在下方留言或者私信我,看到后会第一时间回复。
谢谢!