教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 教育文库 >

解析单片机课程设计 数字音乐盒

来源:网络收集 时间:2026-05-17
导读: 单片机最小系统设计 一、本人专业从事电子设计,电子产品复制,电子产品功能破解,设计,毕业论文设计,程序编写,扣扣:一六三四一八九二三八 电子产品功能猜测,加密解密更多相关资料请加扣扣:一六三四一八九二三八 单片机课程设计 课程设计题目: 数字音

单片机最小系统设计

一、本人专业从事电子设计,电子产品复制,电子产品功能破解,设计,毕业论文设计,程序编写,扣扣:一六三四一八九二三八 电子产品功能猜测,加密解密更多相关资料请加扣扣:一六三四一八九二三八

单片机课程设计

课程设计题目: 数字音乐盒

课程设计组: 计算机科学与技术(网络方向)专业

0601班 第1组

课程设计组成员:吉彩霞(2006100102)

李 磊(2006100116)

肖海燕(2006100126)

王 臻(2006100138)

单片机最小系统设计

2009年11月

数字音乐盒

摘要:本文是应用AT89S51单片机原理和控制理论来设计音乐盒的硬件电路,并利用C51单片机语言进行程序设计。通过控制单片机内部的定时器来产生不同频率的方波,驱动喇叭发出不同音调的音乐,再利用延迟来控制发音时间的长短。该程序通过把乐谱转化成相应的定时常数来驱动发音设备演奏出悦耳动听的音乐。这种控制电路结构简单,可靠性高,应用性强;软件程序适应范围广,对于不同的音乐只需要改变相应的定时常数即可。对单片机和音乐爱好者有一定的借鉴价值。

关键词:AT89C51单片机 音乐盒 C51语言

一、 方案的设计与论证

1.方案设计

方案1:

用四个按键控制音乐的播放。3个按键选择3首不同的音乐播放,另一个按键控制音乐的停止。按下播放键,用一点简单的控制之后,才开始播放音乐。比如,用定时器控制,亮灯倒计时10秒然后触发音乐播放。

方案2:

用4*4小键盘来实现音乐的选择播放,1~A按键控制播放10首音乐,C~F按键分别实现欢迎页面、上一首、下一首、停止播放。

方案3:

为了充分利用实验板的功能,进一步扩充音乐盒的功能。设计开机时用七段显示数码管LED显示英文欢迎提示字符HELLO,播放时显示歌曲序号。一个按键控制播放音乐,按下一次按键播放一首歌曲,另外三个按键分别实现上一首、下一首、暂停。考虑到实验的复杂度和时间上的局限,不再使用亮灯倒计时10秒才出发播放的构思。使用方案三。

2.方案论证

1) 在方案1中,共用了4个按键,其中3个按键控制播放3首音乐,另一

个键控制音乐播放的停止。但是我们却只能选择3首音乐,局限性太强

了。

单片机最小系统设计

2) 在方案2中,由于个人所学知识有限、实践经验太少等原因,我们仅实

现了歌曲的播放、开机画面、停止,未能实现歌曲的上一首、下一首选

择播放。由于

二、 单片机控制电路的设计

本设计中用到了89C51单片机,4*4键盘,蜂鸣器,16*2 LCD,七段显示数码管LED。

当键盘有键按下时,判断键值,启动计数器T0,产生一定频率的脉冲,驱动蜂鸣器,放出乐曲。同时启动定时器T1,显示乐曲播放的时间,并驱动LCD,显示歌曲号及播放时间。也可在LED显示歌曲号。

(1) 硬件电路中用P1.0~P1.7控制按键,其中P1.0~P1.3扫描行,P1.4~P1.7扫描列。

(2) 用P0.0~P0.7,P2.0~P2.7控制LED,其中P0.0~P0.7控制七段码a,b,c,d,e,f,g,用P2.0~P2.7为数码管位选信号。

(3) 用,P2.0~P2.2作为LCD的RS,R/W,E的控制信号。用P0.0~P0.7作为LCD的D0~D7的控制信号。

(4) 用P3.7口控制蜂鸣器。

