基于单片机电子门铃设计.docx

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

基于单片机电子门铃设计.docx

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

基于单片机电子门铃设计.docx

基于单片机电子门铃设计

电子门铃的设计

 

【摘要】本设计介绍了由STC89C52单片机来构成电子音乐门铃系统的工作过程。

主要完成的电子门铃不仅具有普通电子门铃的功能,还具有一些扩展功能。

该设计主要由单片机、按键、喇叭等组成,它的制作简单,成本低,安装也比较方便。

因此,这也给人们生活提供了很大的便利。

【关键词】STC89C52单片机电子门铃音乐

前言

随着社会的前进和发展,仪器小型化,功耗微小化,控制智能化得到了很广泛的应用。

而在些领域中,单片机起着举足轻重的作用,这就把单片机的应用开发到了最高顶点,单片机应用系统的设计也就顺理成章的成为了科技的最热点。

近几年,随着市场智能化的升温,音乐门铃系统正在慢慢取代传统的用钥匙去管理各个门道,并且在市场上社会上生活上已经得到了很好的应用。

有了音乐门铃,客人拜访时听到的将不是单调的普通门铃声,而是特殊动听的音乐声。

而如果听到的是三种音乐的门铃声,那这一定是一件令人很兴奋的事情。

本设计就是设计一种具有三种音乐的电子门铃。

当客人拜访时,按下门铃,听到的不是简单枯燥的一般门铃声,而是优美的音乐声。

1总体方案设计

1.1设计任务

设计一个基于单片机的三音门铃。

1.2设计要求

1,当按下开关,电子门铃可以自动鸣叫,并能持续一段时间。

2,工作电压有一定的调节范围。

3,不可以购买现成的发声装置。

1.3总体方案的论证与选择

针对本设计的设计要求,可以知道:

本设计是利用单片机实现对喇叭的发声,控制采用按钮操作。

当按下开关时,单片机发出的音乐声由喇叭发出。

由此,可以给出两种方案。

方案一:

本设计是通过按键输入(其中有两个按键,一个播放上一首,一个播放下一首),作用于单片机后使单片机发出声音送入喇叭使喇叭发声。

同时也有复位按键,可以使歌曲复位,从头再唱。

音乐的发声主要是通过程序的编写来达到发声要求。

其总体框图,如图1.1。

图1.1方案一总体框图

方案二:

本设计是通过按键输入(只有一个按键),作用于单片机后经过人工调频发声后送入蜂鸣器使蜂鸣器发出音乐的声音。

音乐的发声主要靠几个可调电阻调频发声。

其总体框图如图1.2。

图1.2方案二总体框图

通过比较可以知道,方案二中的调频发声部分相对于方案一比较难以实现,并且蜂鸣器发出的声音相对喇叭来说噪音更重。

而方案一可以通过程序的编写来实现音乐的发声,可以发出清晰、无噪的音乐声。

故选择方案一来作为本设计的总体设计方案。

2系统软件设计与调试

2.1STC89C52单片机简介

STC89C52是宏晶科技退出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。

其引脚图如图2.1。

图2.1STC89C52单片机引脚图

2.1.1SCT89C52的主要特性

1,增强型8051单片机;

2,工作频率范围为0-40MHz;

3,32个双向I/O口;

4,3个16位定时/计数器;

5,外部中断4路,下降沿中断或低电平出发电路

6,低功耗空闲和掉电模式。

2.1.2STC89C52的引脚功能

P0口:

P0口是漏极开路的8位并行双向I/O口,也是地址/数据总线复用口。

作为输出端口时,每个引脚能能驱动8个TTL负载;在访问外部数据存储器或程序存储器时,P0口也可以提供低8位地址和8位数据的复用总线;在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节。

校验时,要求外接上拉电阻。

P1口:

P1口是具有内部上拉电阻的8位双向并行I/O口。

P1口的输出缓冲器可驱动(吸收或输出电流)4个TTL输入。

对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。

P1口作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。

P2口:

P2口是具有内部上拉电阻的8位双向并行I/O口。

P2的输出缓冲器可驱动(吸收或输出电流)4个TTL输入。

