基于单片机的电子音乐门铃Word格式文档下载.doc
- 文档编号:731245
- 上传时间:2023-04-29
- 格式:DOC
- 页数:21
- 大小:591.50KB
基于单片机的电子音乐门铃Word格式文档下载.doc
《基于单片机的电子音乐门铃Word格式文档下载.doc》由会员分享,可在线阅读,更多相关《基于单片机的电子音乐门铃Word格式文档下载.doc(21页珍藏版)》请在冰点文库上搜索。
参
考
资
料
[1]张毅刚等.单片机原理与应用设计[M].北京:
高等教育出版社,2005.
[2]彭伟.单片机C语言程序设计实训100例[M].电子工业出版社,2012.10.
[3]刘茂荣.画说乐理(二十)--音程[J].琴童,201O,第8期:
18-19.
[4]林志琦.基于Proteus的单片机可视化软硬件仿真[M].北京:
北京航空航天大学出版社,2006.
指导教师
意见
(签字):
年月日
系(教研室)主任意见
控制电路设计说明书
学院名称:
计算机与信息工程
班级名称:
2013级物联网工程1班
学生姓名:
高战
学号:
2013211641
题目:
基于单片机的电子音乐门铃
姓名:
董再秀
起止日期:
2015年7月9日-8月28日
第一部分:
正文部分
一、选题背景
随着时代的前进和发展,控制智能化、小型化、低功耗化得到广泛关注。
在这些领域中,单片机起到了举足轻重的作用,这就把单片机的应用提升到重要的地位,单片机应用系统设计就成为新的技术热点。
近几年来,随着市场上智能家居的不断升温,门铃系统已作为智能化办公室和智能化住宅小区的一个重要组成部分,被各商家和用户所接受。
人们已开始习惯用个性化的音乐门铃代替传统铁门铃,这使电子音乐门铃系统得到了飞跃性的发展。
随着单片机技术的飞速发展,通过单片机实现人们对物质生活的满足,这将会日益成为今后的一个重要发展的方向。
本设计是介绍了由AT89C51单片机来构成电子音乐门铃系统的工作过程,本系统主要完成该电子门铃不仅具有普通电子门铃的功能,而且还具有液晶显示屏提示功能。
单片机价格便宜,性能可靠,耗电量少,安装也简便,按下再也不是“叮咚”声,而是悦耳的音乐,让客人可以耐心的等待;
它的工作状态能够由用户自行设定音乐和提示语,给来访者提供必要的音乐和文字回应信息,给人们生活提供很大的便利。
二、相关知识
2.1硬件部分
2.1.1AT89C51
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。
概括的讲:
一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机是了解计算机原理与结构的最佳选择。
AT89C51是一个8位的微处理器,并包含有4KB的Flash存储器,即单片微机。
在很多的嵌入式控制系统中,许多具有高度灵活性及低成本的解决方案都由AT89C51为其提供。
AT89C51中中有一个用于构成内部振荡器的反相放大器,引脚XTAL1为放大器的输入端,XTAL2为放大器的输出端。
AT89C51的P3口第二功能,如下表2-1所示:
表2-1P3口第二功能
端口引脚
第二功能
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7
RXD(串行输入口)
TXD(串行输出口)
INT0(外中断0)
INT1(外中断1)
T0(定时/计数器0外部输入)
T1(定时/计数器1外部输入)
WR(外部数据存储器写选通)
RD(外部数据存储器写选通)
AT89C51的引脚排列如图2-1所示:
图2-1AT89C51引脚图
2.1.2液晶显示模块
本次系统采用的液晶显示屏是LCD1602。
引脚功能说明
:
LCD1602采用标准的14脚(无背光),各引脚接口说明如表2-1所示:
表2-1LCD1602引脚说明
编号
符号
引脚说明
符号
1
VSS
电源地
2
VDD
电源正极
3
VL
液晶显示偏压
4
RS
数据/命令选择
5
R/W
读/写选择
6
E
使能信号
7
D0
数据
8
D1
数据
9D2
数据
10
D3
数据
11
D4
12
D5
13
D6
14
D7
LCD1602的引脚图如图2-2所示
图2-2LCD1602液晶显示屏引脚图
2.2开发环境
2.2.1软件开发环境
KeilμVision3时2006年1月30日ARM推出全新的针对各种嵌入式处理器的软件开发工具,集成RealViewMDK开发环境。
RealViewMDK开发工具KeilμVision3源自Keil公司。
RealViewMDK集成了业内领先的技术,包括KeilμVision3集成开发环境与RealView编译器。
支持ARM7、ARM9和最新的Cortex-M3核处理器,自动配置启动代码,集成Flash烧写模块,强大的Simulation设备模拟,性能分析等功能,与ARM之前的工具包ADS等相比,RealView编译器的最新版本可将性能改善,其界面显示如下图2-3所示。
图2-3KeiluVision3
2.2.2硬件开发环境
本次系统设计运用的是Proteus电路仿真软件。
Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前最好的仿真单片机及外围器件的工具。
虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
Proteus是世界上著名的仿真软件,从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
用来将KeiluVision3内编译生成的.HEX文件导入到电路中的AT89C51单片机中,进行仿真,完成设计。
图2-4Proteus仿真软件
三、总体设计
3.1系统需求
设计是基于AT89C51单片机的可控音乐门铃程序设计。
依据单片机技术原理,通过PROTEUS仿真软件对硬件电路进行仿真制作以及利用KEIL软件对音乐门铃源程序进行C语言编译,而设计制作出的一个多功能音乐门铃。
系统需满足以下要求,利用51单片机的I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲;
同时客人可通过门铃按键器播放音乐,并显示主人预设的提示信息;
如果主人在家,可暂停并取消音乐。
3.2总体设计方案
音乐门铃的系统结构以AT89C51单片机位控制核心,加上2个按键、时钟复位电路、放大器、蜂鸣器、LCD显示模块组成。
单片机负责接收按键的输入,根据输入控制音乐播放曲目和显示提示信息以及蜂鸣器发音。
系统组成结构图如图2-1所示。
AT89C51单片机
蜂鸣器
放大器
门铃按键
LCD1602显示内容
复位按键
音乐停止
图3-1系统组成结构图
3.3系统功能流程
当客人来访,按动门铃开关K2,单片机根据开关K1判断主人是否在家,当K1断开时,即主人在家,则驱动蜂鸣器播放主人预先设定的音乐,并且LCD1602液晶显示屏显示内容“Welcome!
Pleasewait!
”,主人此时可关闭蜂鸣器和LCD提示前去开门。
当K1闭合时,即主人不在家,则蜂鸣器无任何声音,同时LCD1602显示内容“Sorry!
masteisnotathome!
”。
具体功能流程如图所示:
开始
门铃按键K1
主人是否在家
(开关K2)
否
是
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。
K3
K2
图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=65536-10000002Fr=65536-500000/Fr
低音DO的T=65536-500000/262=63627
低音DO的T=65536-500000/523=64580
低音DO的T=65536-500000/1047=65059
(4)C调各音符频率与计数值T的对照表如表5-1所示。
表5-1C调各音符频率与计数值T的对照表
低音
频率
T
参数
中音
高音
Do
262
1908
229
523
956
115
1046
57
Do﹟
277
1805
217
554
903
108
1109
54
Re
294
1701
204
587
852
102
1175
51
Re﹟
311
1608
193
622
804
97
1245
48
Mi
330
1515
182
659
759
91
1318
45
Fa
349
1433
172
698
716
86
1397
43
Fa﹟
370
1351
162
740
676
81
1480
41
So
392
1276
153
784
638
77
1568
38
So﹟
415
1205
145
831
602
72
1661
36
La
440
1136
136
880
568
68
1760
34
La﹟
464
1078
129
932
536
64
1865
32
Si
494
1012
121
988
506
61
1976
30
相关代码如下:
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节拍与节拍码对照
节拍码
节拍数
1
1/4拍
1/8拍
2
2/4拍
3
3/4拍
3/8拍
4
1拍
2/1拍
5
1又1/4拍
5/8拍
6
1又1/2拍
8
2拍
A
2又1/2拍
C
3拍
F
3又3/4拍
ucharcodeDSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};
//编程规则:
字节高位是简谱,低位是持续时间,
//代表多少个十六分音符
//1-7代表中央C调,8-E代表高八度,0代表停顿
//最后的0是结束标志
voidDelay1(uintz);
//延时1MS
voidDelay(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,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值
低音SO
64260
低音LA
64400
7
低音TI
64524
中音DO
64580
中音RE
64684
中音MI
64777
中音FA
64820
中音SO
64898
中音LA
9
64968
中音TI
65030
高音DO
B
65058
高音RE
65110
高音MI
D
65157
高音FA
E
65178
高音SO
65217
六、系统测试
主人在家时,开关K1状态断开。
按下门铃键就先显示提示,然后随机播放音乐,在音乐播放结束或主人按下关闭音乐键时关显示,如图6-1所示。
图6-1主人在家时LCD状态
主人不在家,当状态开关状态闭合。
按下门铃键,只显示提示,但不播放音乐,而且提示延时一段时间后自动关显示。
如图6-2所示。
图6-2主人不在家时LCD状态
总结
这次宝贵的学年设计活动中,经验才是对于我们最大的收获,而且还增强了自身对未知问题以及对知识的深化认识的能力,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 电子音乐 门铃