无线音乐门铃设计方案与制作.docx

上传人:b****2 文档编号:561277 上传时间:2023-04-29 格式:DOCX 页数:18 大小:197.65KB
下载 相关 举报
无线音乐门铃设计方案与制作.docx_第1页
第1页 / 共18页
无线音乐门铃设计方案与制作.docx_第2页
第2页 / 共18页
无线音乐门铃设计方案与制作.docx_第3页
第3页 / 共18页
无线音乐门铃设计方案与制作.docx_第4页
第4页 / 共18页
无线音乐门铃设计方案与制作.docx_第5页
第5页 / 共18页
无线音乐门铃设计方案与制作.docx_第6页
第6页 / 共18页
无线音乐门铃设计方案与制作.docx_第7页
第7页 / 共18页
无线音乐门铃设计方案与制作.docx_第8页
第8页 / 共18页
无线音乐门铃设计方案与制作.docx_第9页
第9页 / 共18页
无线音乐门铃设计方案与制作.docx_第10页
第10页 / 共18页
无线音乐门铃设计方案与制作.docx_第11页
第11页 / 共18页
无线音乐门铃设计方案与制作.docx_第12页
第12页 / 共18页
无线音乐门铃设计方案与制作.docx_第13页
第13页 / 共18页
无线音乐门铃设计方案与制作.docx_第14页
第14页 / 共18页
无线音乐门铃设计方案与制作.docx_第15页
第15页 / 共18页
无线音乐门铃设计方案与制作.docx_第16页
第16页 / 共18页
无线音乐门铃设计方案与制作.docx_第17页
第17页 / 共18页
无线音乐门铃设计方案与制作.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

无线音乐门铃设计方案与制作.docx

《无线音乐门铃设计方案与制作.docx》由会员分享,可在线阅读,更多相关《无线音乐门铃设计方案与制作.docx(18页珍藏版)》请在冰点文库上搜索。

无线音乐门铃设计方案与制作.docx

无线音乐门铃设计方案与制作

无线音乐门铃

设计与制作作品展示

学生:

学号:

指导教师:

完成时间:

2017.06.15

一、作品照片及测试报告

1、作品照片

图5发射模块作品正面照

图6接收放音模块作品正面照

图7作品反面照

2、测试报告

(1)硬件测试

本作品采用万能板进行焊接,对焊接功底以及识图能力有一定要求。

电路中容易出现漏接,接错,短路等问题。

焊接之前,需检查所有元器件是否损坏。

对照原理图,仿真图进行排版,尽量减少跳线。

上电前,测试电源和地是否短路。

本作品须接无线模块,特别要注意正负极是否接反。

调试中发现了很多问题,犯了很多低级错误。

其实很多错误都是不应该犯的。

以下是我检测发现的问题:

问题一:

无线接收模块电源和地接反

解决:

因为没有多余的芯片,为了节约时间。

所以先短接Q1(连接扬声器的三极管模拟接收模块接收信号),看有无音乐播放。

问题二:

短接Q1,有音乐播放。

但三极管的管脚关系搞错,把发射极和集电极焊错

解决:

对照原理图仔细检查三极管各管脚的连接,将焊错的三极管换掉。

按原理的连接关系从新焊接一个三极管。

问题三:

按下开关键,没有音乐播放,液晶屏无显示。

解决:

检测发现发射模块13脚少接一根线。

将线补齐。

问题四:

无线发射模块的实物与原理图引脚顺序不一样,排版时没有注意

解决:

按照实物修改原理图,对照改好的原理图从新进行焊接。

问题五:

无线发射电源和地接反,芯片发烫烧坏

解决:

买了一块芯片,从新接入电路

问题六:

液晶显示器12864在原理图中的19,20脚接反

解决:

老师指出12864和1602接线有问题,通过查阅资料,XX12864以及1602的功能表发现确实接错,将焊错的线改掉

(2)软件测试

本作品采用单片机进行编程,单片机编程较为复杂,在编程调试中我遇到了很多问题。

我采用分段的方法进行编程,一段程序一段程序的编写调试。

首先,将程序下入仿真软件中进行仿真。

然后,将程序下入学习开发板上,在下载之前在程序中把P2.5换成P3.0,模拟发射信号P2.7换成P1.0。

测试能否正常播放音乐和显示。

再将程序下本作品调试。

在老师的悉心指导下,最终完成了任务设计书的要求。

下面是我编程中遇到的问题及解决方法:

问题一:

1602液晶显示

解决:

由于平时上课并未接触过液晶显示的程序,只学习了点阵,通过自己在网上查找资料。

