版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于单片机的电子音乐门铃设计 题目:电子音乐门铃设计 学院: 专业: 班级: 学号: 姓名: 时间: 摘 要 近几年来,随着市场上智能化楼宇的不断升温,门铃系统已作为智能化办公室和智能化住宅小区的一个重要组成部分,被各商家和用户所接受。人们已开始习惯用门铃系统代替传统的铁钥匙去管理各通道门,这使门铃系统得到了飞跃性的发展。随着单片机技术的飞速发展,通过单片机实现人们对物质生活的满足,这将会日益成为今后的一个重要发展的方向。 本设计是介绍了由at89c51单片机来构成电子音乐门铃系统的工作过程,本系统主要完成该电子门铃不仅具有普通电子门铃的功能,而且还具有一些扩展功能。它的工作状态能够由用户自行
2、设定等常规功能,并给来访者提供必要的语音和文字回应信息,此外。这给人们生活提供了很大的便利关键词:电子门铃目 录一、设计目的二、设计任务三、设计要求四、设计步骤(流程)五、设计原理六、设计内容 6.1硬件设计 6.2单片机引脚说明 6.3主要电路设计 6.3.1时钟电路 6.3.2复位电路 6.3.3功率放大电路 6.4软件设计 6.4.1音乐符设计 6.4.2程序设计 6.4.3程序流程图 6.4.4仿真界面图 6.5.5编程七、设计小结 参考文献一、设计目的: 1、动手焊接单片机硬件电路板,增进对单片机的感性认识,加深对单片机理论方面的理解。 2、了解单片机的内部功能模块的应用。 3、了解
3、和掌握单片机应用系统的硬件设计和制作过程、方法及实现。二、设计任务: 1、了解单片机的组成结构,设计相关电路原理图; 2、根据原理图焊接硬件电路。 3、实现所要求的功能。三、设计要求: 1、要求理解单片机的组成结构; 2、根据给出的主要芯片,设计相关电路原理图; 3、焊接电路板,检测并调试。四、设计步骤(流程): 1、根据电子音乐门铃原理设计相关电路图; 2、焊接电路板; 3、编写程序、检测并调试。五、设计原理: 音乐是由音符组成,不同的音符是由相应频率的振动产生。产生不同的音频需要有不同固定周期的脉冲信号。要产生音频脉冲,只要算出某一音频的周期t(1f) ,然后将此周期t除以2,即为半周期的
4、时间。我们利用单片机的内部定时器to,使其工作在计数器模式model下初始化适当的计数值tho及tlo以计时这个半周期时间。每当计时时间到后就将输出脉冲的p1.0口反相。然后重复计时此半周期时间,再对p1.0口反相,就可在单片机pl.0引脚上得到此频率的脉冲。p1.0引脚脉冲接lm386作音频功放,然后辅出到扬声器,从而发出美妙的乐音。 例如设单片机晶振为12mhz,每计数一次用时1s。我们要产生f低音do,其频率为392hz,周期t=1392=2551s,半周期时间为1276s。因此计数器应每计数1276次时将p1.0口反相, 即计数初值应设定为(thxtlx)=一1276=64260,就可
5、得到低音d0。p3.5口作为控制门铃的按钮,每按一次,产生的电子乐音就改变一次,按完6次,再重复循环。6首歌曲分别为生日快乐、两只老虎 、三只小猫、哈巴狗 、不倒翁 、妹妹背着洋娃娃 。六、设计内容: 传统的电子音乐门铃通常采用分立元件或专用的音乐ic制作。本文介绍一个用at89c51单片机设计的电子音乐门铃,仅需at89c51单片机最小系统再加一片lm386做音频小功放驱动扬声器发声。客人来访时,按一下按钮,门铃就会奏出优美的电子音乐声;再按一下,门铃又会奏出下一首电子音乐声音共可以奏出六首不同旋律的歌曲。6、1硬件设计 电子音乐门铃设计系统以at89c51单片机为核心加上外围电源时钟电路、
6、lm386功放电路及扬声器电路组成。atmel公司生产的at89c51单片机是一种低功耗且电压性能高的8位单片机,内部除cpu外,还包括128字节ram,4个8位并行i/o口,5个中断优先级,2层中断嵌套,2个16位可编程计数器,片内集成4k字节可改变程序flash,具有低功耗、速度快、程序擦写方便等优点,完全满足本系统设计需要,系统通过p1.0连接功放电路从而驱动扬声器产生电子乐声,p3.5口接门铃按键。 电子音乐门铃的电路连接图如下图1所示:6.2单片机引脚说明 at89c51单片机是标准的40引脚双列直插式集成电路芯片,引脚分布可如下图2所示:图2 at89c51单片机引脚分布图 p0.
7、0p0.7 p0口8位双向线(在引脚的3239号端子); p1.0p1.7 p1口8位双向线(在引脚的18号端子); p2.0p2.7 p2口8位双向线(在引脚的2128号端子); p3.0p3.7 p3口8位双向线(在引脚的1017号端子)。1)p0口有三个功能: 外部扩展存储器时,当作数据总线(如图中的d0d7为数据总线接口) 外部扩展存储器时,当作地址总线(如图中的a0a7为地址总线接口) 不扩展时,可作一般的i/o口使用,但内部无上拉电阻,作为输入输出时应在外部接上拉电阻。2)p1口功能 p1口只作i/o口使用,其内部有上拉电阻。3)p2口功能 扩展外部存储器时,当作地址总线使用; 作
8、一般i/o口使用,其内部有上拉电阻。4)p3口功能 除了作为i/o口使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置。 当作为输入时,上拉电阻将其电位拉高,若输入为低电平则可提供电流源,所以如果p0口作为输入时,或处在高阻抗状态,只有外接一个上拉电阻才能有效。5)ale/prog地址锁存控制信号 在系统扩展时,ale用于控制把p0口的输出低8位地址送锁存器锁存起来,以实现低位地址和数据的隔离。 prog为编程脉冲的输入端,在at89c51单片机内部有一个4kb的程序存储器(rom),rom的作用就是用来存放用户需要执行的程序。我们如何把编写好的程序存入这个rom中的呢?实际上是
9、通过编程脉冲输入采能写进去,而这个脉冲的输入端口就是prog。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个
10、机器周期以上高电平时即为有效,用以完成单片机的复位初始化操作,当复位后程序计数器pc=0000h,即复位后将从程序存储器的0000h单元读取第一条指令码。9)xtal1和xtal2 外接晶振引脚。当使用芯片内部时钟时,此二引脚用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。10)vcc 电源+5v输入11)gnd 接地6.3主要电路设计 at89c51是片内有rom/eprom的单片机,因此,这种芯片构成的系统简单、可靠。本设计利用单片机芯片构成应用系统时,主要是将单片机街上时钟电路和复位电路。其应用特点: 有可供用户使用的大量i/o线 内部存储器容量有限 应用系统开发具
11、有特殊性6.3.1时钟电路 at89c51虽然有内部振荡电路,但要形成时钟,必须外部附加电路。at89c51单片机的时钟产生方法有两种:内部时钟方式和外部时钟方式。 本设计采用最常用的内部时钟方式,即用外接晶体和电容组成的并联谐振回路。震荡晶体可在1.2mhz到12mhz之间选择。电容值无严格要求,单电容取值对振荡频率输出的稳定性、大小、振荡电路起振速度有少许影响,cx1、cx2可在20pf到100pf之间取值,但在60pf到70pf时振荡器有较高的频率稳定性。所以本设计中,震荡晶体频率选择12mhz,电容选择20pf。 在设计印刷电路板时,晶体和电容应尽可能靠近单片机芯片安装,以减少寄生电容
12、,更好的保证振荡器稳定和可靠工作。6.3.2复位电路 at89c51的复位是由外部的复位电路来实现的。复位引脚rst通过一个施密特触发器来抑制噪声。在每个机器周期的s5p2,施密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。复位电路通常采用上电自动复位和按钮复位两种方式。 最简单的上电自动复位电路中上电自动复位是通过外部复位电路的电容充电来实现的。只要vcc的上升时间不超过1ms,就可以实现自动上电复位。时钟频率采用12mhz时c取10f,r取1k。本设计就是用上电复位。 复位时,ale和psen成输入状态,片内ram不受复位影响;复位后,pc指向0000h,单片
13、机从起始地址0000h开始执行程序。所以单片机运行出错或进入死循环,可按复位键重新启动。在次单片机中,没有完全使用这些默认值,而是通过在程序中对单片机进行初始化。复位电路采用的是简单的上电复位电路,此电路要求要保证在reset引脚上提供10毫秒以上稳定的高电压。这种上电复位利用电容器充电来实现。当加电时,电容c充电,电路有电路流过,构成回路,在电阻r上产生压降,reset引脚为高电平;当电容c充满电后,电路相当于断开,reset的电位与地相同,复位结束。复位时间与充电的时间有关,充电时间越长复位时间越长,增大电容或增大电阻都可以增加复位时间。6.3.3功率放大电路 lm386是音频功率放大器。
14、输入端以地位参考,同时输出端以地位参考,被自动偏置到电源电压的一半,在5v电源电压下,它的静态功耗仅为24mw,使得lm386特别适用于电池供电的场合。本实验采用lm386的封装形式8引线双列直插式。6.4软件设计6.4.1音乐符设计 首先建立音乐,把音乐的音符找出。建立各个音符的定时常数t值表,编写程序时我们把t值表按顺序建立在“table”栏。每个发音符使用一个字节,字节的位(简谱码)代表音符的节拍。如果1拍为0.4秒,4分之一秒就是0.4秒。只要设定延时时间就求得节拍的时间。假设4分之一为1delay,则一拍应为4delay,依次类推。所以只要求出4分之一的delay时间。其余的节拍就是
15、它的倍数。4分之一拍的延时在此我们设为125ms,节拍码如表: 表 1 音符对应的简谱码、频率、定时常数音符简谱码频率(hz)定时常数(t)低低低中中中中中中中高高高高高不发音 表节拍码及节拍数节拍码节拍数拍拍拍拍又拍又拍拍又拍拍又拍6.4.2程序设计:本系统采用mcs-51汇编语言编程。软件程序由主程序、定时器to中断服务程序和延时子程序组成。系统初始化后,系统扫描按键(p3.5口的电平)判断是否有键按下,有键按下时,根据按下键的次数,向音频字符码指针赋以不同歌曲的地址,通过定时器to中断子程序使p1.0口输出相应频率的音频脉冲,以达到发声目的。主程序流程图如图3所示。6.4.3程序流程图如
16、下图3所示:主程序开始(1)演奏乐曲等待按键,是否有按键初始化定时器初始化变量ny图3 程序流程图6.4.4仿真界面图仿真界面图如下图4:图4 仿真界面6.4.5编程如下:main:org00h;主程序的起始地址jmpstart;跳至主程序org 0bh;timer0中断起始地址ljmptim0;跳至timer0中断子程序start:movtmod,#00000001b;设timer0在mode1movie,#10000010b ;中断使能jbp3.4, $;第一次按t0?calldelay1;消除抖动jnbp3.4, $;t0放开?mov31h,#00;按t0计数指针初始值为00hstart
17、0:mov30h,#low song;取简谱码指针(第1首)next:mova,30hmovdptr,# tablemovca,a+dptr;至相关页取码movr2,a ;低4位为音符的节拍jzend0 ;检查简谱码是否已结束(有无00?)anla,#0fh;取节拍(低4位)movr5,a ;存入r5节拍的时间mova,r2 swapaanla,#0fh;取音频值(高4位)jnzsing ;是否为0,是0则不发音clrtr0jmpd1sing:deca ;因0不列入mov22h,a ;存入(22h )rla ;乘2movdptr,#tablemovca,a+dptr;至table取码,取t的值
18、mov th0,a;取到的高位字节才存入th0mov21h,a ;取到的高位字节存入(21h)mova,22h ;在载入取到的音符码rla ;乘2inca ;加1movca,a+dptr;至table取相对的低位字节计数值movtl0,a ;取到的低位字节存入tl0mov20h,a ;取到的低位字节存入(21h)setbtr0 ;启动timer0d1:calldelayinc30h ;取简谱码指针加1jmpnextend0:clrtr0 ;停止计数器mova,31h ;载入计数器指针xrla,#00h ;是否按第1次jnzend1 ;不是则跳至end1jbp3.4,$ ;按第2次?callde
19、lay1 ;消除抖动jnb p3.4,$ ;放开否?inc31h ;计次地址(31h)加1mov30h,#low song1;第2首歌指针jmpnextend1:mova,31h ;载入计数器指针xrla,#01h ;是否按第2次jnzend2 ;不是则跳至end2jbp3.4,$ ;按第3次?calldelay1 ;消除抖动jnbp3.4,$ ;放开否?inc31h ;计次地址(31h)加1mov30h,#low song2;第3首歌指针jmpnextend2:mova,31h ;载入计数器指针xrla,#02h ;是否按第3次jnzend3 ;不是则跳至end3jbp3.4,$ ;按第4次
20、?calldelay1 ;消除抖动jnbp3.4,$ ;放开否? inc31h ;计次地址(31h)加1mov30h,#low song3;第4首歌指针jmpnextend3:mova,31h ;载入计数器指针xrla,#03h ;是否按第4次jnzend4 ;不是则跳至end4jbp3.4,$ ;按第5次?calldelay1 ;消除抖动jnbp3.4,$ ;放开否?inc31h ;计次地址(31h)加1mov30h,#low song4;第5首歌指针jmpnextend4:mova,31h ;载入计数器指针xrla,#04h ;是否按第5次jnzend5 ;不是则跳至end5jbp3.4,
21、$ ;按第6次?calldelay1 ;消除抖动jnbp3.4,$ ;放开否? inc31h ;计次地址(31h)加1mov30h,#low song5;第6首歌指针jmpnextend5:jmpstart ;回到第1次位置tim0:pushacc;将a的值暂存于堆栈pushpsw;将psw的值暂存于堆栈setbrs0 ;设工作寄存器库1,rs0=1,rs1=0clrrs1movtl0,20h;重设计数值movth0,21hcplp1.0 ;将p1.0位反相poppsw;至堆栈取回psw的值popacc;至堆栈取回a的值reti ;返回主程序delay:movr7,#02;延时125毫秒d2:
22、movr4,#125d3:movr3,#248djnzr3,$djnz r4,d3djnzr7,d2djnzr5,delay;决定节拍retdelay1:movr4,#20d4:movr3,#248djnzr3,$djnzr4,d4retorg300h ;定时常数t值表table:dw64260,64400,64524,64580dw64684,64777,64820,64898dw64968,65030,65058,65110dw65157,65178,65217;音符节拍码数据表song:;生日快乐;1db82h,01h,81h,94h,84hdb0b4h,0a4h,04hdb82h,01
23、h,81h,94h,84hdb0c4h,0b4h,04h;2db82h,01h,81h,0f4h,0d4hdb0b4h,0a4h,94hdb0e2h,01h,0e1h,0d4h,0b4hdb0c4h,0b4h,04hdb00hsong1:;两只老虎;1db44h,54h,64h,44hdb44h,54h,64h,44hdb64h,74h,88hdb64h,74h,88h;2db82h,92h,82h,72h,64h,44hdb82h,92h,82h,72h,64h,44hdb44h,84h,48hdb44h,14h,48hdb00hsong2:;三只小猫 ;1 db62h,82h,82h,62
24、h,98h db92h,0b2h,0b2h,82h,98h db62h,82h,82h,52h,68h db92h,0b2h,0b2h,82h,98h ;2 db62h,82h,82h,62h,92h,92h,94h db92h,0b2h,0b2h,92h,84h,94h db0b8h,0b4h,04h db00hsong3:;哈巴狗;1db42h,42h,42h,52h,64h,04hdb62h,62h,62h,72h,84h,04hdb92h,92h,82h,72h,64h,04hdb82h,82h,52h,62h,44h,04h;2db42h,42h,42h,52h,64h,04hdb62h,62h,62h,72h,84h,04hdb92h,92h,82h,72h,64h,04hdb82h,82h,52h,62h,44h,04hdb00hsong4:;不倒翁;1db84h,94h,88hdb64h,54h,68hdb84h,64h,54h,44hdb62h,82h,42h,62h,58h;2db84h,94h,88hdb64h,54h,68hdb84h,64h,54h,44hdb52h,42h,52h,62h,48h db00hsong5:;妹妹背着洋娃娃;1db84h,02h,82h,64h,54
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水库防汛调度专员岗位招聘考试试卷及答案
- 增资扩股协议书理财风险点
- 学校的治安联防协议书
- 补充协议书交货时间
- 环评合同终止协议书
- JIT快速补货协议
- 房屋交换协议书用英语写
- 嘉兴滨江花园托管协议书房
- 钢板桩支护基坑施工计划
- 演员需与平台签协议书
- 2026上海大歌剧院管理有限公司夏季工作人员招聘137人笔试备考题库及答案解析
- 2026江苏南京玄武区档案馆编外人员招聘1人笔试备考题库及答案解析
- 2026贵州黔西南州兴义市选聘社区工作者30人笔试参考题库及答案解析
- 高考考务人员培训系统考试试题答案
- 2026年济宁市中考物理仿真试卷(含答案解析)
- 2026上海市大数据中心招聘10名笔试参考题库及答案解析
- (二模)青岛市2026年高三年级第二次适应性检测语文试题(含答案)
- 国药集团2026届春季校园招聘笔试历年备考题库附带答案详解
- 产科孕产期管理诊疗常规
- 2026年河南省中考英语模拟试卷(三)(含答案)
- 【 生物 】人体的运动重难点梳理课件-2025-2026学年北师大版七年级生物下册
评论
0/150
提交评论