基于单片机的电子音乐门铃分析.docx

上传人:b****1 文档编号:10880268 上传时间:2023-05-28 格式:DOCX 页数:21 大小:496.62KB
下载 相关 举报
基于单片机的电子音乐门铃分析.docx_第1页
第1页 / 共21页
基于单片机的电子音乐门铃分析.docx_第2页
第2页 / 共21页
基于单片机的电子音乐门铃分析.docx_第3页
第3页 / 共21页
基于单片机的电子音乐门铃分析.docx_第4页
第4页 / 共21页
基于单片机的电子音乐门铃分析.docx_第5页
第5页 / 共21页
基于单片机的电子音乐门铃分析.docx_第6页
第6页 / 共21页
基于单片机的电子音乐门铃分析.docx_第7页
第7页 / 共21页
基于单片机的电子音乐门铃分析.docx_第8页
第8页 / 共21页
基于单片机的电子音乐门铃分析.docx_第9页
第9页 / 共21页
基于单片机的电子音乐门铃分析.docx_第10页
第10页 / 共21页
基于单片机的电子音乐门铃分析.docx_第11页
第11页 / 共21页
基于单片机的电子音乐门铃分析.docx_第12页
第12页 / 共21页
基于单片机的电子音乐门铃分析.docx_第13页
第13页 / 共21页
基于单片机的电子音乐门铃分析.docx_第14页
第14页 / 共21页
基于单片机的电子音乐门铃分析.docx_第15页
第15页 / 共21页
基于单片机的电子音乐门铃分析.docx_第16页
第16页 / 共21页
基于单片机的电子音乐门铃分析.docx_第17页
第17页 / 共21页
基于单片机的电子音乐门铃分析.docx_第18页
第18页 / 共21页
基于单片机的电子音乐门铃分析.docx_第19页
第19页 / 共21页
基于单片机的电子音乐门铃分析.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于单片机的电子音乐门铃分析.docx

《基于单片机的电子音乐门铃分析.docx》由会员分享,可在线阅读,更多相关《基于单片机的电子音乐门铃分析.docx(21页珍藏版)》请在冰点文库上搜索。

基于单片机的电子音乐门铃分析.docx

基于单片机的电子音乐门铃分析

控制电路学年设计任务书

学院

计算机与信息工程学院

专业

物联网工程

课程名称

控制电路

题目

基于51单片机的电子音乐门铃设计与实现

完成期限

自2015年7月9日至2015年8月28日共1周

一、项目的目的

1.利用学过的单片机及C语言等知识,实现基于单片机的电子音乐门铃系统

2.巩固所学习的AT89C51、LCD、蜂鸣器控制等知识,训练单片机应用系统开发能力。

3.培养查找资料和阅读文献的能力,撰写学年设计报告。

二、项目任务的主要内容和要求

1.使用51单片机、蜂鸣器、按键按钮和LCD1602等元器件,焊接门铃硬件部分;

2.使用C51编写控制程序,使I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲(最少三首乐曲)

3.客人可通过门铃按键播放音乐,并显示提示信息。

4.如果主人在家,可暂停并取消音乐播放。

5.完成设备的代码测试及文档撰写。

三、项目设计思路

1.设计相关电路图,然后焊接电路板。

2.查阅资料了解音乐组成,音符和节拍的产生原理。

3.编写音乐播放程序、按键、LCD信息显示和继电器开门程序。

4.系统软件调试,并测试通过。

四、具体成果形式和要求

1.完成基于单片机的电子音乐门铃系统设计,以搭建好的电路实现所要求功能,并配合原理图阐述。

2.完成学年设计文档。

 

起止日期

工作内容

2015.6.10~2015.7.1

选题,讨论内容

2015.7.9

布置任务和学年设计安排,明确使用的元器件和开发模块

2015.7.10~2015.8.24

暑假期间查阅资料,准备相关知识,以及具体开发

2015.8.25

小组交流讨论,系统调试,撰写学年设计报告初稿

2015.8.26~2015.8.27

修订学年设计报告,完成系统

2015.8.28

学年设计答辩

[1]张毅刚等.单片机原理与应用设计[M].北京:

高等教育出版社,2005.

[2]彭伟.单片机C语言程序设计实训100例[M].电子工业出版社,2012.10.

[3]刘茂荣.画说乐理(二十)--音程[J].琴童,201O,第8期:

18-19.

[4]林志琦.基于Proteus的单片机可视化软硬件仿真[M].北京:

北京航空航天大学出版社,2006.

指导教师

意见

 

(签字):

年月日

系(教研室)主任意见

 

(签字):

年月日

控制电路设计说明书

 

学院名称:

计算机与信息工程

班级名称:

2013级物联网工程1班

******

学号:

**********

题目:

基于单片机的电子音乐门铃

指导教师

***************

起止日期:

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所示。

 

图3-1系统组成结构图

3.3系统功能流程