对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。

作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。

P3口:

P3口是具有内部上拉电阻的8位双向并行I/O口。

P3口输出缓冲器可驱动(吸收或输出电流)4个TTL输入。

对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。

此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。

P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能。

P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。

RST:

RST是复位信号输入引脚。

晶振工作时,如果在此引脚上持续出现至少两个机器(晶振的12个振荡周期为一个机器周期)的高电平就会使单片机复位。

XTAL1和XTAL2:

XTAL1和XTAL2是片内振荡器输入/输出引脚。

XTAL1是反向振荡放大器的输入及内部时钟工作电路的输入引脚,XTAL2是来自反向振荡器的输出。

PSEN:

程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。

在此期间,当访问外部数据存储器,将跳过两次PSEN信号。

ALE/PROG:

ALE/PROG是地址锁存允许/编程引脚。

在访问外部程序存储器和数据存储器时,地址锁存允许(ALE)引脚输出用于锁存低8位地址信号的脉冲。

要注意的是:

每当访问外部数据存储器时将跳过一个ALE脉冲。

对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。

EA/Vpp:

外部访问允许。

欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。

需注意的是:

如果加密位LB1被编程,复位时内部会锁存EA端状态。

2.2单片机音乐发声原理

利用单片机产生音乐符,再把音乐符翻译成计算机音乐语言,由单片机进行信息处理,再通过喇叭放出音乐。

2.2.1单片机产生不同频率脉冲信号的原理

1,要产生音频脉冲,只要算出某一音频的脉冲(1/频率),然后将此周期除以2,利用定时器计时这个半周期的时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期的时间再对I/O反相,就可以在I/O脚上得到此频率的脉冲。

2,利用STC89C52的内部定时器使其工作在计数器模式1下,改变计数值TH0及TL0以产生不同频率。

方法如下:

例如,若单片机采用12MHz晶振,要产生频率为587Hz的音频脉冲时,其音频信号的脉冲周期T=1/587=1703.5775μs,半周期的时间为852μs,因此只要令计数器计数=852μs/1μs=852,在每计数852时将P3.7口反相,就可得到C调中音Re。

P2.5口和P2.7口分别接S2和S1作为控制门铃的按键。

按下S2,由P3.7口的喇叭依次播放三首歌曲。

计数脉冲值与频率的关系如下:

N=Fi/2/Fr(N:

计数值,Fi:

内部计时一次为1uS,故其频率为1MHz,Fr:

要产生的频率)

2.2.2单片机音阶代码的实现

音乐是由音符组成,不同的音符又是由相应的频率振动产生。

音调的高低用音阶表示,不同的音阶对应不同的频率。

因此,不同频率的方波就可以产生音阶,由于频率的倒数是周期,因此可由单片机中的内部定时器T0,使其工作在计数器模式1,当定时器计数溢出时产生中断,将与喇叭连接的P3.7取反后就可得到方波的周期,从而达到了控制频率,即音阶的目的。

2.2.3音乐节拍的实现

建立音乐,把音乐的音符找出来,建立各个音符的定时常熟T值表。

C调各音符频率与计数值T的对照表如表2.1所示。

表2.1音符频率与T值对照表

每个音符使用1个字节,字节的高4位代表音符的高低,低4位代表音符的节拍,下表2.2为节拍码的对照。

如果1拍为0.4秒,1/4拍是0.1秒,只要设定延迟时间就可求得节拍的时间。

假设1/4节拍为1DELAY,则1拍应为4DELAY,以此类推。

所以只要求得1/4拍的DELAY时间,其余的节拍就是它的倍数,如下表2.3为1/4和1/8节拍的时间设定。

表2.2节拍码对照表

表2.3节拍的时间设定表

2.2.4音乐软件的设计

1,音乐代码库的建立方法

(1)先找出音乐最低音和最高音范围,然后确定音符表T的顺序。

(2)建立T值表,构成发音符的计数值放在其中。

(3)简谱码(音符)为高4位,节拍(节拍数)为低4位,音符的节拍码编程时放在程序unsignedcharcodeSONG[]后面。

