基于单片机的电子音乐门铃_第1页
基于单片机的电子音乐门铃_第2页
基于单片机的电子音乐门铃_第3页
基于单片机的电子音乐门铃_第4页
基于单片机的电子音乐门铃_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

.图2-4Proteus仿真软件三、总体设计3.1系统需求设计是基于AT89C51单片机的可控音乐门铃程序设计。依据单片机技术原理,通过PROTEUS仿真软件对硬件电路进行仿真制作以及利用KEIL软件对音乐门铃源程序进行C语言编译,而设计制作出的一个多功能音乐门铃。系统需满足以下要求,利用51单片机的I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲;同时客人可通过门铃按键器播放音乐,并显示主人预设的提示信息;如果主人在家,可暂停并取消音乐。3.2总体设计方案音乐门铃的系统结构以AT89C51单片机位控制核心,加上2个按键、时钟复位电路、放大器、蜂鸣器、LCD显示模块组成。单片机负责接收按键的输入,根据输入控制音乐播放曲目和显示提示信息以及蜂鸣器发音。系统组成结构图如图2-1所示。AT89C51单片机蜂鸣器放大器AT89C51单片机蜂鸣器放大器门铃按键门铃按键LCD1602显示内容LCD1602显示内容复位按键复位按键音乐停止音乐停止图3-1系统组成结构图3.3系统功能流程当客人来访,按动门铃开关K2,单片机根据开关K1判断主人是否在家,当K1断开时,即主人在家,则驱动蜂鸣器播放主人预先设定的音乐,并且LCD1602液晶显示屏显示容"Welcome!Pleasewait!",主人此时可关闭蜂鸣器和LCD提示前去开门。当K1闭合时,即主人不在家,则蜂鸣器无任何声音,同时LCD1602显示容"Sorry!masteisnotathome!"。具体功能流程如图所示:开始开始门铃按键K1门铃按键K1主人是否在家〔开关K2主人是否在家〔开关K2否否是是LCD显示主人不在家LCD显示LCD显示主人不在家LCD显示蜂鸣器播放音乐主人关闭音乐播放和LCD提示主人关闭音乐播放和LCD提示结束结束图3-2系统功能流程图四、硬件设计4.1复位电路的设计复位是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为了摆脱困境,也需要按复位键以重新启动。在振荡器工作时将RST脚保持至少两个机器周期高电平,12时钟模式为24个振荡器周期,6时钟模式为12振荡器周期,可实现复位。为了保证上电复位的可靠RST保持高电平的时间至少为振荡器启动时间通常为几个毫秒再加上两个机器周期复位后振荡器以12时钟模式运行当已通过并行编程器设置为6时钟模式时除外。本次设计复位电路设计,如图4-1所示。图4-1复位电路4.2时钟电路的设计时钟电路产生与单片机工作所需要的时钟信号,单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格的按时序进行工作。而时序所研究的则是指令执行中各信号之间的相互时间的关系。在51单片机部有一个高增益反向放大器,其输入端为芯片引脚XTAL1,输出端引脚为XTAL2,在芯片的外部通过这两个脚跨接晶体振荡器和微调电容,形成反馈电路,就构成一个稳定的自激振荡器。如图4-2所示:图4-2时钟电路的设计部程序存振荡晶体可在1.2MHz~12MHz之间选择,电容值无严格要求,但在电容值取值对振荡频率输出的稳定性、大小、振荡电路起振速度有少许影响,C1、C2可在20pF~100pF之间取值,但在60pF~70pF时振荡器有较高的频率稳定性。本设计选取晶振为12MHz,电容为30pH。4.3开关电路的设计开关K1为主人是否在家的控制开关,开关K2模拟门铃按钮,开关K3为主人控制开关,用于停止音乐提醒,详细设计见图4-3。K3K3K2K2图4-3开关电路的设计4.4蜂鸣器蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、机、定时器等电子产品中作发声器件。利用51单片机的I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲图4-4蜂鸣器4.4总体硬件电路总体硬件电路实现功能如下,如图4-5所示。⑴电路中用P3.2、P3.3控制按键。⑵P0.0-P0.7和P2.0-2.7控制数码管的时间显示。⑶P2.6控制蜂鸣器。图4-5硬件仿真电路图五、软件设计一般说来,单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,也就是说不能像电子琴那样能奏出多种音色的声音。因此单片机奏乐只需弄清楚两个概念即可,也就是"音调"和节拍表示一个音符唱多长的时间。5.1音调的确定不同音高的乐音是用C、D、E、F、G、A、B来表示,这7个字母就是音乐的音名,它们一般依次唱成DO、RE、MI、FA、SO、LA、SI,即唱成简谱的1、2、3、4、5、6、7,相当于汉字"多来米发梭拉西"的读音,这是唱曲时乐音的发音,所以叫"音调",即Tone。把C、D、E、F、G、A、B这一组音的距离分成12个等份,每一个等份叫一个"半音"。两个音之间的距离有两个"半音",就叫"全音"。在钢琴等键盘乐器上,C–D、D–E、F–G、G–A、A–B两音之间隔着一个黑键,他们之间的距离就是全音;E–F、B–C两音之间没有黑键相隔,它们之间的距离就是半音。通常唱成1、2、3、4、5、6、7的音叫自然音,那些在它们的左上角加上﹟号或者b号的叫变化音。﹟叫升记号,表示把音在原来的基础上升高半音,b叫降记音,表示在原来的基础上降低半音。〔1要产生音频脉冲,只要算出某一音频的周期〔1/频率,然后将此周期除以2,即为半周期的时间。利用定时器计时这半个周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚上得到此频率的脉冲。〔2利用AT89C51的部定时器使其工作在计数器模式MODE1下,改变计数值TH0及TL0以产生不同频率的方法。此外结束符和休止符可以分别用代码00H和FFH来表示,若查表结果为00H,则表示曲子终了;若查表结果为FFH,则产生相应的停顿效果。 计数脉冲值与频率的关系公式如下: N=Fi2Fr N:计算值;Fi:部计时一次为1us,故其频率为1MHz;〔3其计数值的求法如下:T=65536-N=65536-Fi2Fr例如:设K=65536,F=1000000=Fi=1MHz,球低音DO〔261Hz。中音DO〔523Hz。高音的DO〔1046Hz的计算值T=65536-N=65536-Fi2Fr=652Fr=65536-500000/Fr低音DO的T=65536-500000/262=63627低音DO的T=65536-500000/523=64580低音DO的T=65536-500000/1047=65059〔4C调各音符频率与计数值T的对照表如表5-1所示。表5-1C调各音符频率与计数值T的对照表低音频率T参数中音频率T参数高音频率T参数Do2621908229Do523956115Do10465757Do﹟2771805217Do﹟554903108Do﹟11095454Re2941701204Re587852102Re11755151Re﹟3111608193Re﹟62280497Re﹟12454848Mi3301515182Mi65975991Mi13184545Fa3491433172Fa69871686Fa13974343Fa﹟3701351162Fa﹟74067681Fa﹟14804141So3921276153So78463877So15683838So﹟4151205145So﹟83160272So﹟16613636La4401136136La88056868La17603434La﹟4641078129La﹟93253664La﹟18653232Si4941012121Si98850661Si19763030相关代码如下:ucharcodecuzhi[]={ 0xff,0xff,//占位 0xFC,0x8E,//中央C调1-7 0xFC,0xED, 0xFD,0x43, 0xFD,0x6A, 0xFD,0xB3, 0xFD,0xF3, 0xFE,0x2D, 0xFE,0x47, //高八度1-7 0xFE,0x76, 0xFE,0xA1, 0xFE,0xC7, 0xFE,0xD9, 0xFE,0xF9, 0xFF,0x16 };5.2节拍的确定若要构成音乐,光有音调是不够的,还需要节拍,让音乐具有旋律〔固定的律动,而且可以调节各个音的快满度。休止符表示暂停发音。一首音乐是由许多不同的音符组成的,而每个音符对应着不同频率,这样就可以利用不同的频率的组合,加以与拍数对应的延时,构成音乐。对于单片机来说,产生不同频率的脉冲是非常方便的,利用单片机的定时/计数器来产生这样的方波频率信号。表5-2节拍与节拍码对照节拍码节拍数节拍码节拍数11/4拍11/8拍22/4拍21/4拍33/4拍33/8拍41拍42/1拍51又1/4拍55/8拍61又1/2拍63/4拍82拍81拍A2又1/2拍A1又1/4拍C3拍C1又1/2拍F3又3/4拍相关代码如下:ucharcodeDSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};//编程规则:字节高位是简谱,低位是持续时间,//代表多少个十六分音符//1-7代表中央C调,8-E代表高八度,0代表停顿//最后的0是结束标志voidDelay1<uintz>; //延时1MSvoidDelay<uintz>;//延时165MS,即十六分音符ucharcodeqnzl[]={//千年之恋0x32,0x31,0x21,0x32,0x52,0x32,0x31,0x21,0x32,0x62,0x32,0x31,0x21,0x32,0x82,0x71,0x81,0x71,0x51,0x32,0x22,0x32,0x31,0x21,0x32,0x52,0x32,0x31,0x21,0x32,0x62,0x32,0x31,0x21,0x32,0x83,0x82,0x71,0x72,0x02,0x63,0xA1,0xA2,0x62,0x92,0x82,0x52,0x31,0x51,0x63,0x51,0x63,0x51,0x63,0x51,0x62,0x82,0x7C,0x02,0x61,0x71,0x82,0x71,0x62,0x0A2,0x71,0x76,0x61,0x71,0x82,0x71,0x62,0x52,0x31,0x36,0x61,0x71,0x82,0x71,0x62,0xA3,0x73,0x62,0x53,0x42,0x82,0x88,0x02,0x74,0x93,0x89,0xff//结束标志};//简谱音调对应的定时器初值//适合11.0592M的晶振5.3编码doremifasolasi分别编码为1~7,重音do编为8,重音re编为9,停顿编为0。播放长度以十六分音符为单位〔在本程序中为165ms,一拍即四分音符等于4个十六分音符,编为4,其它的播放时间以此类推。音调作为编码的高4位,而播放时间作为低4位,如此音调和节拍就构成了一个编码。以0xff作为曲谱的结束标志,可以参考简谱码如表4-4所示。歌曲播放的设计:先将歌曲的简谱进行编码,储存在一个数据类型为unsignedchar的数组中。程序从数组中取出一个数,然后分离出高4位得到音调,接着找出相应的值赋给定时器0,使之定时操作蜂鸣器,得出相应的音调;接着分离出该数的低4位,得到延时时间,接着调用软件延时。表5-4简谱对应的简谱码、T值、节拍数简谱发音简谱码T值节拍码节拍数5低音SO16426011/4拍6低音LA26440022/4拍7低音TI36452433/4拍1中音DO46458041拍2中音RE56468451又1/4拍3中音MI66477761又1/2拍4中音FA76482082拍5中音SO864898A2又1/2拍6中音LA964968C3拍7中音TIA65030F3又3/4拍1高音DOB650582高音REC651103高音MID651574高音FAE651785高音SOF65217六、系统测试主人在家时,开关K1状态断开。按下门铃键就先显示提示,然后随机播放音乐,在音乐播放结束或主人按下关闭音乐键时关显示,如图6-1所示。图6-1主人在家时LCD状态主人不在家,当状态开关状态闭合。按下门铃键,只显示提示,但不播放音乐,而且提示延时一段时间后自动关显示。如图6-2所示。图6-2主人不在家时LCD状态总结这次宝贵的学年设计活动中,经验才是对于我们最大的收获,而且还增强了自身对未知问题以及对知识的深化认识的能力,用受益匪浅这个词语来概括这次难忘的活动我觉得再合适不过了。但是,光是完成了作品还是不可以自我满足的,在从一开始的时候就怀着将作品制作得更加人性化,更加令人满意,更加地使功能完美又方便地被应用领域这个最终目的下,随着对单片机这门学科的认识加深,到达了拓展的程度,我想这个目的将在不远的时期被实现。实验过程中,也对团队精神的进行了考察,让我们在合作起来更加默契,在成功后一起体会喜悦的心情。果然是团结就是力量,只有互相之间默契融洽的配合才能换来最终完美的结果。此次设计也让我明白了思路即出路,有什么不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识,收获颇丰。在此向所有关心我的及帮助我的老师和同学们致以最真诚的感。在本次计课程设计设计中,尤其要感董再秀老师在

温馨提示

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

评论

0/150

提交评论