终于写出了一个液晶显示程序,经过仿真发现只能自动循环播放,按键不起作用。

在老师的指导下,终于实现了任务设计书的要求。

问题二:

显示与音乐播放不能同时进行

解决:

(3)系统功能测试

①电源输入电路:

将发射电路接入+12V直流电源,接收显示电路接入+5V直流电源。

看电源指示灯是否被点亮,若发光二极管不亮说明电源电路未接通

②程序下载电路:

将下载线接入下载端口,看是否能下载程序,若不能下载则说明下载电路有问题

③功放电路:

短接与扬声器连接的三极管,看是否有音乐播放,若没有音乐播放说明功放电路存在问题

④无线解码电路:

按下发射模块的开关,看是否有音乐播放,若没有音乐播放则说明无线发射或接收模块电路有问题

⑤显示电路:

按下开关,看液晶显示屏是否显示相应的歌曲,若没有显示或与播放音乐不同步则说明液晶显示或程序出问题了

⑥复位电路:

按下复位开关,看是否能进行系统复位,若不能正常复位则说明复位电路有问题

二、演示过程视频

三、作品操作使用说明

1,将本设计作品主要由单片机最小系统,显示电路,电源输入电路,无线接收发射电路构成。

图6所示接入+5V电源(如图6所示,下面靠右的端口为接收芯片接口从左到右依次为GND,DATA,DATA,VCC。

自锁开关下面的排针为下载端口,从上到下依次为VCC,TXD,RXD,GND。

自锁开关左边的接口为电源接口,电源接口左上排针为扬声器接口右正左负,最左边有两个液晶接口最左边为1602液晶显示屏接口,另一个为12864液晶显示屏接口)

2,将本设计作品图5所示接入+12V电源(如图5所示,右边下的排针为电源正极接口,靠近2262芯片的排针为电源负极。

上面靠左为无线发射芯片接口从左到右依次为GND,VCC,DATA)

3,按下一次原理图所示电路中的S3,开始播放音乐,如果一直没有键按下播放一首后自动停止。

如果再按下一次则暂停播放,液晶屏显示播放的音乐歌名,序号

4,一首歌播放完毕,再次按下S3开始播放下一首,液晶屏显示播放的音乐歌名,序号

4、图纸及源程序

1、仿真图

2、原理图

2

3、PCB图

4、元件清单

名称

型号

对应原理图编号

数量

电池

12V

2

1

电容

10U25V

C1

1

电容

30P

C2,C3

2

3MM红色发光二极管

RED

D1

1

蜂鸣器

蜂鸣器

FM1

1

DC电源座子

POWER

P1

1

PNP三极管

9012

Q1

1

NPN三极管

9013

Q2

1

电阻

10K

R1,R2,R4,R5,R6,R7,R9,R10

8

电阻

1K

R3

1

电阻

4.7M

R8

1

电阻

820K

R11

1

电阻

2K

R12

1

315M无线发射模块

发射模块

RX1

1

电源开关

SWITCH

S1

1

微动开关

SW-PB

S2,S3

2

无线编码芯片

SC2262

SC1

1

无线解码芯片

SC2272

SC2

1

315M无线接收模块

接收模块

TX1

1

51单片机

89c51-DIP40

U1

1

晶振

12M

X1

1

 

其它材料

USB电源线或电池盒

1

塑料支柱配套螺丝

4

万用板9*15cm

1

焊锡丝

若干

跳线/飞线

若干

5、源程序

//////////////////////////////////////////////

//51单片机无线遥控门铃程序

//////////////////////////////////////////////

#include

#definesound_amount5//歌曲的数量

sbitpause=P3^0;//播放\暂停

sbitspeaker=P1^0;//无源蜂鸣器

//////////////////////////////////////////////

unsignedchartimer0h,timer0l,time;//timer0h,timer0l为定时器T0的高低位初值,time为对应的节拍时间

unsignedcharmusic_num,num;//music_num为歌曲编号,music_num=0表示刚开机时的状态,num是查找歌曲数据表的地址

signedcharfre;//对应频率数据表的地址

bitplay_enable;//歌曲播放的使能标志位,用于播放\暂停

voiddelay(unsignedchart);//延时子函数,控制发音的时间长度

voiddelayms(unsignedintt);//普通延时子程序,可用于按键消抖

voidsong(void);//演奏一个音符

voidmusic_play(void);//播放歌曲

//////////////////////////////////////////////

//每三个数字,代表一个音符

//第一个数字是音符的数值1234567之一(第几个音),代表哆来咪发...

//第二个数字是0123之一,代表低音\中音\高音\超高音(第几个八度)