(5) 电路为12MHZ晶振频率工作,起振电路中C1,C2均为30pf。

单片机最小系统设计

三、 软件实现

音乐产生的方法:

一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。现在以单片机12MHZ晶振为例,例出高中低音符与单片机计数T0相关的计数值如下表4.1所示:

表4.1 高中低音符与单片机计数T0相关的计数值

音符 频率(HZ) 简谱码(T值) 音符 频率(HZ)

低1 DO 262 63628 # 4 FA# 740

#1 DO# 277 63731 中 5 SO 784

低2 RE 294 63835 # 5 SO# 831

#2 RE# 311 63928 中 6 LA 880

低 3 M 330 64021 # 6 932

低 4 FA 349 64103 中 7 SI 988

# 4 FA# 370 64185 高 1 DO 1046

低 5 SO 392 64260 # 1 DO# 1109

# 5 SO# 415 64331 高 2 RE 1175

低 6 LA 440 64400 # 2 RE# 1245

# 6 466 64463 高 3 M 1318

低 7 SI 494 64524 高 4 FA 1397

中 1 DO 523 64580 # 4 FA# 1480

# 1 DO# 554 64633 高 5 SO 1568

中 2 RE 587 64684 # 5 SO# 1661

简谱码(T值) 64860 64898 64934 64968 64994 65030 65058 65085 65110 65134 65157 65178 65198 65217 65235

单片机最小系统设计

# 2 RE# 622 64732 高 6 LA 1760 65252 中 3 M 659 64777 # 6 1865 65268 中 4 FA 698 64820 高 7 SI 1967 65283

如表4.2所示:音乐的音拍,一个节拍为单位(C调)

表4.2 音乐的音拍

对于不同的曲调我们也可以用单片机的另外一个定时/计数器来完成。发音部分代码在程序中实现,靠单片机的一个管脚输出,考虑到声音可能不够大所以我们加入了功放电路,利用LM386来对声音信号进行放大。音频输出信号由ADU OUT引出,信号可经功放电路LM386输出到扬声器或耳机。电路如图4-1所示。

图1-6放音电路

流程图如图1-7所示:

单片机最小系统设计

图1-7流程图

单片机最小系统设计

四、 测试结果

1.使用说明:

键盘如下:

K1:开始,显示HELLO欢迎画面

K2:结束,停止播放,并且LED左右来回移动

K3:下一首歌曲(共有6首歌曲)

K4:上一首歌曲

2.程序调试中出现的问题及解决的办法:

1) 有时会出现程序一点错误也没有,但就是不能正常运行的现象,最

后我们发行是因为程序中有的指令书写得不规范导致的。

2) 编程时要注意,在程序开始时,要写入各定时器中断的入口地址。

3) 编程过程中要注意加注释或分割线,否则,在程序过长时容易变得

很乱,不便于查找或更改。

4) 程序的结构要设计的合理,避免上下乱调用的现象,这样会使程序

更加清晰化。

5) 编程前要加流程图,这样会使思路清晰,例如数字音乐盒的设计思

路完全可以按着MP3的工作方式列写流程图。

6) LCD计时正常显示的解决办法:

a. 两个定时器同时工作,存在中断时序问题,刚开始时我们把定时

器1设定在方式3,计250us,由于定时中断过于频繁,使CPU负

载过大,导致音乐不能正常播放,时间不能正常显示。解决办法:

将定时器1设定在工作方式1,16位计数,计50ms,效果有很大改

观。但还有问题。

b. 当音乐为全4拍起始时,此时音乐节奏与定时器T1中断频率错开,

LCD显示和音乐播放都会好一些。

c. 另外,在歌曲中,当遇到一个音符发音为4拍,在编曲中为*CH,

托因时间较长,当定时器T1此时来中断时,就会对歌曲播放产生

影响,若改为发音一拍,中断对歌曲播放影响减弱,但音乐效果

变差。

d. 改进 …… 此处隐藏:1944字,全部文档内容请下载后查看。喜欢就下载吧 ……

解析单片机课程设计 数字音乐盒.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/107899.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)