(4)音符节拍码0x00为音乐结束标记。

2,选曲

在本设计中,需要播放三首歌曲,分别为《天空之城》、《祝你平安》、《路边的野花不要采》。

音乐代码库的建立方法有两种:

(1)将每首歌曲建立相互独立的音符表T和发音符计数值表。

(2)也可以建立共用的音符表后,再写每首歌曲的发音计数值表中的代码。

不管采用哪种方法,每首歌曲结束时,在发音计数值表中均需加上音乐结束符0x00。

3电路设计与仿真

3.1按键电路

如图3.1。

S2为开始暂停按键,S1为播放下一首歌曲的按键。

图3.1按键电路

3.2发声电路

如图3.2。

P3.7端口接的喇叭。

音乐声通过喇叭发声后传到人的耳朵里面。

图3.2发声电路

3.3晶振电路

如图3.3。

振荡晶体可在1.2MHz到12MHz之间选择,电容值无严格要求,但在电容值取值对振荡频率输出的稳定性、大小、振荡电路起振速度有少许影响。

C1和C2可在20pF到100pF之间取值,但在60pF到70pF时振荡器有较高的频率稳定性。

本设计选取晶振为12MHz,电容为30pF。

图3.3晶振电路

3.4复位电路

如图3.4。

按下按键S3,歌曲复位,从头再唱。

图3.4复位电路

3.5原理图

如图3.5。

本设计是基于STC89C52单片机设计的一个三音门铃。

按键有三个,S2为开始/暂停按键,S1为下一首按键,S3为复位按键。

发声由喇叭接单片机端口P3.7发出。

图3.5原理图

3.6仿真电路

仿真采用Proteus软件,Proteus软件能完成原理图布图、代码调试到单片机与外围电路协同仿真。

它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件,是目前最好的仿真单片机及外围器件的工具。

仿真图如图3.6。

图3.6仿真图

开始仿真后,门铃处于无声状态。

当按下开关SP1后,开始响起音乐声。

按下SP2,播放下一首歌曲,再次按下开关SP1,暂停播放音乐。

按下SP3,歌曲复位。

4系统程序设计

本设计是对STC89C52单片机采用C语言编程。

音乐门铃的程序主要是对音符频率的转换。

系统初始化后,系统扫描按键(P1.5和P1.7的电平)判断是否有按键按下。

根据不同按键的选择,向音频字符码指针赋予不同歌曲的地址,通过定时器T0中断子程序使P3.7口输出相应频率的音频脉冲,以达到发声目的。

程序流图如图4.1。

图4.1程序流程图

延时子程序如图4.2。

图4.2延时子程序

 

5系统硬件设计和调试

5.1系统PCB图

PCB图如图5.1。

图5.1PCB图

5.2系统硬件制作

1,对设计要求做出分析,列出所需要的硬件有单片机最小系统,按键,蜂鸣器,极性电容,电阻。

2,根据实际情况确定各个元件的实现方式,为各个元件分配好端口,由此来确定系统的大概结构,并确定系统的详细参数。

3,运用protel99se绘制原理图,PCB图并布线。

在绘制过程中注意选择正确元件及封装。

布线过程中要仔细认真,避免造成断路或者短路。

4,根据原理图在万通板上排好元件,然后认真把元件焊接好。

注意在焊接的过程中,不仅要考虑其美观、以及调试的方便性,更要仔细认真避免造成硬件的断路或者短路。

焊接的实物图如图5.2。

图5.2实物图

5.3系统软硬件联调

5.3.1主要仪器和软件

Keil软件:

编译程序;

Protel99se软件:

画原理图和PCB图;

Proteus软件:

仿真原理图。

5.3.2调试方案和步骤

1,先对电路板进行目测,看电路是否有无断点或短路点。

若有就用电烙铁进行焊接。

如果怀疑某点是断路点或短路点,就用万用表的蜂鸣器测试电路,电路通则蜂鸣器响,不通则不响。

2,在用万用表的蜂鸣器测试所有电路,特别是电源线和地线,确保电路正常通路。

3,确保无误后,连接电源。

4,对各个模块进行检测。