//第三个数字是时间长度,以半拍为单位,乐曲数据表的结尾是三个0

//////////////////////////////////////////////

//《两只老虎》

unsignedcharcodesong1[]={

5,1,1,5,1,1,6,1,2,5,1,2,1,2,2,7,1,4,

5,1,1,5,1,1,6,1,2,5,1,2,2,2,2,1,2,4,

5,1,1,5,1,1,5,2,2,3,2,2,1,2,2,7,1,2,6,1,2,

4,2,1,4,2,1,3,2,2,1,2,2,2,2,2,1,2,4,0,0,0};

//《世上只有妈妈好》

unsignedcharcodesong2[]={

6,2,3,5,2,1,3,2,2,5,2,2,1,3,2,6,2,1,

//6,2,3代表6,中音,3个半拍;

//5,2,1代表5,中音,1个半拍;

//3,2,2代表3,中音,2个半拍;

//5,2,2代表5,中音,2个半拍;

//1,3,2代表1,高音,2个半拍;

//...

5,2,1,6,2,4,3,2,2,5,2,1,6,2,1,5,2,2,3,2,2,1,2,1,6,1,1,5,2,1,

3,2,1,2,2,4,2,2,3,3,2,1,5,2,2,5,2,1,6,2,1,3,2,2,2,2,2,

1,2,4,5,2,3,3,2,1,2,2,1,1,2,1,6,1,1,1,2,1,5,1,6,0,0,0};

//《当你孤单你会想起谁》

unsignedcharcodesong3[]={

3,2,2,3,2,1,4,2,1,3,2,2,2,2,1,1,2,1,2,2,2,5,2,2,2,2,2,2,2,3,

1,2,2,1,2,1,2,2,1,1,2,2,7,1,1,6,1,1,7,1,2,3,2,2,7,1,2,7,1,3,

6,1,2,2,2,1,3,2,1,2,2,1,1,2,1,6,1,2,5,1,2,2,2,1,3,2,1,2,2,1,

1,2,1,6,1,2,6,1,2,2,2,1,3,2,1,2,2,1,1,2,1,6,1,1,7,1,1,1,2,6,0,0,0};

//《乡间小路》

unsignedcharcodesong4[]={

3,1,2,3,1,1,3,1,1,6,0,1,6,0,1,1,1,2,

6,0,1,5,0,1,6,0,4,6,0,2,6,0,1,6,0,1,6,0,2,6,0,1,1,1,1,

2,1,2,2,1,1,3,1,1,2,1,4,3,1,1,3,1,1,3,1,1,2,1,1,4,1,2,

4,1,2,3,1,2,2,1,1,1,1,1,2,1,4,7,0,1,7,0,1,7,0,1,6,0,1,

5,0,1,5,0,1,6,0,1,7,0,1,7,0,1,6,0,1,5,0,1,6,0,4,6,1,2,

3,1,1,6,1,1,7,1,1,6,1,1,5,1,1,5,1,2,5,1,1,2,1,1,5,1,1,

6,1,1,5,1,1,4,1,1,4,1,2,4,1,1,3,1,1,2,1,2,1,1,1,2,1,1,

3,1,1,2,1,1,1,1,1,2,1,1,3,1,4,6,1,2,3,1,1,6,1,1,7,1,1,

6,1,1,5,1,1,5,1,2,2,1,1,5,1,1,6,1,1,5,1,1,4,1,1,0,0,0};

//《送别》

unsignedcharcodesong5[]={

5,1,2,3,1,3,5,1,1,1,2,3,6,1,2,1,2,2,

5,1,4,5,1,2,1,1,1,2,1,1,3,1,2,2,1,1,1,1,1,2,1,4,5,1,2,

3,1,1,5,1,1,1,2,2,7,1,1,6,1,2,1,2,2,5,1,4,5,1,2,2,1,1,

3,1,1,4,1,2,7,0,1,1,1,4,6,1,2,1,2,2,1,2,4,7,1,2,6,1,1,

7,1,1,1,2,4,6,1,1,7,1,1,1,2,1,6,1,1,6,1,1,5,1,1,3,1,1,

1,1,1,2,1,8,5,1,2,3,1,1,5,1,1,1,2,2,7,1,1,6,1,2,1,2,2,

5,1,4,5,1,2,2,1,1,3,1,1,4,1,2,7,0,2,1,1,4,0,0,0};

 

//频率-半周期数据表高八位共保存了四个八度的28个频率数据

unsignedcharcodeFREQH[]={

0xF2,0xF3,0xF5,0xF5,0xF6,0xF7,0xF8,//低音1234567

0xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,0xFC,//1,2,3,4,5,6,7,i

0xFC,0xFD,0xFD,0xFD,0xFD,0xFE,//高音234567

0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF};//超高音1234567

