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