单片机接电后,各个I/O口一般都为高电平,可用万用表检测验证。

另外,可以下载程序到单片机,观察喇叭相应情况。

如果喇叭没有响起音乐声,有可能是程序问题,也有可能是电路不通。

6总结

毕业设计检测了学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生在校期间实际工作能力的具体训练和考察过程。

随着科技的日新月异,单片机在实际生活中已经非常普遍,作为电信专业的学生,掌握单片机的应用和开发技术是十分重要的。

本设计是采用单片机实现了一个电子音乐门铃。

这样一个门铃,不仅简单,而且实用。

怎样才能结合课堂所学知识与实际应用?

对我来说,是一次考验,也是一次经验。

在进行了长达两个多月的时间的摸索与实验,使我不仅仅对于单片机入门软件与硬件的常用设计与功能有了进一步的了解,还使我对于一项设计研究的制作过程,所需要的详细步骤和具体的实现方法有一定的掌握。

为了完成所需要设计的作品,我翻阅了许多书籍,也重新拿起来从前学过的单片机课本,再一次了解单片机的应用和开发。

从一开始的什么都不懂到后来能够完成这次设计,我不仅倾注了大量的心血和时间,更重要的是让我明白了以前所学的知识远远不够,我还需要巩固自己的专业知识。

总之,这次设计从软件编写、调试到软硬件联机调试,我花费了大量的时间和心血。

同时,我也发现了自己很多不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,对单片机汇编语言掌握得不够好。

所以曾导致我为了程序的编写而到处查找,为了无法找出错误而郁闷苦恼,为了某一功能不能实现而着急彷徨,但是最终在老师和同学的帮助下我成功了,我不仅品味到了结果的喜悦,更明白了过程的弥足珍贵。

【参考文献】

[1]吴金戌.沈庆阳.郭庭吉.8051单片机实践与应用[M],北京:

北京清华大学出版社,2005

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

清华大学出版社,1991

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

[4]李启炎.Protel99SE应用教程[M],上海:

同济大学出版社,2005

[5]李广弟.朱月秀.王秀山.单片机基础[M],北京:

北京航空航天大学出版社,2001

[6]陈小忠.黄宁.单片机接口技术实用子程序[M],北京:

北京人民邮电出版社,2005

[7]黄智伟.全国大学生电子设计竞赛系统设计[M],北京:

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

[8]陈明莹.8051单片机课程设计实训教材[M],北京:

清华大学出版社,2003

Thedesignofelectronicmusicdoorbell

【Abstract】ItisintroducedbytheSTC89C51chiptoasystemofelectronicmusicdoorbellprocess.Thissystemismainlytocompletetheelectronicdoorbellrangthedoorbellnotonlyacommonelectronicfeatures,butalsohassomeextensions.Thedesigniscomposedofasing-chimicrocomputer,buttons,buzzerandsoon.ithastheadvantagesofsimplemanufacture,lowcost,theinstallationismoreconvenient.therefore,thisalsogivespeoplelifeprovidesgreatconvenience.【Keywords】singchimicrocomputerElectronicdoorbellmusic

附录一:

程序设计

#include

unsignedcharCount;

sbitbee_Speak=P3^7;//喇叭控制脚

sbitkey1=P1^5;

sbitkey2=P1^7;

unsignedcharkk=0;

unsignedintk;

bitflag;

