无线音乐门铃设计与制作-应用电子技术专业毕业设计与制作.doc_第1页
无线音乐门铃设计与制作-应用电子技术专业毕业设计与制作.doc_第2页
无线音乐门铃设计与制作-应用电子技术专业毕业设计与制作.doc_第3页
无线音乐门铃设计与制作-应用电子技术专业毕业设计与制作.doc_第4页
无线音乐门铃设计与制作-应用电子技术专业毕业设计与制作.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

应用电子技术专业毕业设计与制作无线音乐门铃设计与制作作品展示学生: 学号: 指导教师: 完成时间:2017.06.15一、作品照片及测试报告1、作品照片图5发射模块作品正面照图6接收放音模块作品正面照图7作品反面照2、测试报告(1)硬件测试本作品采用万能板进行焊接,对焊接功底以及识图能力有一定要求。电路中容易出现漏接,接错,短路等问题。焊接之前,需检查所有元器件是否损坏。对照原理图,仿真图进行排版,尽量减少跳线。上电前,测试电源和地是否短路。本作品须接无线模块,特别要注意正负极是否接反。调试中发现了很多问题,犯了很多低级错误。其实很多错误都是不应该犯的。以下是我检测发现的问题:问题一:无线接收模块电源和地接反解决:因为没有多余的芯片,为了节约时间。所以先短接Q1(连接扬声器的三极管模拟接收模块接收信号),看有无音乐播放。问题二:短接Q1,有音乐播放。但三极管的管脚关系搞错,把发射极和集电极焊错解决:对照原理图仔细检查三极管各管脚的连接,将焊错的三极管换掉。按原理的连接关系从新焊接一个三极管。问题三:按下开关键,没有音乐播放,液晶屏无显示。解决:检测发现发射模块13脚少接一根线。将线补齐。问题四:无线发射模块的实物与原理图引脚顺序不一样,排版时没有注意解决:按照实物修改原理图,对照改好的原理图从新进行焊接。问题五:无线发射电源和地接反,芯片发烫烧坏解决:买了一块芯片,从新接入电路问题六:液晶显示器12864在原理图中的19,20脚接反解决:老师指出12864和1602接线有问题,通过查阅资料,百度12864以及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、原理图23、PCB图4、元件清单名称型号对应原理图编号数量电池12V21电容10U 25VC11电容30PC2, C323MM 红色发光二极管REDD11蜂鸣器蜂鸣器FM11DC电源座子POWERP11PNP三极管9012Q11NPN 三极管9013Q21电阻10KR1, R2, R4, R5, R6, R7, R9, R108电阻1KR31电阻4.7MR81电阻820KR111电阻2KR121315M 无线发射模块发射模块RX11电源开关SWITCHS11微动开关SW-PBS2, S32无线编码芯片SC2262SC11无线解码芯片SC2272SC21315M 无线接收模块接收模块TX1151单片机89c51-DIP40U11晶振12MX11其它材料USB电源线 或 电池盒1塑料支柱 配套螺丝4万用板9*15cm1焊锡丝若干跳线/飞线若干5、源程序/51单片机无线遥控门铃程序/#include#define sound_amount 5 /歌曲的数量sbit pause=P30; /播放暂停sbit speaker=P10; /无源蜂鸣器/unsigned char timer0h,timer0l,time;/timer0h,timer0l为定时器T0的高低位初值,time为对应的节拍时间unsigned char music_num,num; /music_num为歌曲编号,music_num=0表示刚开机时的状态,num是查找歌曲数据表的地址signed char fre; /对应频率数据表的地址bit play_enable; /歌曲播放的使能标志位,用于播放暂停void delay(unsigned char t); /延时子函数,控制发音的时间长度void delayms(unsigned int t); /普通延时子程序,可用于按键消抖void song(void); /演奏一个音符void music_play(void); /播放歌曲/每三个数字,代表一个音符/第一个数字是音符的数值1234567之一(第几个音),代表哆来咪发./第二个数字是0123之一,代表低音中音高音超高音(第几个八度)/第三个数字是时间长度,以半拍为单位,乐曲数据表的结尾是三个0/两只老虎unsigned char code song1= 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;/世上只有妈妈好unsigned char code song2= 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;/当你孤单你会想起谁unsigned char code song3= 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 ;/乡间小路unsigned char code song4= 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; /送别unsigned char code song5= 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个频率数据unsigned char code FREQH= 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/ 频率-半周期数据表 低八位unsigned char code FREQL= 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 void main(void)TMOD=0x11; /T0 T1 均在工作方式1ET0=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; /歌曲序号置1num=0; /从头播放play_enable=1;/允许播放elseplay_enable=play_enable; speaker=1;while(!pause) /若按着暂停键不放手时的处理if(play_enable=0) /如果是暂停,则显示时间不变/(暂停时play_enable=0) /暂停键处理结束/while结束 void delayms(unsigned int t) /MS延时子程序unsigned int i,j;for(i=0;it;i+)for(j=0;j123;j+);void delay(unsigned char t) /延时子函数,控制发音的时间长度,每个节拍0.4Sunsigned char t1;unsigned long t2;for(t1=0;t1t;t1+) /嵌套循环, 共延时t个半拍 for(t2=0;t28000;t2+) /延时期间, 可进入T0中断去发音 ; TR0=0; /关闭T0, 停止发音void timer0(void) interrupt 1 /T0中断程序,控制发音的音调speaker=!speaker;/输出方波, 发音TH0=timer0h; /下次的中断时间,这个时间控制音调高低TL0=timer0l; void song(void) /演奏一个音符TH0=timer0h; /控制音调TL0=timer0l;TR0=1; /启动T0, 由T0输出方波发音delay(time); /每个音符的演奏时间/void music_play(void)/播放相应歌曲的某个音符if(music_num=1)&(play_enable=1)fre=song1num+7*song1num+1-1;/第i个是音符,第i+1个是第几个八度timer0h=FREQHfre; /从数据表中读出频率数值,实际上是定时的时间长度 timer0l=FREQLfre; time=song1num+2; /读出时间长度数值 num+=3;if(fre=-1)/判断歌曲的结束位,结束后转到下一首num=0; /下一首从头播放music_num=2;play_enable=0; son

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论