湖南工程学院课程设计课程名称单片机原理与应用课题名称音乐提示定时器专业测控技术仪器班级1101学号201101200128姓名黄瑞峰指导教师周向红、肖峰、李晓秀、汪超2014年3 月7 日湖南工程学院课程设计任务书课程名称单片机原理与应用课题音乐提示定时器专业班级测控1101学生姓名黄瑞峰学号201101200128指导老师周向红、肖峰、李晓秀、汪超审批任务书下达日期2014 年2月24 日任务完成日期2014 年3 月7 日设计内容与设计要求设计内容:本课题要求以单片机为核心设计一个音乐提示定时器,具备倒数计时、时间修改、音乐演奏等功能。
可作为微电脑倒数计数器,做一小段时间计时,放在家中使用,例如煮泡面、煮开水或小睡片刻等;用于全自动洗衣机洗涤完毕音乐提示定时器。
设计任务包括控制系统硬件设计和应用程序设计。
设计要求:1)确定系统设计方案;2)进行系统的硬件设计;3)完成必要元器件选择;4)开发板焊接及测试5)系统软件设计及调试;6)系统联调及操作说明7)写说明书主要设ꮡ 条件音乐提示定时器设计4个按键设置现在想要倒数的时间:K1--可调整倒数时间为1-60分钟;K2—设置倒数计时时间为5分钟,显笺为“05”;K3—设置倒数计时时间为20分钟,显示为“20”;K4—设置倒数计时时间为60分钟,显示为“60”;一旦按键后则开始倒计时,当计时为0则演奏一曲音乐;内定倒数计时时间为5分钟,显示为05。
说明书格式封面课程设计任务书目录第1章、概述第2章、系统总体方案设计第3章硬件设计第4章开发板焊接及其测试第5章软件设计与说明(包括流程图)第6章调试步骤、结果、使用说明第7章设计总结第8章参考文献附录:系统电路原理图(用PROTEL99制作)、系统程序清单。
电气与信息工程系课程设计评分表进度安排设计时间为两周第一周星期一、上午:布置课题任务,讲课及课题介绍下午:借阅有关资料,总体方案讨论星期二、确定总体设计方案星期三、硬件模块方案设计星期四、软件模块方案设计及调试星期五、软、硬件模块设计及调试第二周星期一、改进软、硬件设计和调试星期二、完善调试内容及说明书设计星期三、总结各项设计内容及写说明书星期四、写说明书星期五、上午:交说明书下午:答辩参考文献1、《51系列单片机应用与实践教程》周向红编北航出版社2、《单片机应用系统设计》何立民编北航出版社3、《单片机原理及应用》王迎旭主编机械工业出版社4、《51系列单片机设计实例》楼然苗等编北航出版社5、《51单片机应用系统开发典型实例》戴家等编中国电力出版社6、《单片微型计算机原理及接口技术》陈光东等编华中科技大学出版社7、《单片机实用系统设计技术》房小翠编国防工业出版社目录第一章概述及系统总体方案设计............... 错误!未定义书签。
1.2总体方案的说明....................... 错误!未定义书签。
1.3系统设计框图......................... 错误!未定义书签。
1.4基本工作原理 ........................ 错误!未定义书签。
第二章硬件设计 (8)2.1单片机的选择 (10)2.2复位电路的设计 (10)2.3晶振电路的设计 (11)2.4动态显示电路 (12)2.5音乐播放电路 (13)第三章软件设计与说明....................... 错误!未定义书签。
3.1软件设计............................. 错误!未定义书签。
3.2音乐定时常数的确定................... 错误!未定义书签。
第四章调试步骤、结果、使用说明. (22)第五章设计总结 (23)第六章参考文献............................. 错误!未定义书签。
第七章附录................................. 错误!未定义书签。
第一章概述及系统总体说明1.1 概述随着社会的进步,电子行业的发展,定时器的应用极大的方便了人们的生活。
定时关闭家用电器(如:空调,微波炉,电磁炉,洗衣机),定时提醒(如:约会,小憩)。
本篇设计讨论了基于单片机的音乐提示定时器,从降低硬件成本,方便用户操作出发,以软件为主,同时兼顾软硬件升级。
2.1 总体方案的说明通过计算某一音频周期(1/频率),然后将此周期除以2,即为半周期的时间。
利用单片机定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O口反相,然后重复计时此半周期时间再对I/O口反相,这样就能在此I/O口上得到此频率的脉冲,再结合中断延时程序,程序中节拍控制是通过调用延时子程序DELAY的次数来实现,产生音乐。
利用P1.1,P1.2,P1.3管脚,对应开关K2、K3、K4,分别启动不同的倒计时程序5分钟、10分钟、20分钟。
通过查询方式对P3.2管脚进行查询,进入1到60分钟的时间调整程序。
P0引脚作为显示输出连至LED显示器Q0,Q1为位选信号,控制不同位的数码管。
程序中使用定时器T0方式1来产生歌谱中各音符对应频率的音频脉冲,由P1.4通放大输出,,1拍为748 ms。
确定了设计思路后,就可以具体设计了。
先编写程序,并用软件检验是否正确。
然后加入硬件进行调试。
调试是进行仿真调试,即用Proteus仿真软件,画出相应正确的电路原理图,运行仿真软件,看是否可以实现课题所要求的功能。
如果不可以,检查是电路的错还是程序连接出问题,进行修改,再次进入仿真环境调试。
2.2 系统设计框图2.3 基本工作原理音乐的产生主要是通过单片机的I/O口输出高低不同的脉冲信号来控制蜂鸣器发音。
要想产生音频脉冲信号,需要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。
利用单片机定时器计时这个半个周期时间,每当计时到后就将输出脉冲的I/O口反相,然后重复计时此半周期时间再对I/O口反相,这样就能在此I/O口上得到此频率的脉冲。
通常,利用单片机的内部定时器0,工作在方式1下,改变计数初值TH0和TL0来产生不同频率。
对于音乐的节拍,每个音符使用1个字节,字节的高4位代表音符的高低,低4位代表音符的节拍。
如果1拍为0.4S,1/4拍为0.1S,只要设定延迟时间就可求得节拍的时间。
假设1/4拍为1DELAY,那么1拍应为4DELAY,以此类推。
所以只要求得1/4拍的DELAY,其余的节拍就是它的倍数。
总而言之,一首乐曲是由音阶和节拍两大要素构成。
一首乐曲演奏的原理是:不同音阶分别对应不同的频率,发出不同的音调,而节拍则控制发出音调时间的长短;若将乐曲的音调连续发出,并使其按相应的节拍变化,即可演奏一首乐曲。
根据这一特点,我们采用单片机辅以相应的接口来设计音乐播放器[1]。
第二章硬件设计3.1 单片机的选择单片机/EA管脚始终接高电平,单片机复位方式采用按键电平触发复位,通过计算可知单片机频率为11.0592MHz时,计时误差最小,精度越高,因此内部时钟频率设为11.0592MHz。
AT89CXX系列与MCS-51系列单片机相比,有两大优势:第一,片内程序存储器采用闪速存储器,使程序的写入更方便;第二,提供了更小尺寸的芯片,使整个硬件电路的体积更小。
它以较小的体积、良好的性能价格比倍受青睐。
本次课程设计采用89C51单片机。
3.2 复位电路的设计根据应用的要求,复位操作有两种基本形式:上电复位和上电或开关复位。
当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。
如果RST持续为高电平,单片机就处于循环复位状态。
上电复位要求接通电源后,自动实现复位操作。
电容C3和电阻R10于单片机内的等效电阻的作用,不用图中电阻R9,也能达到上电复位的操作功能。
要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。
由于电容C3的充电和反相门的作用,使RST 持续一段时间的高电平。
当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。
本系统的复位电路采用上电复位。
RET按键可以选择专门的复位按键,也可以选择轻触开关。
3.3 晶振电路的设计晶振电路单片机工作的时间基准是由时钟电路控制的。
在单片机的XTAL1和XTAL2两个管脚,接一只晶振及两只电容就构成了单片机的时钟电路。
电路中,电容器C1和C2对振荡频率有微调作用,通常的取值范围为30PF左右。
石英晶体选择12MHZ就可以。
本次设计应用的电压有+5V。
220V交流电源经变压器,整流,滤波后分别进入芯片7805,产生+5V,这些电源的具体应用情况如下:+5V电源:单片机及外围电路所用电源+9V电源:压电喇叭所用电源3.4 动态显示电路动态显示电路首先介绍一下显示器的显示接口,按驱动方式分为静态显示和动态显示两种显示方式。
对于多为显示器,通常都是采用动态显示,既逐个地循环地点亮各位显示器。
这样虽然在任一时刻只有一位显示器被点亮,但是由于人眼具有视觉残留效应,看起来与全部点亮效果一样。
为了实现LED显示器的动态扫描,除了要给显示器提供段的输入之外,还有对显示器选择位的控制,这就是通常说的段控和位控。
因此,多位LED显示器接口电路需要有两个输出口,其中一个用于8条段控线;另一个用于输出位控线,位控线的数目等于显示器的数目。
4.5 音乐播放电路蜂鸣器有长声有短声两种,可以根据需要进行选择,通过软件编程控制。
在程序里可以设计不同的歌曲来通过播放器进行播放,所以,在这个设计里,是可以有不同的铃声的。
第三章软件设计及说明3.1软件设计软件设计包括:信息输入、信息处理、显示输出。
为了使程序清晰明了,采用调用子程序设计方式。
主要子程序包括:键盘扫描子程序、键值处理子程序、显示子程序、倒计时处理子程序、进制处理子程序、音乐播放子程序。
首先程序初始化,对一些位地址进行标号(便于阅读、接线、编程及程序修改),对默认显示内容赋初值。
主程序键盘扫描子程序显示子程序音乐播放子程序按键处理子程序显示子程序 (去抖动)定时器0初始化子程序定时器1初始化子程序倒计时处理子程序键盘流程图:键扫描是否有键按下?开始去抖动键值计算Y N键值为0,倒 计时5分钟 键值为1,倒 计时10分钟 键值为2,倒 计时20分钟 键值为3,倒 计时60分钟显示流程图:开始倒计时处理子程序位选通送字型码延时子程序关选通返回播放音乐流程图:开始键盘扫描子程序N用户标志位是否为1?音乐播放子程序N是否按下复位键?Y结束3.2. 音乐定时常数的确定产生音乐通过单片机的I/O口输出高低不同的脉冲信号来控制蜂鸣器发音。
利用AT89C52单片机的内部定时器0,工作在方式1下,改变计数初值TH0和TL0来产生不同的频率。