收藏 分销(赏)

基于单片机的音乐门铃课程设计报告及仿真.doc

上传人:二*** 文档编号:4511657 上传时间:2024-09-26 格式:DOC 页数:12 大小:102KB 下载积分:5 金币
下载 相关 举报
基于单片机的音乐门铃课程设计报告及仿真.doc_第1页
第1页 / 共12页
本文档共12页,全文阅读请下载到手机保存,查看更方便
资源描述
. . 单片机课程设计 题目:音乐门铃 目录 1.功能 2.设计步骤 1.前期工作·······························································1 2.电路构造·······························································1 3.根本步骤·······························································1 4.预期结果·······························································2 3.硬件电路设计 1.模拟仿真电路···························································2 2.元件列表······························································2 3.发声原理······························································3 4.软件设计 1.设计材料·····························································3 2.实验源程序···························································4 5.实验结果 1.仿真结果·····························································8 2.实验感受······························································8 . .word.. . . 音乐门铃的设计 摘要: 该设计以AT89C51为芯片组成的一个音乐门铃解决方案,在设计系统硬件电路的根底上,实现了电子门铃系统软件设计,该系统设计主要包括电源、按键模块等。经过系统测试,证明到达了设计要求。 1.功能 1.用单片机编程实现自由切换播放三首歌曲,并且用LED灯进展显示,到达门铃效果。 2.设计步骤 1.前期工作 通过大家对单片机的学习,能够通过keilC软件编写C语言程序,并且能够在Proteus仿真软件上成功的运行。 2.电路构造 音乐门铃的硬件电路由6个局部组成:单片机、时钟与复位电路、选择按键输入电路、音频发生器、音频放大器和扬声器。音乐门铃的硬件电路设计框图如下。 时钟与复位电路 选择按键输入电路 单 片 机 音频发生器 音频放大器 扬声器 图2-1 音乐门铃硬件电路设计框图 3.根本步骤 先用c语言编写实现音乐门铃的程序代码,然后将c语言用keil软件生成hex文件下载到stc89c51集成芯片中,利用不同的频率发出不同的音调,利用延时产生不同的节拍,通过功率放大器传送到喇叭使其发出美妙的音乐。 4.预期结果 按下门铃键,即同普通门铃的工作方法一样,由AT89C51控制蜂鸣器放出美妙的音乐,提醒主人开门。 3.硬件设计 1.模拟仿真电路 2.元件列表 元件名称 代号 规格型号 数量 单片机 U1 AT89C52 1 晶振 X1 12MHz 1 按钮 K1 K2 轻触型 2 电阻 R1 10K 1 扬声器 LS1 8R 0.25W 1 八段数码管 LED 1 电源 Vcc +5v 1 电容 C1、C4 30pF 2 C2 10uF 1 3.发声原理 首先要让单片机出一定频率的波形,因为音符的差异就是频率的差异,网上有音符频率对照表可以参考。 所谓的节拍就是该频率的波形持续的时间,对于一般的乐曲先定好1/4拍是多少秒,然后计算出不同频率的波形在这个节拍上要重复几遍。 后面的事情就简单了,根据乐曲自行编辑出一段代码,每两个代码代表一个音符,前面一个表示音符的频率,后面一个代表持续的时间。 4.软件设计 1.设计材料 音符 频率(HZ) 简谱码(T值) 低 1 DO 262 63628 # 1 DO# 277 63731 低 2 RE 294 63853 # 2 RE# 311 63928 低 3 M 330 64021 低 4 FA 349 64103 # 4 FA# 370 64185 低 5 SO 392 64260 # 5 SO# 415 64331 低 6 LA 440 64400 # 6 466 64463 低 7 SI 494 64524 中1 DO 523 64580 # 1 DO# 554 64633 中 2 RE 587 64684 # 2 RE# 622 64732 中 3 M 659 64777 中 4 FA 698 64820 音符 频率(HZ) 简谱码(T值) # 4 FA# 740 64860 中 5 SO 784 64898 # 5 SO# 831 64934 中 6 LA 880 64968 # 6 932 64994 中 7 SI 988 65030 高 1 DO 1046 65058 # 1 DO# 1109 65085 高 2 RE 1175 65110 # 2 RE# 1245 65134 高 3 M 1318 65157 高 4 FA 1397 65178 # 4 FA# 1480 65198 2.实验源程序: #include<reg51.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit K1=P1^0; sbit SPK=P3^7; uchar Song_Index=0,Tone_Index=0; uchar code DSY_CODE[]={0x06,0x5b,0x4f}; uchar code HI_LIST[]={0,226,229,232,233,236,238,240,241,242,244,245,246,247,248}; uchar code LO_LIST[]={0,4,13,10,20,3,8,6,2,23,5,26,1,4,3}; uchar code Song[][50]= { {1,2,3,1,1,2,3,1,3,4,5,3,4,5,5,6,5,3,5,6,5,3,5,3,2,1,2,1,-1}, {3,3,3,4,5,5,5,5,6,5,3,5,3,2,1,5,6,5,3,3,2,1,1,-1}, {3,2,1,3,2,1,1,2,3,1,1,2,3,1,3,4,5,3,4,5,5,6,5,3,5,3,2,1,3,2,1,1,-1} }; uchar code Len[][50]= { {1,1,1,1,1,1,1,1,1,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,2,1,2,-1}, {1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,2,2,-1}, {1,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,2,1,1,2,1,1,1,1,1,1,1,2,1,1,2,2,-1} }; void EX0_INT() interrupt 0 { TR0=0; Song_Index=(Song_Index+1)%3; Tone_Index=0; P2=DSY_CODE[Song_Index]; } void T0_INT() interrupt 1 { TL0=LO_LIST[Song[Song_Index][Tone_Index]]; TH0=HI_LIST[Song[Song_Index][Tone_Index]]; SPK=~SPK; } void Delay(uint time) { uint j=0; for(;time>0;time--) for(j=0;j<125;j++); } void main() { P2=0x06; SPK=0; TMOD=0x00; IE=0x93; IT0=1; IP=0x02; while(1) { while(K1==1); while(K1==0); TR0=1; Tone_Index=0; while(Song[Song_Index][Tone_Index]!=-1&&K1==1&&TR0==1) { Delay(300*Len[Song_Index][Tone_Index]); Tone_Index++; } TR0=0; while(K1==0); } } 5.实验感受 1. 仿真结果 2.实验感受 作为电子信息科学与技术专业的大三学生,我觉得做此次设计是十分有意义的,而且是十分必要的。在已度过的大学时间里,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力?如何把我们所学的专业根底课理论知识运用到实践中去呢?我想做类似的课程设计就为我们提供了良好的实践平台。 在做本次课程设计的过程中,我感触最深的当属查阅大量的设计资料了。为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。我们是在做单片机课程设计,但我们不是艺术家,他们可以抛开实际尽情在梦想的世界里翱翔,而我们一切都要有据可依,有理可寻,不切实际的设想永远只能是设想,永远无法升级为设计。 其次,在这次课程设计中,我们运用到了以前所学的专业课知识,如:C语言、模拟和数字电路知识等。虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。 . .word..
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服