1 / 26
文档名称:

音乐提示定时器单片机课程设计.doc

格式:doc   大小:286KB   页数:26页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

音乐提示定时器单片机课程设计.doc

上传人:miaoshen1985 2018/9/26 文件大小:286 KB

下载得到文件列表

音乐提示定时器单片机课程设计.doc

文档介绍

文档介绍:目录
第1章 概述 1
设计内容 1
设计要求 1
设计目的 1
第2章总体方案设计及系统框图 2
总体方案的设计思路 2
系统的设计框图 3
工作原理 3
第3章 各模块硬件设计及说明 5
单片机的选择及说明 5
6
晶振电路的设计 7
LED动态显示电路 8
音乐播放电路 9
第4章 软件设计及说明 10
程序流程图 10
音乐定时常数设置 11
音乐延时常数设置 12
第5章 调试步骤、结果及使用说明 15
第6章 心得与体会 16
参考文献 17
附录1:音乐提示定时器原理图 18
附录2 程序清单 19
概述
设计内容
本课题要求以单片机为核心设计一个音乐提示定时器,具备倒数计时、时间修改、音乐演奏等功能。可作为微电脑倒数计数器,做一小段时间计时,放在家中使用,例如煮泡面、煮开水或小睡片刻等;用于全自动洗衣机洗涤完毕音乐提示定时器。设计任务包括控制系统硬件设计和应用程序设计。
设计要求
1)确定系统设计方案。
2)进行系统的硬件设计。
3)完成必要元器件选择。
4)开发板焊接及测试。
5)系统软件设计及调试。
6)系统联调及操作说明。
7)写说明书。
设计目的
音乐提示定时器设计4个按键设置现在想要倒数的时间:K1--可调整倒数时间为1-60分钟;K2—设置倒数计时时间为5分钟,显笺为“0500”;K3—设置倒数计时时间为20分钟,显示为“2000”;K4—设置倒数计时时间为60分钟,显示为“6000”;一旦按键后则开始倒计时,当计时为0则演奏一曲音乐;内定倒数计时时间为5分钟,显示为0500。
第2章总体方案设计及系统框图
总体方案的设计思路
本课题要求以单片机为核心设计一个音乐提示定时器,具备倒数计时、时间设置、音乐演奏等功能。设计60分钟、20分钟、5分钟的设置开关或按键,例如60分钟,显示为“”,内定倒数计时时间为5分钟,(开机状态)。一旦按键后则开始倒计时,当计时为0则演奏一曲音乐,而且可循环播放,可随时停止。
根据题目要求,音乐定时系统由核心处理模块、数码管显示模块、音乐模块、及倒计时模块等组成。要达到课程设计的要求可以用多种方案来实现。按照设计要求我选择利用单片机和LED显示器来实现定时倒数,通过压电喇叭来发出音乐。
通过对P2口的查询,实现不同时间的设定和调整,,利用单片机的RESET管脚作为系统开关。利用查询方式设定倒计时时间。进行总体设计前需先设计出各子功能模块的程序,并进行调试,各子模块调试成功后,再用一定的连接方法把各子程序连接起来,再次进行调试,直至正确可以实现总体功能为止。
系统的设计框图
工作原理
音乐的产生主要是通过单片机的I/O口输出高低不同的脉冲信号来控制蜂鸣器发音。要想产生音频脉冲信号,需要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。利用单片机定时器计时这个半个周期时间,每当计时到后就将输出脉冲的I/O口反相,然后重复计时此半周期时间再对I/O口反相,这样就能在此I/O口上得到此频率的脉冲。
通常,利用单片机的内部定时器0,工作在方式1下,改变计数初值TH0和TL0来产生不同频率。
对于音乐的节拍,每个音符使用1个字节,字节的高4位代表音符的高低,低4位代表音符的节拍。,1/,只要设定延迟时间就可求得节拍的时间。假设1/4拍为1DELAY,那么1拍应为4DELAY,以此类推。所以只要求得1/4拍的DELAY,其余的节拍就是它的倍数。
总而言之,一首乐曲是由音阶和节拍两大要素构成。一首乐曲演奏的原理是:不同音阶分别对应不同的频率,发出不同的音调,而节拍则控制发出音调时间的长短;若将乐曲的音调连续发出,并使其按相应的节拍变化,即可演奏一首乐曲。根据这一特点,我们采用单片机辅以相应的接口来设计音乐播放器。
各模块硬件设计及说明
单片机的选择及说明
一般的OTP产品,一旦错误编程就成了废品,而ATMEL公司89系列单片机内部采用了Flash存储器,所以,错误编程之后仍可以重新编程,直到正确为止。其次是它可反复进行系统试验。用89系列单片机设计的系统,可以反复进行系统试验,每次试验可以编入不同的程序,这样就可以保证用户的系统设计达到最优,而且还可以随用户的需要和发展进行修改,使系统能不断追随用户的最新要求。本次课程设计我选择AT89C51单片机。
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPERO