音乐定时提示系统.docx
- 文档编号:3864413
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:34
- 大小:192.97KB
音乐定时提示系统.docx
《音乐定时提示系统.docx》由会员分享,可在线阅读,更多相关《音乐定时提示系统.docx(34页珍藏版)》请在冰豆网上搜索。
音乐定时提示系统
目录
第1章设计的要求及目的1
1.1设计内容及主要条件1
1.2设计要求1
1.3设计的目的1
第2章系统总体方案选则与说明2
第3章系统方框图与工作原理3
第4章各单元硬件设计及说明4
4.1单片机的选择4
4.2复位电路的设计4
4.3晶振电路的设计5
4.4动态显示电路6
4.5音乐播放电路6
第5章器件说明7
5.1主程序模块7
5.2音乐播放模块7
5.3按键模块8
第6章软件设计与说明9
6.1程序设计流程图9
6.2软件电路总体框图10
第7章调试步骤、结果、使用说明11
第8章设计总结12
附录14
程序清单15
参考文献30
评分表31
第1章设计的要求及目的
1.1设计内容及主要条件
本课题要求以单片机为核心设计一个音乐提示定时器,具备倒数计时、时间修改、音乐演奏等功能。
可作为微电脑倒数计数器,做一小段时间计时,放在家中使用,例如煮泡面、煮开水或小睡片刻等;用于全自动洗衣机洗涤完毕音乐提示定时器。
音乐提示定时器设计4个按键设置现在想要倒数的时间:
K1——可调整时间为1-60分钟;K2——设置倒数计时时间为5分钟,显示为“0500”;K3——设置倒数计时时间为10分钟,显示为“1000”;K4——设置倒数计时时间为20分钟,显示为“2000”;一旦按键后则开始倒计时,当计时为0时则演奏一曲音乐;内定倒数计时时间为5分钟,显示为“0500”。
1.2设计要求
1、确定系统设计方案;
2、进行系统的硬件设计;
3、完成必要的参数计算与元器件选择;
4、完成应用程序设计;
5、进行系统电路应用程序的调试。
1.3设计的目的
1、进一步熟悉和掌握8051单片机的结构及工作原理。
2、掌握单片机的接口技术及相关外围芯片的外特性,控制方法。
3、通过课程设计,掌握以单片机核心的电路设计的基本方法和技术,
了解表关电路参数的计算方法。
4、通过实际程序设计和调试,逐步掌握模块化程序设计和调试技术。
第2章系统总体方案选则与说明
2.1单片机
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,
1.主要特性:
·与MCS-51兼容
·4K字节可编程闪烁存储器
寿命:
1000写/擦循环
数据保留时间:
10年
·全静态工作:
0Hz-24Hz
·三级程序存储器锁定
·128*8位内部RAM
·32可编程I/O线
·两个16位定时器/计数器
·5个中断源
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
图2-1AT89C51存储器
2.振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
3.芯片擦除:
整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。
在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
2.2LED显示器
图2-2LED显示器
数码管动态显示接口是单片机应用最广泛的一种显示方式之一,动态驱动将所有数码管8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连一起,另外为每个数码管公共极COM增加位选通控制电路,位选通由各自独立I/O线控制,单片机输出字形码时,所有数码管接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。
在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。
第3章系统方框图与工作原理
按照设计要求,确定硬件电路的总体设计方案,以8051单片机为核心的控制电路,设计总框图如下所示,此音乐提醒定时器电路包含:
按键输入、显示电路、播放音乐电路,这些控制电路将在硬件电路主要模块设计详细介绍。
图3-1系统总框图
根据设计要求,本系统初步设定由单片机系统、T1-T4键、LED显示和音乐播放系统组成。
系统能完成定时、倒计时、定时到播放音乐提醒等功能。
1、按键:
T1、T2、T3、T4四个键作为时间设定的控制键,可由P1口输入。
2、倒计时显示电路:
8051显示电路由4位共阴极数码管显示,显示为动态扫描显示,其LED数码管的段码输入接8051P0口,而位码则接8051P3口,输入码由共阴极字型码确定,此点必须在软件设计时注意,以免输出显示有误。
3、音乐播放:
利用8051P3.7口的接上蜂鸣器,当定时时间减为零时,可以播放音乐,提醒定时到,并按任意键停止播放,进行复位。
2.2各单元硬件设计
第4章各单元硬件设计及说明
4.1单片机的选择
单片机/EA管脚始终接高电平,单片机复位方式采用按键电平触发复位,通过计算可知单片机频率为11.0592MHz时,计时误差最小,精度越高,因此内部时钟频率设为11.0592MHz。
AT89CXX系列与MCS-51系列单片机相比,有两大优势:
第一,片内程序存储器采用闪速存储器,使程序的写入更方便;第二,提供了更小尺寸的芯片,使整个硬件电路的体积更小。
它以较小的体积、良好的性能价格比倍受青睐。
本次课程设计采用89C51单片机。
4.2复位电路的设计
图4-1复位电路图
根据应用要求,复位操作有两种基本形式:
上电复位和上电或开关复位。
当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。
如果RST持续为高电平,单片机就处于循环复位状态。
上电复位要求接通电源后,自动实现复位操作。
电容C3和电阻R10对电源十5V来说构成微分电路。
上电后,保持RST一段高电平时间,由于单片机内的等效电阻的作用,不用图中电阻R1,也能达到上电复位的操作功能。
要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。
由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平。
当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。
本系统的复位电路采用上电复位。
RET按键可以选择专门的复位按键,也可以选择轻触开关。
4.3晶振电路的设计
图4-2晶振电路图
单片机工作的时间基准是由时钟电路控制的。
在单片机的XTAL1和XTAL2两个管脚,接一只晶振及两只电容就构成了单片机的时钟电路。
电路中,电容器C1和C2对振荡频率有微调作用,通常的取值范围为30PF左右。
石英晶体选择12MHZ就可以。
本次设计应用的电压有+5V。
220V交流电源经变压器,整流,滤波后分别进入芯片7805,产生+5V,这些电源的具体应用情况如下:
+5V电源:
单片机及外围电路所用电源
+9V电源:
压电喇叭所用电源
4.4动态显示电路
图4-3动态显示电路
首先介绍一下显示器的显示接口,按驱动方式分静态显示和动态显示两种方式。
对于多位显示器,通常都是采用动态显示,既逐个地循环地点亮各位显示器。
这样虽任一时刻只有一位显示器被点亮,但由于人眼具有视觉残留效应,看起来与全点亮效果一样。
为实现LED显示器的动态扫描,除了要给显示器供段的输入之外,还有对显示器选择位的控制,这就是通常说的段控和位控。
因此,多位LED显示器接口电路需要两个输出口,其中一个用8条段控线;另个用输出位控线,位控线数目等于显示器的数目。
4.5音乐播放电路
蜂鸣器有长声有短声两种,可以根据需要进行选择,通过软件编程控制。
在程序里可以设计不同的歌曲来通过播放器进行播放,所以,在这个设计里,是可以有不同的铃声的。
图4-4音乐播放图
第5章器件说明
5.1主程序模块
主程序主要完成初始化、检查有无按键按下、设定时间、以及调用显示等等。
程序见附录一。
5.2音乐播放模块
当定时时间到,则播放音乐,否则继续计时。
N
Y
图5-1音乐播放模块图
5.3按键模块
N
Y
图5-2按键模块图
第6章软件设计与说明
6.1程序设计流程图
N
Y
N
Y
图6-1程序设计流程图
6.2软件电路总体框图
倒计时子程序模块
BCD减1子程序模块
6-2软件电路的总体设计方案及框图
第7章调试步骤、结果、使用说明
1、通电以后,显示窗显示默认设定时间“0500”,计时5分钟。
2、按时间设定键T1、T2、T3、T4,可设定不同时间的定时。
T1键:
可设定时间在1-60分钟内以5分钟为最小时间段进行调
整,每按键一次,时间加5分钟。
T2键:
设置倒数计时时间为5分钟,与默认时间相同。
T3键:
设置倒数计时时间为10分钟,显示为“1000”。
T4键:
设置倒数计时时间为20分钟,显示为“2000”。
3、设定时间后,定时器开始工作。
4、定时时间到,会播放一段音乐,按任意键停止。
5、在任何情况下,按下复位键(R键),定时器重新回到初始状态,
显示默认时间“0500”。
第8章设计总结
光阴似箭日月如梭,时间真快!
转眼间为期两周的单片机课程设计结束了。
这次课程设计让我加深了对单片机理论的理解,加强了理论联系实际而且我还学会了如何去培养创新精神,从而不断地战胜自己、超越自己。
创新可以是在原有的基础上进行改进使功能不断完善,成为新事物。
这次课程设计我们在乎的不只是这一结果,更加在乎设计的过程。
设计时花费了大量的时间和精力,更重要的是,我们在学会创新的同时还懂得合作精神的重要性。
短短的两个星期,不仅使我对单片机及其它专业知识有了更深刻的了解,而且我开始了独立的学习和实验。
通过查看相关资料使模糊的概念逐渐清晰,每一次改进都是我学习的收获,同时使我将理论应用于实际。
最重要的是我深刻体会到要做好一件完整的事情,要有系统的思维方式和方法,对任何问题一定要有耐心和细心,用自己所学来攻破难关。
课程设计虽然辛苦,但我们的心情都是无比兴奋和快乐的,因为两周的辛苦没有白费。
在完成单片机课程设计后,我们发现我们还有许多不足,所学到的知识还远远不够,以至于还有一些功能不能自主完成。
通过这次课程设计不仅增强我们的动手能力、巩固单片机方面的知识,而且软件方面有了飞跃。
通过这次课程设计,明白学习是一个日积月累的过程,在以后的工作和生活中都应该不断的学习,努力提高自己的知识和综合素质,并将理论与实际相结合,理论与实际同样重要。
实习中,我感受到了老师对学生的那种悔人不卷的精神,老师给我们殷勤的指导,使我们少走弯路,顺利完成实习任务,请允许我向你们致意崇高的敬意,感谢您们,老师!
在这次课程设计中,我在整个设计过程中懂得了许多东西,也培养了独立思考和创新设计的能力,树立了对知识应用的信心,相信会对今后的学习工作和生活有非常大的帮助,并且提高了自己的动手实践操作能力,使自己充分体会到了在设计过程中的成功喜悦。
虽然这个设计做的不是很理想,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富,使我受益良多。
感谢您们,老师!
附录
程序清单
——伪定义——
SLEQU30H;秒的个位数
SHEQU31H;秒的十位数
MLEQU32H;分的个位数
MHEQU33H;分的十位数
L0EQU34H;L0~L3:
显示数据存储器
L1EQU35H
L2EQU36H
L3EQU37H
DSPLYPEQU38H;显示数据指针
PLYTSEQU39H;显示次数计数器
LPLMODBIT37H;低两位显示方式
HPLMODBIT38H;高两位显示方式
BRIGHTBIT39H;DISPLAY子程序参数
TCOUNTEQU3AH;时间计数器
ADDRESSEQU3BH;加1子程序参数
MAXEQU3CH;加1子程序参数
IFDECBIT20H;BCD减法子程序参数
RMODEQU3DH;响铃方式参数
BELLBLDP3.7;蜂鸣器
AKEYBITP1.0;功能键K1、K2、K3、K4
BKEYBITP1.1
CKEYBITP1.2
DKEYBITP1.3
——主程序——
MAIN:
MOVIE,#00H;关中断
MOVSP,#57H;设置堆栈指针
MOVPSW,#00H;选用寄存器组0
MOVTMOD,#11H;设定中断工作方式为T0和T1
MOVTLD,#0B0H;赋中断T0初值
MOVTH0,#3CH
MOVSL,#00H;默认状态定时5分钟
MOVSH,#00H;秒
MOVML,#05H;
MOVMH,#00H;分
MOVPLYTS,#64H;赋显示次数初值为100次
MOVDSPLYP,#L0;现实指针指向显存单元
MOVL0,#00;送显示数据“0500”
MOVL1,#00
MOVL2,#05
MOVL3,#00
SETBLPLMOD;设定显示方式为闪烁
SETBHPLMOD
SETBRIGHT;允许显示
SETBEA;开中断
;
MAIN1:
ACALLDISPLY;调用显示
JBAKEYK1;A、B、C、D键扫描
ACALLKEYDLY
JBAKEYK1
JBBKEYBEGIN;有键按下则转为相应计时状态
ACALLKEYDLY
JBBKEYBEGIN
JBCKEYK3
ACALLKEYDLY
JBCKEYK3
JBDKEYK4
ACALLKEYDLY
JBDKEYK4
;
BEGIN:
SETET0
;无键按下,以默认值0500开始计时
SETTR0
;
K1:
CLRET0;有键按下,中断,停止计时
CLRTR0
MOVSL,#00;清除原计时数据
MOVSH,#00
MOVML,#00
MOVMH,#00
SET:
CLRLPLMOD;设置分位
SETBHPLMOD;高两位数码管闪烁
MOVMAX,#60H;最大数为60
MOVR2,#5
;使每按键一次,调用加1程序5次
SET1:
MOVADDRESS,#MH;移入分位的地址
ACALLADDONE;调用加1程序
DJNZR2,SET1
;循环,使A键按键一次,分位加5
JBAKEY,SET;有键按下,再加5分钟
ACALLKEYDLY
JBAKEY,SET
LJMBBEGIN;无键按下,开始计时
;
K3:
CLRET0;;有键按下,停止计时
CLRTR0;
MOVL0,#00;设定1000
MOVL1,#00;送显示数据
MOVL2,#00
MOVL3,#01
LJMPBEGIN
;
K4:
CLRET0;有键按下,停止计时
CLRTR0;
MOVL0,#00;设定2000
MOVL1,#00;送显示数据2000
MOVL2,#00
MOVL3,#02
DJMPBEGIN
;
JUDGEMOVA,SL;判断秒是否为0
JNZMAIN1
MOVA,SH
JNZMAIN1
MOVA,ML;判断分是否为0
JNZMAIN1
MOVA,MH
JNZMAIN1
CLRET0;分、秒全为0,停止计时
CLRTR0
ACALLMUSIC0;调用定时到音乐播放程序
AJMPMAIN;返回
;
——倒计时程序——
PGT0:
CLREA;关中断
PUSHACC;保护现场
PUSHPSW
PUSHDPL
PUSHDPH
MOVPSW,#08H;选用寄存器组1
CLRTR0;暂停计时
MOVA,#087H;中断同步修正
ADDA,TL0
MOVTL0,A
MOVA,#3CH
ADDA,TH0
MOVTH0,A
SETBTR0;恢复计时
MOVTCOUNT14H
DECTCOUNT;定时器每50.000ms溢出一次
MOVA,TCOUNT;溢出20次为1s
JNZOUTT0;判断是否到1s
MOVR0,#SH;移入秒位的地址
SETBIFDEC;BCD子程序参数,使其做减法
ACALLADDBCD;调用BCD子程序,秒减1
CJNER3,#99H,OUTT0;判断秒是否要借位
MOVSH,#05H;要借位则送数据59
MOVSL,#09H
MOVR0,#MH;移入分位的地址
ACALLADDBCD;分减1
;
OUTT0:
POPDFH
POPDPL
POPPSW
POPACC
SETBEA;开中断
RETI;中断返回
;
——BCD子程序——
ADDBCD:
MOVA,@R0;移入被操作数的高位
DECRO;指针减1
SWAPA
ORLA,@R0;移入被操作数的低位
MOVB,#01H;B寄存器送立即数#01H
MOVC,IFDEC;减法标志位为
MOVB.3,C
MOVB.4,C;寄存器B被改位#99H
MOVB.7,1
ADDA,B
;对一个压缩的BCD码加#90H等于减1
DAA;BCD码调整
MOVR3,A;暂存结果
ANLA,#0FH;取低位码
MOV@R0,A;存数
MOVA,R3;取结果
INCR0;指针加1
SWAPA;交换
ANLA,0FH;取结果数的高位
MOV@R0,A;存数
RET
;
——加1程序——
ADDONE:
MOVR0,ADDRESS;移入被加数单元的地址
CLRIFDEC;设定BCD子程序做加法
ACALLADDBC;调用BC子程序
CLRC;判断被加数是否大于最大值“MAX”
MOVA,R3
CJNEA,MAX,JGOVER
;
JGOVER:
JCENDADD
CARA;若大于“MAX”,则清0
MOV@R0,A
DECR0
MOV@R0,A
RET;返回
;
——音乐播放程序——
MUSIC0:
NOP
MOVDPTR,#DAT;表头地址送DPTR
MOV20H,#00H;中断计数器清0
MOVB,#00H;表序号清0
MUSIC1:
NOP
CLRA
MOVCA,@A+DPTR;查表取代码
JZEND0;是00H,则结束
CJNEA,#0FFH,MUSIC5
LJMPMUSIC3
MUSIC5:
NOP
MOVR6,A
INCDPTR
MOVA,B
MOVCA,@A+DPTR;取节拍代码
ADDA,#5;调整节奏
MOVR7,A
MOVP1,A;送P1口显示节拍
SETBTR0;启动计数
MUSIC2:
NOP
CPLP3.7
MOVA,R6
MOVR3,A
LCALLDEL
MOVA,R7
CJNEA,20H,MUSIC2;中断计数器(20H)=R7否?
;不等,则继续循环
MOV20H,#00H;等于,则取下一代码
INCDPTR
LJMPMUSIC1
MUSIC3:
NOP
CLRTR0;休止100毫秒
MOVR2,#0DH
MUSIC4:
NOP
MOVR3,#0FFH
LCALLDEL
DJNZR2,MUSIC4
INCDPTR
LJMPMUSIC1
END0:
NOP
MOVR2,#64H;歌曲结束,延时1秒后继续
MUSIC6:
MOVR3,#00H
LCALLDEL
DJNZR2,MUSIC6
LJMPMUSIC0
DEL:
NOP
DEL3:
MOVR4,#02H
DEL4:
NOP
DJNZR4,DEL4
NOP
DJNZR3,DEL3
RET
NOP
DAT:
DB18H,30H,1CH,10H
DB20H,40H,1CH,10H
DB18H,10H,20H,10H
DB1CH,10H,18H,40H
DB1CH,20H,20H,20H
DB1CH,20H,18H,20H
DB20H,80H,0FFH,20H
DB30H,1CH,10H,18H
DB20H,15H,20H,1CH
DB20H,20H,20H,26H
DB40H,20H,20H,2BH
DB20H,26H,20H,20H
DB20H,30H,80H,0FFH
DB20H,20H,1CH,10H
DB18H,10H,20H,20H
DB26H,20H,2BH,20H
DB30H,20H,2BH,40H
DB20H,20H,1CH,10H
DB18H,10H,20H,20H
DB26H,20H,2BH,20H
DB30H,20H,2BH,40H
DB20H,30H,1CH,10H
DB18H,20H,15H,20H
DB1CH,20H,20H,20H
DB26H,40H,20H,20H
DB2BH,20H,26H,20H
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 音乐 定时 提示 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)