//频率-半周期数据表低八位

unsignedcharcodeFREQL[]={

0x42,0xC1,0x17,0xB6,0xD0,0xD1,0xB6,//低音1234567

0x21,0xE1,0x8C,0xD8,0x68,0xE9,0x5B,0x8F,//1,2,3,4,5,6,7,i

0xEE,0x44,0x6B,0xB4,0xF4,0x2D,//高音234567

0x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16};//超高音1234567

voidmain(void)

{

TMOD=0x11;//T0T1均在工作方式1

ET0=1;//T0开中断

EA=1;//CPU开中断

while

(1)

{

music_play();//根据当前状态播放相应歌曲的某个音符

if(!

pause)//暂停键处理

{

delayms(5);

if(!

pause)

{

if(music_num==0)//music_num=0只有在刚开机,且未按下暂停键时存在,表示刚开机时的状态,按下后从第一首开始播放

{

music_num=1;//歌曲序号置1

num=0;//从头播放

play_enable=1;//允许播放

}

else

{

play_enable=~play_enable;

speaker=1;

}

while(!

pause)//若按着暂停键不放手时的处理

{

if(play_enable==0){}//如果是暂停,则显示时间不变//(暂停时play_enable==0)

}

}//暂停键处理结束

}//while结束

}

}

voiddelayms(unsignedintt)//MS延时子程序

{

unsignedinti,j;

for(i=0;i

{

for(j=0;j<123;j++)

;

}

}

voiddelay(unsignedchart)//延时子函数,控制发音的时间长度,每个节拍0.4S

{

unsignedchart1;

unsignedlongt2;

for(t1=0;t1

{

for(t2=0;t2<8000;t2++)//延时期间,可进入T0中断去发音

{

;

}

}

TR0=0;//关闭T0,停止发音

}

voidtimer0(void)interrupt1//T0中断程序,控制发音的音调

{

speaker=!

speaker;//输出方波,发音

TH0=timer0h;//下次的中断时间,这个时间控制音调高低

TL0=timer0l;

}

voidsong(void)//演奏一个音符

{

TH0=timer0h;//控制音调

TL0=timer0l;

TR0=1;//启动T0,由T0输出方波发音

delay(time);//每个音符的演奏时间

}

////////////////////////////////////////////////////////////////////////////////////

voidmusic_play(void)//播放相应歌曲的某个音符

{

if((music_num==1)&&(play_enable==1))

{

fre=song1[num]+7*song1[num+1]-1;//第i个是音符,第i+1个是第几个八度

timer0h=FREQH[fre];//从数据表中读出频率数值,实际上是定时的时间长度

timer0l=FREQL[fre];

time=song1[num+2];//读出时间长度数值

num+=3;

if(fre==-1)//判断歌曲的结束位,结束后转到下一首

{

num=0;//下一首从头播放

music_num=2;

play_enable=0;

}

song();//发出一个音符

}

////////////////////////////////////////////////////////////////////////////////////

if((music_num==2)&&(play_enable==1))

{

fre=song2[num]+7*song2[num+1]-1;

timer0h=FREQH[fre];

timer0l=FREQL[fre];

time=song2[num+2];

num+=3;

if(fre==-1)

{

num=0;

music_num=3;

play_enable=0;

}

song();

}

////////////////////////////////////////////////////////////////////////////////////

if((music_num==3)&&(play_enable==1))

{

fre=song3[num]+7*song3[num+1]-1;

timer0h=FREQH[fre];

timer0l=FREQL[fre];

time=song3[num+2];

num+=3;

if(fre==-1)

{

num=0;

music_num=4;

play_enable=0;

}

song();

}

////////////////////////////////////////////////////////////////////////////////////

if((music_num==4)&&(play_enable==1))

{

fre=song4[num]+7*song4[num+1]-1;

timer0h=FREQH[fre];

timer0l=FREQL[fre];

time=song4[num+2];

num+=3;

if(fre==-1)

{

num=0;

music_num=5;

play_enable=0;

}

song();

}

////////////////////////////////////////////////////////////////////////////////////

if((music_num==5)&&(play_enable==1))

{

fre=song5[num]+7*song5[num+1]-1;

timer0h=FREQH[fre];

timer0l=FREQL[fre];

time=song5[num+2];

num+=3;

if(fre==-1)

{

num=0;

music_num=1;

play_enable=0;

}

song();

}

////////////////////////////////////////////////////////////////////////////////////

}

//程序结束

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2