音乐提示定时器课程设计报告.docx
- 文档编号:27673502
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:35
- 大小:432.81KB
音乐提示定时器课程设计报告.docx
《音乐提示定时器课程设计报告.docx》由会员分享,可在线阅读,更多相关《音乐提示定时器课程设计报告.docx(35页珍藏版)》请在冰豆网上搜索。
音乐提示定时器课程设计报告
第1章设计要求及方案确定2
1.1设计内容及要求2
1.2设计方案及思路2
第2章系统硬件设计3
2.1硬件电路的总体设计方案及框图3
2.2各单元硬件设计3
2.2.1显示电路设计3
2.2.2音乐播放电路设计4
2.3主要硬件元器件的介绍5
2.3.1单片机8051芯片5
2.3.2LED数码管6
第3章软件设计与说明9
3.1程序设计流程图9
3.2软件电路的总体设计方案及框图10
3.3软件模块设计10
3.3.1主程序模块10
3.3.2按键扫描模块11
3.3.3音乐播放模块11
第4章使用说明12
第5章设计总结13
参考文献15
附录:
16
A系统电路原理图16
B系统程序清单17
第1章设计要求及方案确定
1.1设计内容及要求
本课题要求以单片机为核心设计一个音乐提示定时器,具备倒数计时、时间修改、音乐演奏等功能。
可作为微电脑倒数计数器,做一小段时间计时,放在家中使用,例如煮泡面、煮开水或小睡片刻等;用于全自动洗衣机洗涤完毕音乐提示定时器。
音乐提示定时器设计4个按键设置现在想要倒数的时间:
K1――可调整时间为1-60分钟;K2设置倒数计时时间为5分钟,显示为
“0500”K3——设置倒数计时时间为10分钟,显示为“1000”K4——设置倒数计时时间为20分钟,显示为“2000”一旦按键后则开始倒计时,当计时为0时则演奏一曲音乐;内定倒数计时时间为5分钟,显示为“0500”。
1.2设计方案及思路
根据设计要求,本系统初步设定由单片机系统、A-D键、LED显示
和音乐播放系统组成。
系统能完成定时、倒计时、定时到播放音乐提醒等功能。
1)按键的输入:
A、B、C、D四个键作为时间设定的控制键,可由P1口输入。
2)倒计时的显示电路:
8051显示电路由4位共阴极数码管显示,显示为动态扫描显示,其LED数码管的段码输入接8051P0口,而位码则接8051P3口,输入码由共阴极字型码确定,此点必须在软件设计时注意,以免输出显示有误。
3)音乐播放部分:
利用8051P3.7口的接上蜂鸣器,当定时时间减为零时,可以播放音乐,提醒定时到,并按任意键停止播放,进行复位。
第2章系统硬件设计
2.1硬件电路的总体设计方案及框图
设计一个控制系统总体设计方案很重要,关系设计接下来的操作
程序,以下就是本设计的总体框架。
按照设计要求,确定硬件电路的总体设计方案,以8051单片机
为核心的控制电路,设计总框图如下所示,此音乐提醒定时器电路包含:
按键输入、显示电路、定时到播放音乐电路,这些控制电路将在硬件电路主要模块设计详细介绍。
设计的总框图如下所示:
图2.1.1设计总框图
2.2各单元硬件设计
此控制系统的硬件包括以下几个模块:
音乐播放电路设计、按键电路设计、显示电路设计,还包括了晶振电路、复位电路和单片机的电源电路设计,这些电路并未在硬件原理图中画出。
2.2.1显示电路设计
8051显示电路由4位共阴极数码管显示。
为了使硬件显示电路简
单,采用单片机直接驱动数码管,用动态扫描法实现数码管显示,其
LED数码管的段码输入接8051P0口,而位码则接8051P3口,输入码由共阴极字型码确定,以免输出显示有误。
显示电路设计硬件图如下所
示:
222音乐播放电路设计
2.3主要硬件元器件的介绍
231单片机8051芯片
根据初步设计方案的分析,设计这样一个简单的应用系统,可以选择带有EPROM的单片机,应用程序直接存储在片内,不用在外部扩展程序存储器,电路可以简化。
该系统的设计我们采用8051芯片
图2.3.1所示为双列直插式封装的8051AH芯片管脚图,功能如下。
1.电源管脚
Vcc(40脚):
接+5V;Vss(20脚):
接地。
(注:
管脚未画出)
2•时钟信号管脚
X1(19脚),X2(18脚):
外部时钟信号的两个管脚
3•控制线
1)RESET(9脚):
用作复位输入端。
2)EA'NP(31脚):
EA'为访问内部或图2.3.18051AH管脚图外部程序存储器的选择信号。
对片内EPROM编程市时,此管脚(作VP)接入21V编程电压。
3)ALE/P'(30脚):
当访问外部存储器时,ALE信号的负跳变将P0口上的低8位地址送入锁存器。
当对内EPROM编程时,该管脚(P')用于输入编程脉冲。
4)PSEN'(29脚):
外部程序存储器读选通控制信号。
4.输入/输出口线
1)P0口(32—39脚):
8路漏极开路型双向并行I/O口。
在访问外部存储器时,P0口作为低8位地址/数据总线复用口,通过分时操作,先传送低8位地址,利用ALE信号的下降沿将地址锁存,然后作为8位数据总线使用,用来传送8位数据。
在对片内EPROM编程时,P0口接受指令代码;而在内部程序校验时,则输出指令代码,并要求外接上拉电阻。
外部不扩展而单片应用时,则作双向I/O口用,P0口能以吸收电流的方式驱动8个LSTTL负载。
2)P1口(1—8脚):
具有内部上拉电阻的8位准双向I/O口。
在对片内EPROM编程及校验时,它接收低8位地址。
P1口能驱动4个LSTTL负载。
3)P2口(21-28脚):
具有内部上拉电阻的8位准双向I/O口。
在外接存储器时,P2口作为高8位地址总线。
在对片内EPROM编程及校验时,它接收高8位地址。
P2口驱动4个LSTTL负载。
4)P3口(10—17脚):
8位带有内部上拉电阻的准双向I/O口。
每一位又具有如下的特殊功能(或称第二功能):
P3.0(RXD):
串行输入端。
P3.1(TXD):
串行输出端。
P3.2(INTO':
外部中断0输入端,低电平有效。
P3.3(INT1':
外部中断1输入端,低电平有效。
P3.4(T0):
定时/计数器0外部事件计数输入端。
P3.4(T0):
定时/计数器0外部事件计数输入端。
P3.5(T1):
定时/计数器1外部事件计数输入端。
P3.6(WR':
外部数据存储器写选通信号,低电平有效。
P3.7(RD':
外部数据存储器读选通信号,低电平有效。
2.3.2LED数码管
数码管是单片机系统中常用的显示界面,可以显示“1、2、3、4、5、&7、8、9、0”和十六进制中的“A、BC、DE、F”及小数点“.”,数码管怎样来显示1,2,3,4呢?
数码管实际上是由7个发光管组成8字形构成的,加上小数点就是8个。
分别被命名为A,B,C,D,E,F,G,H
和DP如果要显示一个数字2,那么A、B、GE、D这5个段的发光管亮,B、E、H(小数点)不亮,就可以了。
图2.3.2LED数码管内部结构
由图2.3.2可知:
要使数码管发光必须满足两个条件,一、COM
端为高电平。
二、在A-G端的对应部分输入低电平。
这样电流流过相应的字段,数码管就会显示相应的字符了!
图5所示,由于数码管的"A、
B、C....DP"端都并在一起,要使每个数码管显示各自的内容,使用动静态扫描方式都可以。
下面是共阴极数码管字型码表:
显示
A
B
C
D
E
F
G
DP
16进制
数字
代码
0
0
0
0
0
0
0
1
1
03H
1
1
0
0
1
1
1
1
1
9FH
2
0
0
1
0
0
1
0
1
25H
3
0
0
0
0
1
1
0
1
0DH
4
1
0
0
1
1
0
0
1
99H
5
0
1
0
0
1
0
0
1
49H
6
0
1
0
0
0
0
0
1
41H
7
0
0
0
1
1
1
1
1
1FH
8
0
0
0
0
0
0
0
1
01H
9
0
0
0
0
1
0
0
1
09H
A
0
0
0
1
0
0
0
1
11H
B
1
1
0
0
0
0
0
1
C1H
C
0
1
1
0
0
0
1
1
63H
D
1
0
0
0
0
0
0
1
85H
E
0
1
1
0
0
0
0
1
61H
F
0
1
1
1
0
0
0
1
71H
1
1
1
1
1
1
1
0
FEH
表1字符代码表
注:
对于想显示的字符只要查表的代码送段码输入口显示即可。
第3章软件设计与说明
3.1程序设计流程图
3.2软件电路的总体设计方案及框图
根据硬件方案即可确定软件的设计,各部分从图中清楚的了解到,各子程序模块将详细介绍。
3.2.1软件电路的总体设计方案及框图
3.3软件模块设计
该音乐提示定时器的软件设计分为以下几个模块:
3.3.1主程序模块
主程序主要完成初始化、检查有无按键按下、设定时间、以及调用
显示等等。
程序见附录A
332按键扫描模块
333音乐播放模块
第4章使用说明
1、通电以后,显示窗显示默认设定时间“0500”计时5分钟。
2、按时间设定键A、B、C、D,可设定不同时间的定时。
A键:
可设定时间在1-60分钟内以5分钟为最小时间段进行调整,每按键一次,时间加5分钟。
B键:
设置倒数计时时间为5分钟,与默认时间相同。
C键:
设置倒数计时时间为10分钟,显示为“1000”
D键:
设置倒数计时时间为20分钟,显示为“2000”。
3、设定时间后,定时器开始工作。
4、定时时间到,会播放一段音乐,按任意键停止。
5、在任何情况下,按下复位键(R键),定时器重新回到初始状态,显示默认时间“0500”。
第5章设计总结
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。
因此作为二
十一世纪的大学来说掌握单片机的开发技术是十分重要的。
回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说数码管的共阴极和共阳极的字型码的区别,有对单片机芯片的选择的犹豫不定,还有对单片机汇编语言掌握得不好。
不过总的来说还是受益非浅,两周昼夜的付出也是有回报的,经过自己的亲身的体验,进一步巩固了先前不熟悉的知识,锻炼了自己的思维能力,动手能力,也感受到了理论和实际结合的重要性,要使两者很好的结合还是有挑战性的,两周的课程设计可谓之尝尽人间酸甜苦辣,在苦中弥补自己的不足,之后才会感受到收获的快乐。
致谢
这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,
后在周向红老师的辛勤指导下,终于游逆而解。
同时,在周老师的身上
我学得到很多实用的知识,在次我表示感谢!
同时,对给过我帮助的所
有同学和各位指导老师再次表示忠心的感谢!
参考文献
1、《51系列单片机设计实例》
楼然苗
李光飞北航出版社
2、《单片机应用系统设计》
何立民
北航出版社
3、《单片机原理及应用》
王迎旭
机械工业出版社
4、《单片机实用系统设计技术》
房小翠
国防工业出版社
附录:
A系统电路原理图
<9
no
no
08
-7
62
03
02
03
.4
C5
Ou
_/7
<9
DXI
DXR
PPPPPPPP
HI'
RW
DRHEJR
2X
1X
Q—
II9Nd-N
9
d3
PPPPPPPP
0
・•2—923
c
310^X3
B系统程序清单
――伪定义一一
L0〜L3:
显示数据存储器
功能键K1、K2、K3、K4
SLEQU30H
SHEQU31H
MLEQU32H
MHEQU33H;
L0EQU34H;
L1EQU35HL2EQU36H
L3EQU37H
DSPLYPEQU38H;
PLYTSEQU39H;
LPLMODBIT37H;
HPLMODBIT38H;
BRIGHTBIT39H;
TCOUNTEQU3AH;
ADDRESSEQU3B;
MAXEQU3CH;
IFDECBIT20H;
R_MODEQU3DH;
BELLBLDP3.7;
AKEYBITP1.0;
BKEYBITP1.1
CKEYBITP1.2
DKEYBITP1.3
秒的个位数秒的十位数分的个位数分的十位数
显示数据指针显示次数计数器
低两位显示方式
高两位显示方式
DISPLAY子程序参数
时间计数器加1子程序参数
加1子程序参数BCD减法子程序参数响铃方式参数蜂鸣器
主程序
MOVSP#57H
MOVPS,#00H
;设置堆栈指针
;选用寄存器组0
MOVTH0#3CH
MOVML#05H
MOVM,#00H
MOVPLYT,#64H;赋显示次数初值为100次
MOVDSPLY,#L0;现实指针指向显存单元
;送显示数据“0500”
SETBHPLMOD
ACALLKEYDLY
JBAKEYK1
JBBKEYBEGIN;有键按下则转为相应计时状态
ACALLKEYDLY
JBBKEYBEGIN
JBCKEYK3
ACALLKEYDLY
JBCKEYK3
JBDKEYK4
ACALLKEYDLY
JBDKEYK4
BEGINSETET0
;无键按下,以默认值0500开始计时
SETTR0
K1:
CLRET0
CLRTR0
MOVSL#00
MOVSH#00
MOVMJL#00
MOVM,#00
SETCLRLPLMOD
SETBHPLMOD
MOVMAX,#60H
MOVR2,#5
;使每按键一次,调用加
SET1:
MOVADDRES徘MH
;有键按下,中断,停止计时
;清除原计时数据
;设置分位
;高两位数码管闪烁
;最大数为60
1程序5次
;移入分位的地址
ACALLADDONE;调用力卩1程序
DJNZR2,SET1
;循环,使A键按键一次,分位加5
JBAKEY,SET
ACALLKEYDLY
JBAKEY,SET
LJMBBEGIN
K3:
CLRET0;
CLRTRO;
MOVL0,#00
MOVL1,#00
MOVL2,#00
MOVL3,#01
LJMPBEGIN
K4:
CLRET0
CLRTR0;
MOVL0,#00
MOVL1,#00
MOVL2,#00
MOVL3,#02
DJMPBEGIN
JUDGEMOVA,SL
JNZMAIN1
;有键按下,再加5分钟
;无键按下,开始计时
;有键按下,停止计时
;设定1000
;送显示数据
;有键按下,停止计时
;设定2000
;送显示数据2000
;判断秒是否为0
MOVA,SH
JNZMAIN1
MOVA,ML
JNZMAIN1
MOVA,MH
JNZMAIN1
CLRETO
CLRTRO
ACALLMUSICO
AJMPMAIN
——倒计时程序——
PGTOCLREA
PUSHACC
PUSHPSW
PUSHDPL
PUSHDPH
MOVPSW#08H
CLRTRO
MOVA#O87H
ADDATLO
MOVTLOA
MOVA#3CH
ADDATHO
MOVTHOA
SETBTRO
;判断分是否为O
;分、秒全为O,停止计时
;调用定时到音乐播放程序
;返回
;关中断
;保护现场
;选用寄存器组1
;暂停计时
;中断同步修正
恢复计时
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
OUTT0POPDFH
POPDPL
POPPSW
POPACC
SETBEA
;开中断
RETI
;中断返回
——BCD?
程序——
ADDBCDMOVA@RO
;移入被操作数的高位
DECRO
;指针减1
SWAPA
ORLA@R0
;移入被操作数的低位
MOVB#01H
;B寄存器送立即数#01H
MOVCIFDEC;减法标志位为
MOVB.3C
MOVB.4,C;寄存器B被改位#99H
MOVB.7,1
ADDAB
;对一个压缩的BCD码加#90H等于减1
DAA
MOVR3A
ANLA,#0FH
MOV@RO,A
MOVAR3
INCRO
SWAPA
ANLA,0FH
MOV@R0,A
RET
;BCD码调整
;暂存结果
;取低位码
;存数
;取结果
;指针加1
;交换
;取结果数的高位
;存数
加1程序
ADDONEMOVR0,ADDRESS;移入被加数单元的地址
CLRIFDEC
;设定BCD子程序做加法
ACALLADDBC
;调用BC子程序
CLRC
;判断被加数是否大于最大值“MAX
MOVAR3
CJNEAMAXJGOVER
JGOVE:
JCENDADD
CARA
M0@RO,A
DECRO
MOV@RO,A
;若大于“MA”则清0
;返回
RET
音乐播放程序
MUSICO:
NOP
MOVDPTR,#DAT
MOV20H,#00H
MOVB,#00H
MUSIC1:
NOP
;表头地址送DPTR
;中断计数器清0
;表序号清0
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
;不等,则继续循环
MOV20H,#00H
INCDPTR
LJMPMUSIC1
MUSIC3:
NOP
CLRTR0
MOVR2,#0DH
MUSIC4:
NOP
MOVR3,#0FFH
LCALLDEL
DJNZR2,MUSIC4
INCDPTR
LJMPMUSIC1
END0:
NOP
MOVR2,#64H
MUSIC6:
MOVR3,#00H
LCALLDEL
;中断计数器(20H)=R7否?
;等于,则取下一代码
;休止100毫秒
;歌曲结束,延时1秒后继续
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
DB20H,20H,30H,80H
DB20H,30H,1CH,10H
DB20H,10H,1CH,10H
DB20H,20H,26H,20H
DB2BH,20H,30H,20H
DB2BH,40H,20H,15H
DB1FH,05H,20H,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 音乐 提示 定时器 课程设计 报告