unsignedcharcodeSONG[]={//天空之城

0x1c,0x30,0x19,0x30,0x18,0x40,0x19,0x30,0x18,0x30,0x13,0x30,0x19,0x80,

0x26,0x30,0x26,0x30,0x1c,0x40,0x20,0x30,0x1c,0x30,0x18,0x30,0x20,0x60,

0x26,0x30,0x26,0x30,0x24,0x40,0x26,0x30,0x24,0x30,0x18,0x40,0x26,0x60,

0x18,0x20,0x18,0x20,0x18,0x20,0x19,0x40,0x24,0x30,0x24,0x30,0x19,0x30,

0x19,0x60,0x1c,0x30,0x19,0x30,0x18,0x40,0x19,0x30,0x18,0x30,0x13,0x30,

0x19,0x60,0x26,0x30,0x26,0x30,0x1c,0x40,0x20,0x30,0x1c,0x30,0x18,0x30,

0x20,0x80,0x26,0x30,0x24,0x30,0x24,0x30,0x18,0x30,0x19,0x20,0x19,0x30,

0x18,0x30,0x15,0x20,0x15,0x20,0x13,0x20,0x18,0x40,0x18,0x30,0x19,0x30,

0x1c,0x20,0x1c,0x20,0x19,0x30,0x20,0x30,0x1c,0x60,0x18,0x30,0x15,0x30,

0x13,0x40,0x15,0x30,0x13,0x30,0x10,0x30,0x15,0x60,0x20,0x30,0x20,0x30,

0x18,0x30,0x19,0x30,0x18,0x30,0x13,0x30,0x13,0x60,0x1c,0x20,0x19,0x20,

0x18,0x30,0x19,0x30,0x15,0x20,0x15,0x20,0x18,0x40,0x20,0x30,0x20,0x30,

0x12,0x30,0x13,0x30,0x15,0x30,0x18,0x30,0x13,0xc0,0x13,0x80,0x13,0x30,

0x0e,0x80,0x10,0x30,0x10,0x30,0x13,0x20,0x15,0x20,0x18,0x40,0x18,0x30,

0x15,0x30,0x18,0x20,0x15,0x20,0x15,0x30,0x10,0x30,0x13,0x60,0x13,0x30,

0x0e,0x60,0x10,0x60,0x13,0x20,0x15,0x20,0x18,0x40,0x18,0x30,0x15,0x30,

0x15,0x20,0x18,0x20,0x15,0x30,0x19,0x30,0x1c,0x60,0x1c,0x30,0x19,0x30,

0x1c,0xc0,0x00,

//祝你平安

0x26,0x20,0x20,0x20,0x20,0x20,0x26,0x10,0x20,0x10,0x20,0x80,0x26,0x20,0x30,0x20,

0x30,0x20,0x39,0x10,0x30,0x10,0x30,0x80,0x26,0x20,0x20,0x20,0x20,0x20,0x1c,0x20,

0x20,0x80,0x2b,0x20,0x26,0x20,0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x80,0x26,0x20,

0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x60,0x40,0x10,0x39,0x10,0x26,0x20,

0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x80,0x26,0x20,0x2b,0x10,0x2b,0x10,

0x2b,0x20,0x30,0x10,0x39,0x10,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x20,

0x20,0x10,0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x18,0x20,0x18,0x20,0x26,0x20,

0x20,0x20,0x20,0x40,0x26,0x20,0x2b,0x20,0x30,0x20,0x30,0x20,0x1c,0x20,0x20,0x20,

0x20,0x80,0x1c,0x20,0x1c,0x20,0x1c,0x20,0x30,0x20,0x30,0x60,0x39,0x10,0x30,0x10,

0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x10,0x26,0x10,0x26,0x10,0x2b,0x10,0x2b,0x80,

0x18,0x20,0x18,0x20,0x26,0x20,0x20,0x20,0x20,0x60,0x26,0x10,0x2b,0x20,0x30,0x20,

0x30,0x20,0x1c,0x20,0x20,0x20,0x20,0x80,0x26,0x20,0x30,0x10,0x30,0x10,0x30,0x20,

0x39,0x20,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x10,0x40,0x10,0x20,0x10,

0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x00,

//路边的野花不要采

0x30,0x1C,0x10,0x20,0x40,0x1C,0x10,0x18,0x10,0x20,0x10,0x1C,0x10,0x18,0x40,0x1C,

0x20,0x20,0x20,0x1C,0x20,0x18,0x20,0x20,0x80,0xFF,0x20,0x30,0x1C,0x10,0x18,0x20,

0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B,0x20,0x26,0x20,0x20,0x20,

0x30,0x80,0xFF,0x20,0x20,0x1C,0x10,0x18,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,

0x20,0x2B,0x40,0x20,0x20,0x1C,0x10,0x18,0x10,0x20,0x20

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

当前位置:首页 > 总结汇报 > 学习总结

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

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