当客人来访,按动门铃开关K2,单片机根据开关K1判断主人是否在家,当K1断开时,即主人在家,则驱动蜂鸣器播放主人预先设定的音乐,并且LCD1602液晶显示屏显示内容“Welcome!

Pleasewait!

”,主人此时可关闭蜂鸣器和LCD提示前去开门。

当K1闭合时,即主人不在家,则蜂鸣器无任何声音,同时LCD1602显示内容“Sorry!

masteisnotathome!

”。

具体功能流程如图所示:

 

 

图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=Fi

2

Fr

N:

计算值;Fi:

内部计时一次为1us,故其频率为1MHz;

(3)其计数值的求法如下:

T=65536-N=65536-Fi

2

Fr

例如:

设K=65536,F=1000000=Fi=1MHz,球低音DO(261Hz)。

中音DO(523Hz)。

高音的DO(1046Hz)的计算值

T=65536-N=65536-Fi

2

Fr=65536-1000000

2

Fr=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

参数

中音

频率

T

参数

高音

频率

T

参数

Do

262

1908

229

Do

523

956

115

Do

1046

57

57

Do﹟

277

1805

217

Do﹟

554

903

108

Do﹟

1109

54

54

Re

294

1701

204

Re

587

852

102

Re

1175

51

51

Re﹟

311

1608

193

Re﹟

622

804

97

Re﹟

1245

48

48

Mi

330

1515

182

Mi

659

759

91

Mi

1318

45

45

Fa

349

1433

172

Fa

698

716

86

Fa

1397

43

43

Fa﹟

370

1351

162

Fa﹟

740

676

81

Fa﹟

1480

41

41

So

392

1276

153

So

784

638

77

So

1568

38

38

So﹟

415

1205

145

So﹟

831

602

72

So﹟

1661

36

36

La

440

1136

136

La

880

568

68

La

1760

34

34

La﹟

464

1078

129

La﹟

932

536

64

La﹟

1865

32

32

Si

494

1012

121

Si

988

506

61

Si

1976

30

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

1/8拍

2

2/4拍

2

1/4拍

3

3/4拍

3

3/8拍

4

1拍

4

2/1拍

5

1又1/4拍

5

5/8拍

6

1又1/2拍

6

3/4拍

8

2拍

8

1拍

A

2又1/2拍

A

1又1/4拍

C

3拍

C

1又1/2拍

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,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

低音SO

1

64260

1

1/4拍

6

低音LA

2

64400

2

2/4拍

7

低音TI

3

64524

3

3/4拍

1

中音DO

4

64580

4

1拍

2

中音RE

5

64684

5

1又1/4拍

3

中音MI

6

64777

6

1又1/2拍

4

中音FA

7

64820

8

2拍

5

中音SO

8

64898

A

2又1/2拍

6

中音LA

9

64968

C

3拍

7

中音TI

A

65030

F

3又3/4拍

1

高音DO

B

65058

2

高音RE

C

65110

3

高音MI

D

65157

4

高音FA

E

65178

5

高音SO

F

65217

六、系统测试

主人在家时,开关K1状态断开。

按下门铃键就先显示提示,然后随机播放音乐,在音乐播放结束或主人按下关闭音乐键时关显示,如图6-1所示。

 

图6-1主人在家时LCD状态

主人不在家,当状态开关状态闭合。

按下门铃键,只显示提示,但不播放音乐,而且提示延时一段时间后自动关显示。

如图6-2所示。

 

图6-2主人不在家时LCD状态

 

总结

这次宝贵的学年设计活动中,经验才是对于我们最大的收获,而且还增强了自身对未知问题以及对知识的深化认识的能力,用受益匪浅这个词语来概括这次难忘的活动我觉得再合适不过了。

但是,光是完成了作品还是不可以自我满足的,在从一开始的时候就怀着将作品制作得更加人性化,更加令人满意,更加地使功能完美又方便地被应用领域这个最终目的下,随着对单片机这门学科的认识加深,到达了拓展的程度,我想这个目的将在不远的时期内被实现。

实验过程中,也对团队精神的进行了考察,让我们在合作起来更加默契,在成功后一起体会喜悦的心情。

果然是团结就是力量,只有互相之间默契融洽的配合才能换来最终完美的结果。

此次设计也让我明白了思路即出路,有什么不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识,收获颇丰。

在此向所有关心我的及帮助我的老师和同学们致以最真诚的感谢。

在本次计课程设计设计中,尤其要感谢董再秀老师在思路上给予的细致指导,当遇到困难时给了我很大的帮助,感谢同学在变成反面给我的帮助。

 

第二部分:

参考文献

[1].彭伟.单片机C语言程序设计实训100例[M],电子工业出版社,2009.6.;

[2].谭浩强.C语言程序设计(第二版)[M],北京:

清华大学出版社,1991.;

[3].李建忠.单片机原理及应用[M],西安电子科技大学出版社,2008.2

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

当前位置:首页 > 自然科学 > 物理

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

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