基于单片机的电子音乐门铃设计Word文档下载推荐.docx
《基于单片机的电子音乐门铃设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于单片机的电子音乐门铃设计Word文档下载推荐.docx(23页珍藏版)》请在冰豆网上搜索。
3.3单片机的引脚说明9
3.4主电路的设计11
3.5时钟电路13
3.6复位电路13
3.7功放电路设计13
3.7.1硬件简介13
3.7.2特性14
3.7.3应用电路14
4.系统的软件设计15
4.1程序设计15
4.1.1主程序的流程图16
4.1.2程序编写16
结论20
参考文献21
致谢22
摘要
由于电子音乐门铃具有悦耳动听,价格低廉,耗电少等优点,在现代家居中的应用越来越流行。
运用单片机技术,采用AT89C51单片机最小系统,再加上LM386做音频小功放,输出到扬声器的基本硬件设计思路,在利用画图工具完成基本电路设计后,再焊接电路,最后再进入变成部分。
用汇编语言编写音乐门铃的程序,然后将编好的语言用keil软件生成hex文件下载到stc89c51集成芯片中,利用不同的频率发出不同的音调,利用延时产生不同的节拍,通过功率放大器传送到喇叭使其发出美妙的音乐。
关键词:
单片机;
音乐门铃;
程序;
智能化
Abstract
Becausetheelectronicmusicdoorbellwithmelodious,lowprice,theadvantagesoflowpowerconsumption,applicationinthemodernhomefurnishingintheincreasinglypopular.UsingSCMtechnology,usingAT89C51MCUminimumsystem,plustheLM386audiopoweramplifieroutputtoasmall,basichardwaredesignofspeaker,inusingthedrawingtoolstocompletethebasiccircuitdesign,weldingcircuit,finallyenteredintopart.Usingassemblylanguagetowritemusicdoorbellprogram,andthencompiledlanguageusedtogeneratethehexfileofkeilsoftwareisdownloadedtotheSTC89C51chip,adifferenttoneusingdifferentfrequencies,differentrhythmbythedelay,makingitawonderfulmusicthroughthepoweramplifieristransmittedtothehorn
Keywords:
singlechipmicrocomputer;
musicdoorbell;
program;
intelligent
基于单片机的电子音乐门铃的设计
前言
近几年来,随着市场上智能化楼宇的不断升温,门铃系统已作为智能化办公室和智能化住宅小区的一个重要组成部分,被各商家和用户所接受。
人们已开始习惯用门铃系统代替传统的铁钥匙去管理各通道门,这使门铃系统得到了飞跃性的发展。
随着单片机技术的飞速发展,通过单片机实现人们对物质生活的满足,这将会日益成为今后的一个重要发展的方向。
1.绪论
1.1单片机门铃发展概述
随着微型计算机的出现和大量使用,人类社会已经进入了一个崭新的时代,单片微型计算机(简称单片机)占据了这个时代里举足轻重的地位,它渗透在人们工作生活中需要控制和计算等智能活动的各个角落。
由于单片机的控制功能强大、体积小、可靠性高、价格低廉等特点,近年来在工业生产和产品设计的各个领域都得到了广泛的应用,对各种产品的技术改造和升级换代起了重要的推动作用,深刻的影响了人们的生活质量。
目前在家庭住宅中使用的电子门铃大多数是没用音乐,只有简单的叮咚叮当的声音,比较单调。
其中绝大多数没有按钮提示以及其他功能,要不就是造价昂贵,诸多缺点。
社会在飞速的发展,而传统的门铃都是简简单单的叮咚声,功能较少,而且结构相对复杂,这已无法满足人们的需求水平。
经市场了解得知,现在销售的门铃主要有以下几种:
1、敲击式电子音乐门铃,采用声控触发电路和音乐集成电路组成,通过一个可调电阻来控制喇叭的灵敏度,一个电容快速充电来维持后续工作;
2、不用按钮的音乐门铃,采用红外线发射接收电路和自激多谐振荡电路构成,当发出的红外线被人遮挡住的一瞬间,扬声器就发出有没动听的音乐;
3、带们演示电路的音乐门铃,采用低功耗交流继电器TLP3502和高频小功率管组成。
只要按下门铃按钮就会同时打开门灯,使主人可以通过门镜来识别来客身份。
门灯经一段时间的延时后自动熄灭;
4、无限遥控门铃,采用脉冲调制发射,及石英晶振稳频技术,实现远距离遥控。
在控制智能化、仪器小型化、功耗微小化这些领域中,单片机起到了举足轻重的作用,这就把单片机的应用提升到重要的地位,单片机应用系统设计就成为新的技术热点。
[1]由于电子音乐门铃具有铃声悦耳动听,价格低廉、耗电少等优点,在现代家具中的应用越来越流行。
有了电子音乐门铃,在有客人在拜访时,听到的将不再是单调的提示等候音,而是不同凡响的流行音乐旋律、特效音等个性化的电子声乐
1.2单片机的简单介绍
一台能够工作的计算机要有这样几个部分构成:
CPU(进行运算、控制)、RAM(数据存储)、输入/输出设备(串行口、并行输出口等)。
在个人计算机上这些部分被分成若干块芯片,安装在一个被称为主板的印刷线路板上。
而在单片机中,这些部分,全部被做到一块集成电路芯片中了,所以就称为单片机,而且有一些单片机中除了上述部分外,还集成了其它部分如A/D、D/A等。
单片机的体积也不大,一般用40脚封装,当然功能多一些的单片机也有引脚比较多的,如68脚,功能少的只有10多个或20多个引脚,有的甚至只有8只引脚。
MCS-51是指由美国INTEL公司生产的一系列单片机的总称,这一系列单片机包括了如8031、8051、8751、8032、8052、8752等品种,其中8051是最早最典型的产品。
该系列其他产品都是在8051的基础上进行功能增减,改变而来的,所以人们习惯于用8051来称呼MCS-51系列单片机,而8031是前些年在我国最流行的单片机,所以很多公司在做以8051为核心的单片机,当然功能或多或少有些改变,以满足不同的需求,其中89C51就是这几年在我国非常流行的单片机,它是由美国ATMEL公司开发生产的。
[2]本设计就是用89C51来完成的。
2.电子音乐门铃系统简介
2.1分析功能要求
本设计意在完成低成本音乐门铃设计,芯片可采用51芯片,89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
主要特性:
与MCS-51兼容,4K字节可编程闪烁存储器,寿命:
1000写/擦循环,数据保留时间:
10年,全静态工作:
0Hz-24MHz,三级程序存储器锁定,128×
8位内部RAM,2可编程I/O线,两个16位定时器/计数器,5个中断源,可编程串行通道,低功耗的闲置和掉电模式,片内振荡器和时钟电路。
[3]
因为需要用到播放音乐功能,所以需要用到功放电路,其中采用LM386芯片,LM386是一种音频集成功放,具有自身功耗低、电压增益可调整、电源电压范围大、外接元件少和总谐波失真小等优点的功率放大器,广泛应用于录音机和收音机之中。
LM386是美国国家半导体公司生产的音频功率放大器,主要应用于低电压消费类产品。
为使外围元件最少,电压增益内置为20。
但在1脚和8脚之间增加一只外接电阻和电容,便可将电压增益调为任意值,直至200。
输入端以地位参考,同时输出端被自动偏置到电源电压的一半,在6V电源电压下,它的静态功耗仅为24mW,使得LM386特别适用于电池供电的场合。
2.2系统原理与控制方法
2.2.1设计原理
音乐是由音符组成,不同的音符是由相应频率的振动产生。
通过控制定时器的定时时间来产生不同频率的方波,驱动喇叭发出不同音阶的声音,再利用延迟来控制发音时间的长短,即可控制音调中的节拍。
产生不同的音频需要有不同固定周期的脉冲信号。
[4]要产生音频脉冲,只要算出某一音频的周期T(1/f),然后将此周期T除以2,即为半周期的时间。
把乐谱中的音符和相应的节拍变换为定常数和延迟常数,作为数据表格存放在存储器中。
由程序查表得到定时常数和延迟常数,分别用以控制定时分别代表某一频率的声音。
我们利用单片机的内部定时器TO,使其工作在计数器模式MODEl下.初始化适当的计数值THO及TLO以计时这个半周期时间。
每当计时时间到后就将输出脉冲的P1.0口反相。
然后重复计时此半周期时间,再对P1.0口反相,就可在单片机Pl.0引脚上得到此频率的脉冲。
P1.0引脚脉冲接LM386作音频功放,然后辅出到扬声器,从而发出美妙的乐音。
例如设单片机晶振为12MHz,每计数一次用时1µ
s。
我们要产生f低音DO,其频率为392Hz,周期T=1/392=2551µ
s,半周期时间为1276µ
因此计数器应每计数1276次时将P1.0口反相,即计数初值应设定为(THxTLx)=
一1276=64260,就可得到低音D0。
[5]P3.5口作为控制门铃的按钮,每按一次,产生的电子音乐就改变一次,按完3次,再重复循环。
3首歌曲分别为《两只老虎》、《三只小猫》、《哈巴狗》。
2.3单片机发音概述
一般来说,单片机不像其他专业乐器那样能奏出多种音色的声音,即不包含相应幅度的谐振频率。
单片机演奏的音乐基本都是单音频率。
因此单片机演奏音乐比较简单,只需能清楚“音调”和“节拍”两个概念即可。
音调表示一个音符唱多高的频率,知道了一个音符的频率后,便可以让单片机发出相应频率的振荡信号,从而产生相应的音符声音。
通过单片机的定时器进行定时中断,在中断服务程序中将单片机上完结LM386的I/O口来回置高电平或者是低电平的,从而让扬声器发出声音。
节拍表示一个音符唱多长的时间,通过节拍计算出每个音符所需要的时间,采用循环延时的方法来实现控制一个音符唱多长的时间,从而构成一首完整的音乐。
2.3.1音调控制
音调主要由声音的频率决定。
对一定强度的纯音,音调随频率的升降而升降;
对一定频率的纯音、低频纯音的音调随响度增加而下降,高频纯音的音调却随响度增加而上升。
音调的高低还与发声体的结构有关,因为发声体的结构影响了声音的频率。
大体上,2000赫兹以下的低频纯音的音调随响度的增加而下降,3000赫兹以上高频纯音的音调随响度的增加而上升。
[6]
例如,在音乐中常常把中音C上方的A音定位标准高音,其频率F=440HZ,其余音均与其进行比较。
F1和F2为两个音符,如果这两个音符的频率相差一倍时,也即F2=2*F1时,则称F2比F1高一个频程。
在音乐中音符1与音符2,音符2与音符3……等等之间正好相差一个倍频程,在音乐学中称它相差一个八度音。
在一个八度内,有12个半音。
由于人耳的听觉效果,这12个音阶的分度基本上是以对数的关系来划分的。
只要知道12个音符的音高,也就是其基本频率,就可以根据音符之间的倍频关系得到其他音符的基本音调频率。
以标准高音A的频率F=440HZ,其对应的周期为:
T=1/F=1/440=2272us
因此需要在单片机I/O端口输出周期为T=2272us的方波脉冲,也就是t=T/2=2272/2=1136us
也就是说,单片机上定时器的中断出发时间为1136us。
如果单片机采用定时器为工作方式1,它以振荡器的十二分频信号为计数脉冲。
[7]
定时器初始值的求法如下:
T=65536-N=65536-Fi÷
2÷
Fr
例如:
设K=65536,F=1000000=Fi=1MHz,求低音DO(261Hz)、中音DO(523Hz)、高音的DO(1046Hz)的定时器初始值。
Fr=65536-1000000÷
Fr=65536-500000/Fr
低音DO:
T=65536-500000/262=63627
中音DO:
T=65536-500000/523=64580
高音DO:
T=65536-500000/1047=65059
表1音符对应的简谱码、频率、定时常数
音符
简谱码
频率(HZ)
定时常数(T)
低SO
1
392
64260
低LA
2
440
64400
低TI
3
494
64524
中DO
4
523
64580
中RE
5
587
64684
中MI
6
659
64777
中FA
7
698
64820
中SO
8
784
64898
中LA
9
880
64968
中TI
A
988
65030
高DO
B
1046
65058
高RE
C
1175
65110
高MI
D
1318
65157
高FA
E
1397
65178
高SO
F
1568
65217
不发音
2.3.2节拍控制
在音乐中,时间被分成均等的基本单位,每个单位叫做一个“拍子”或称一拍。
拍子的时值是以音符的时值来表示的,一拍的时值可以是四分音符(即以四分音符为一拍),也可以是二分音符(以二分音符为一拍)或八分音符(以八分音符为一拍)。
拍子的时值是一个相对的时间概念,比如当乐曲的规定速度为每分钟60拍时,每拍占用的时间是一秒,半拍是二分之一秒;
当规定速度为每分钟120拍时,每拍的时间是半秒,半拍就是四分之一秒,依此类推。
拍子的基本时值确定之后,各种时值的音符就与拍子联系在一起。
[8]例如,当以四分音符为一拍时,一个全音符相当于四拍,一个二分音符相当于两拍,八分音符相当于半拍,十六分音符相当于四分之一拍;
如果以八分音符做为一拍,则全音符相当于八拍,二分音符是四拍,四分音符是两拍,十六分音符是半拍。
对于一拍的发音时间,如果乐曲没有特殊说明,一般来说,一拍大约为400~450ms。
对于计算机编程节拍码及节拍数如表2所示:
表2节拍码及节拍数
节拍数
节码数
1/4拍
2/4拍
3/4拍
1拍
1又1/4拍
1又1/2拍
2拍
2又1/2拍
3拍
3又3/4拍
3.系统的硬件设计
系统以AT89C51单片机为核心,加上外围电源时钟电路、LM386功放电路及扬声器电路组成。
AT89C51单片机是一种低功耗、低电压、高性能的8位单片机,内部除CPU外,还包括128字节RAM,4个8位并行I/O口,5个中断优先级,2层中断嵌套中断,2个16位可编程定时计数器,片内集成4K字节可改变程序Flash存储器,具有低功耗,速度快,程序擦写方便等优点,完全满足本系统设计需要。
系统通过P3连接功放电路从而驱动扬声器产生电子声乐,P1口连接门铃按键。
3.1芯片简介
AT89C51单片机是把那些作为控制应用所必需的基本内容都集成在一个尺寸有限的集成电路芯片上。
如果按功能划分,它由如下功能部件组成,即微处理器、数据存储器、程序存储器、并行I/O口、串行口、定时器/计数器、中断系统及特殊功能寄存器。
他们都是通过片内单一总线连接而成,其基本结构依旧是CPU加上外围芯片的传统结构模式。
但对各种功能部件的控制是采用特殊功能寄存器的集中控制方式。
[9]
1)微处理器
该单片机中有一个8位的微处理器,与通用的微处理器基本相同,同样包括了运算器和控制器两部分,只是增加了面向控制的处理功能,不仅可处理数据,还可以进行位变量的处理。
2)数据存储器
片内为18个字节,2片外最多可外扩至64k字节,用来存储程序在运行期间的工作变量、运算的中间结果、数据暂存和缓冲、标志位等,所以称为数据存储器。
3)程序存储器
由于受集成度限制,片内只读存储器一般容量较小,如果片内的只读存储器的容量不够,则需要扩展片外的只读存储器,片外最多可外扩至64k字节。
4)中断系统,具有5个中断源,2个中断优先权
5)定时器/计数器
芯片内有2个16位的定时器/计数器,具有四种工作方式
6)串行口
1个全双工的串行口,具有四种工作方式。
可用来进行串行通讯,扩展并行I/O口,甚至与多个单片机相连接构成多机系统,从而使单片机的功能更强且应用更广。
7)I/O口,4个并行8位I/O口
8)特殊功能寄存器
共有21个,用于对片内的各功能的部件进行管理、控制、监视。
实际上是一些控制寄存器和状态寄存器,是一个具有特殊功能的RAM区。
由上可见,AT89C51单片机的硬件结构具有功能部件种类全,功能强等特点。
特别值得一提的是该单片机CPU中的微处理器实际上是一个完整的1位微计算机。
这个1位微计算机有自己的CPU、位寄存器、I/O口和指令集。
其在开关决策、逻辑电路仿真、过程控制方面非常有效;
而8位机在数据采集、运算处理方面有明显的长处。
MCS-51单片机中8位机和1位机的硬件资源复合在一起,二者相辅相成,它是单片机技术上的一个突破,也是MCS-51单片机在设计上的精美之处。
3.2原理简介
总体设计方案本系统采用STC89C51作为系统核心,音乐是由音符组成.不同的音符是由相应频率的振动产生.产生不同的音频需要有不同固定周期的脉冲信号。
要产生音频林冲,只要算出某一音颉的周期T,将此周期T除2.即为毕周期的时间。
我们利用单片机的内部定时器TO,使其工作在计数器模式MODEl下.韧始化适当的计数值THO及TLO以计时这个半周期时间.每当计时时间到后就将输出脉冲的P1.0口反相.然后重复计时此半周期时间。
再对P1.0口反相.就可在单片机Pl.0引脚上得到此频率的脉冲。
P1.0引脚脉冲接LM386作音频功放,然后辅出到扬声器.从而发出美妙的乐音。
通过音频功放电路,把信号输出到扬声器,播出美妙的音乐。
只要一按下按钮,就会有音乐播出,等一首歌播放完毕后,当再次按下按钮,就会播放下一首音乐,如此循环,知道再次出现第一首音乐为止。
本系统可以奏出三首不同旋律的歌曲。
此电子音乐门铃的电路设计方案如图3.1所示
图3.1PCB绘制电路图
3.3单片机引脚说明
AT89C51单片机是标准的40引脚双列直插式集成电路芯片,引脚分布可如下图3.2所示:
图3.2AT89C51单片机引脚分布图
P0.0~P0.7P0口8位双向线(在引脚的32~39号端子);
P1.0~P1.7P1口8位双向线(在引脚的1~8号端子);
P2.0~P2.7P2口8位双向线(在引脚的21~28号端子);
P3.0~P3.7P3口8位双向线(在引脚的10~17号端子)。
1)P0口有三个功能:
外部扩展存储器时,当作数据总线(如图中的D0~D7为数据总线接口);
外部扩展存储器时,当作地址总线(如图中的A0~A7为地址总线接口);
不扩展时,可作一般的I/O口使用,但内部无上拉电阻,作为输入输出时应在外部接上拉电阻。
2)P1口功能:
P1口只作I/O口使用,其内部有上拉电阻。
3)P2口功能:
扩展外部存储器时,当作地址总线使用;
作一般I/O口使用,其内部有上拉电阻。
4)P3口功能:
除了作为I/O口使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置。
当作为输入时,上拉电阻将其电位拉高,若输入为低电平则可提供电流源,所以如果P0口作为输入时,或处在高阻抗状态,只有外接一个上拉电阻才能有效。
5)ALE/PROG地址锁存控制信号
在系统扩展时,ALE用于控制把P0口的输出低8位地址送锁存器锁存起来,以实现低位地址和数据的隔离。
PROG为编程脉冲的输入端,在AT89C51单片机内部有一个4kB的程序存储器(ROM),ROM的作用就是用来存放用户需要执行的程序。
我们如何把编写好的程序存入这个ROM中的呢?
实际上是通过编程脉冲输入采能写进去,而这个脉冲的输入端口就是PROG。
[10]
6)PSEN外部程序存储器读选通信号
在读外部ROM时PSEN低电平有效,以实现外部ROM单元的读操作:
内部ROM读取时,PSEN不动作;
外部ROM读取时,在每个机器周期会动作两次;
外部RAM读取时,两个PSEN脉冲被跳过不会输出;
外接ROM时,与ROM的OE脚相接。
7)EA/VPP访问程序存储器控制信号:
接高电平时,CPU读取内部程序存储器(ROM);
接低电平时,CPU读取外部程序存储器(ROM)。
8031单片机内部是没有ROM的,因此在应用8031单片机时,这个脚时一直接低电平的。
8)RST复位信号:
当输入的信号连续2个机器周期以上高电平时即为有效,用以完成单片机的复位初始化操作,当复位后程序计数器PC=0000H,即复位后将从程序存储器的0000H单元读取第一条指令码。
9)XTAL1和XTAL2:
外接晶振引脚。
当使用芯片内部时钟时,此二引脚用于外接石英晶体和微调电容;
当使用外部时钟时,用于接外部时钟脉冲信号。
10)VCC:
电源+5V输入
11)GND:
接地
3.4主电路设计
AT89C51是片内有ROM/EPROM的单片机,因此,这种芯片构成的系统简单、可靠。
本设计利用单片机芯片构成应用系统时,主要是将单片机街上时钟电路和复位电路。
其应用特点:
1)有可供用户使用的大量I/O线
2)内部存储器容量有限
3)应用系统开发具有特殊性
ATMEL89系列单片机具有下列优点:
内部含Flsah存储器,在系统开发过程中,可以十分容易进行程序的修改,大大缩短了系统的开发周期。
同时,在系统工作过程中,能有效地保存一些数