第一范文网 - 专业文章范例文档资料分享平台

单片机音乐播放器课程设计

来源:用户分享 时间:2025/7/20 16:11:10 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

3.3 音乐的产生

一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。

若要产生音频脉冲,只要算出某一音频的周期(1/频率),再将此周期除以2,即为半周期的时间。利用定时器计时半周期时间,每当计时终止后就将P1.0反相,然后重复计时再反相。就可在P1.0引脚上得到此频率的脉冲。

利用AT89C51的内部定时器使其工作计数器模式(MODE1)下,改变计数值TH0及TL0以产生不同频率的方法产生不同音阶,例如,频率为523Hz,其周期T=1/523=1912μs,,则半周期为1912/2=956μs,因此只要令计数器计时956μs,每计数956次时将I/O反相,就可得到中音DO(523Hz)则初始值为65535-956 = 64579 = 0xFC43。

计数脉冲值与频率的关系式(如式3-1所示)是:

N=fi÷2÷fr (3-1) 式中,N是计数值;fi是机器频率(晶体振荡器为12MHz时,其频率为1MHz);fr是想要产生的频率。

其计数初值T的求法如下: T=65536-N=65536-fi÷2÷fr

例如:设K=65536,fi=1MHz,求低音DO(261Hz)、中音DO(523Hz)、高音DO(1046Hz)的计数值。

T=65536-N=65536-fi÷2÷fr=65536-1000000÷2÷fr=65536-500000/fr

低音DO的T=65536-500000/262=63627 中音DO的T=65536-500000/523=64580 高音DO的T=65536-500000/1046=65059

7

第4章 KEIL仿真软件的应用

硬件与软件的设计一般都要分别借助一些软件,如我们通常用作电路设计与制版的Protel,MCS-51程序开发工具KEIL等。

Keil C51 uVision2集成开发环境是基于80C51内核的软件开发平台,支持工程建立、程序的编译与链接、软件仿真、硬件仿真、目标代码的生成等功能。Keil C51编译器在产生代码的准确性和效率方面达到了较高的水平。

与大多数集成开发环境类似,Keil C51集成开发环境也是用工程的方法来管理文件,在一个工程文件中源程序(C51程序、汇编程序)、头文件等都可以进行统一管理。

安装运行KEIL51,使用KEIL的开发工具进行项目开发过程,与其他软件开发项目的过程基本上相同:

创建C 语言或汇编语言的源程序。 编译或汇编源文件。 纠正源文件中的错误。

从编译器和汇编器连接目标文件。 测试连接的应用程序。

8

第5章 调试与故障分析

5.1 软件程序调试

本次设计的软件部分由音乐播放程序组成。

关于音乐播放程序的调试,我首先采用Preteus软件来仿真,但是该仿真软件中没有喇叭或蜂鸣器等声音播放工具。于是本人将图3-4中的单片机的P1.0处接了一个示波器,想通过这样来仿真并调试音乐播放程序,但是效果不是很理想。程序运行的时候,能看见示波器有不同频率的波形交替出现,但是频率变换得很快,无法确认是否显示的是所需要的频率,并且无法辨别音频变换的节奏是否正确。此方法并不适用。

接着,我制作了一个简单的单片机播放器电路。即在实验板上焊接实验电路,电路由单片机89C51、按钮外围电路组成,并在单片机的P1.0处用三极管连接一个简单的音频放大器,再外接一个蜂鸣器。将程序写入单片机中,这样就能听出声音和音乐节奏是否正确。

5.2 硬件电路调试

本次设计的硬件电路主要由单片机89C51组成,在调试电路的过程中也碰到了一些问题。

问题一:单片机无法正常下载程序。 调试步骤:

(1)检查单片机和串口电路是否连接错。 (2)检查焊接电路是否有虚焊和漏焊。 问题二:下载音频程序后无法播放音乐。 调试步骤:

检查电源是否正常接入电路中。

利用示波器测试单片机输出端是否有信号输出,发现信号输出正常,说明单片机正常工作。

利用示波器测试音频放大电路输出端是否有信号输出,发现信号输出正常,说明音频放大电路工作正常,同时说明是蜂鸣器部分出现了问题。

故障原因:焊接时将发声器件烧坏了,导致发不出声音。 解决方案:重新换一个无源蜂鸣器,即可正常播放音乐。

9

总 结

经过这次创新设计,我觉得自己学到了不少东西。归纳起来,主要有以下几点:

(1)通过这次创新设计,我能将以前四年所学到的专业知识与实践相联系,将所学到的知识充分运用到本次设计中。同时,我也认识到自己知识上不足的地方,体会到了所学理论知识的重要性,知识掌握得越多,设计得就更全面、更顺利、更好。

(2)进一步熟悉了单片机的知识。通过本次设计,我对单片机的基本原理、内部结构、各引脚功能、定时器和中断的应用都有了更深刻的理解。并且,能够以单片机为基础元件设计一个简单的系统。

(3)通过本次设计,熟悉了设计一个项目所必经的几个阶段。本次设计从理论研究到硬件原理图设计,从元器件的选择到PCB板的制作,从软件编程到最后的调试过程都由我独立完成。这不仅锻炼了我独立完成设计工作的能力,更重要的是了解了一个电子产品的设计流程,为将来投入工作增加了宝贵的经验,奠定了坚实的基础。

(4)提高了自己查找资料的能力。在设计过程中,我碰到了一些暂时无法解决的问题,于是我通过上网查阅和图书馆借阅资料,或是通过与老师同学交流一步步地解决了。从中我懂得了我们这个专业的知识面相当广泛,我们需要不断通过各种途径更新自己的知识,不断充实自己,同时要懂得与他人交流意见,积极听取别人的建议,懂得不断学习的重要性。

10

搜索更多关于: 单片机音乐播放器课程设计 的文档
单片机音乐播放器课程设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4xhzp5wbmb1emx12t1jy_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top