单片机多功能时钟程序设计Word下载.docx
《单片机多功能时钟程序设计Word下载.docx》由会员分享,可在线阅读,更多相关《单片机多功能时钟程序设计Word下载.docx(30页珍藏版)》请在冰豆网上搜索。
顺序
阶段日期
计划完成内容
备注
1
1月2日
教师讲解题目,学生查阅相关资料
2
1月3日
查阅相关资料、进行方案论证
3
1月4日
确定闹钟设置时间调整方法
4
1月5、6、9日
编写程序
5
1月10、11日
调试程序
6
1月12日
撰写论文
7
1月13日
论文答辩
多功能时钟程序课程设计成绩评定
系(部):
自动控制工程系班级:
测控本091班学生姓名:
李春正
指导教师评审意见
评价
内容
具体要求
权重
评分
加权分
调研
论证
能独立查阅文献,收集资料;
能制定课程设计方案和日程安排。
0.1
工作能力
态度
工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计工作,
0.2
工作量
按期圆满完成规定的设计任务,工作量饱满,难度适宜。
说明书的质量
说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。
0.5
指导教师评审成绩
(加权分合计乘以12)
分
加权分合计
指导教师签名:
年月日
评阅教师评审意见
查阅
文献
查阅文献有一定广泛性;
有综合归纳资料的能力
工作量饱满,难度适中。
0.3
评阅教师评审成绩
(加权分合计乘以8)
分
评阅教师签名:
课程设计总评成绩
中文摘要
摘要:
本次设计以80C51芯片为核心,辅以必要的外围电路,设计了一个简易的电子时钟,它由5V直流电源供电。
在硬件方面,除了CPU外,使用一个液晶显示器显示,通过液晶显示器能够比较准确显示时、分。
四个简单的按键实现对时间的调整。
软件方面采用汇编语言编程。
整个电子钟系统能完成时间的显示,调时,定时闹钟,报警等功能,闹铃用灯显示,基于单片机,使用汇编语言,具有使用方便,计时准确的特点。
关键词:
液晶显示器中断计时位寻址区20H
目录
课程设计I
课程设计任务书II
III
多功能时钟程序课程设计成绩评定IV
中文摘要V
目录1
正文1
一、设计思路1
1、计时部分:
1
2、显示部分:
3、调时部分:
4、闹铃部分:
二、设计框图2
三.设计过称:
3
3.1主程序7
3.2计时7
3.3闹铃8
3.4调时8
3.5显示9
四.实际中问题:
12
4.1显示部分12
4.2闹铃部分12
4.3调节部分12
小结13
参考文献15
附录源代码清单16
正文
、设计思路
、计时部分:
单片机内有中断源,计时中断,50ms为计时基础,循环20次达到1s,将秒累加,判断是否等于60,等于60之后进位,分则等于60进位,小时等于24后清零,将数值存入固定的地址中。
、显示部分:
显示器初始化,将储存的数值送到显示器判断显示,查表将数值显示出来。
、调时部分:
进中断,位寻址20H,对应的位地址对应不同的调时段,将P5赋为调时部分。
、闹铃部分:
存入固定的数值,当时间达到数值时,灯亮,通过开关控制闹铃,关闭开关,灯熄灭(代表闹铃停止)。
、设计框图
$INCLUDE(C8051F020.INC)
ORG0000H;
主程序起始地址
AJMPSTART;
跳至主程序
ORG000BH;
T0中断子程序起始地址
AJMPTIM0;
跳至T0中断子程序TIM0
ORG009BH
LJMPTIAO
ORG0100H
START:
MOVWDTCN,#0DEH
MOVWDTCN,#0ADH
MOV32H,#18H;
"
时"
初值为00H
MOV31H,#00H;
分"
MOV30H,#00H;
秒"
MOVTMOD,#01H;
设T0为MODE1
MOVXBR1,#02H
MOVXBR2,#40H
MOVEIE2,#30H
MOVEIP2,#30H
MOVTL0,#0B0H;
计时中断为50ms
MOVTH0,#3CH
MOVR7,#20
MOVP1,#0FFH
SETBEA;
开中断
SETBET0
SETBTR0
AJMP$
TIM0:
MOVTL0,#0B0H;
重新启动T0
MOVTH0,#3CH
DJNZR7,X2;
计时1s
MOVR7,#20
LCALLTIME;
调用时钟子程序CLOCK
LCALLSCREEN
LCALLCLOCK
X2:
LJMPTIM0
TIME:
MOVA,30H;
3CH为秒计数单元
ADDA,#1;
秒加1
DAA;
做十进制调整
MOV30H,A;
存入秒计数单元
CJNEA,#60H,NN;
是否等于60s?
若不是,则跳至NN
MOV30H,#0;
若是,则清除为00
MOVA,31H;
为分计数单元3BH
分加1
MOV31H,A;
存入分计数单元
CJNEA,#60H,NN;
MOV31H,#00;
MOVA,32H;
3AH为时计时单元
时加1
MOV32H,A;
存入时计数单元
CJNEA,#24H,NN;
若不是,则跳至NN
MOV32H,#00
NN:
RET
CLOCK:
MOVA,30H闹铃部分
CJNEA,#23H,N
MOVA,31H
CJNEA,#23H,N
MOVA,32H
MOVP1,#0
N:
RET
TIAO:
MOV20H,P5调时部分
JNB03H,DENG
AJMPDENG1
DENG:
MOVP1,#0FFH
DENG1:
JNB00H,HH
JNB01H,MM
JNB02H,SS
HH:
MOVA,32H小时
ADDA,#1
DAA
MOV32H,A
CJNEA,#24H,NEXT1
MOV32H,#0
NEXT1:
JNB01H,MM
JNB02H,HH
LJMPNEXT
MM:
MOVA,31H分
MOV31H,A
CJNEA,#60H,NEXT2
MOV31H,#0
NEXT2:
JNB02H,HH
SS:
MOVA,30H秒
MOV30H,A
CJNEA,#60H,NEXT
MOV30H,#0
NEXT:
MOVP3IF,#00H
RETI
SCREEN:
LCALLSYSCLK显示
LCALLPORTINIT
LCALLLCDINIT
MOVDPTR,#NCDDATA
SWAPA
MOVR0,A
LCALLLINE1
LCALLDELAY
MOVR0,32H
MOVR0,#10
MOVR0,31H
MOVA,30H
MOVR0,30H
LCALLDELAY1
RET
LINE1:
MOVA,R0
ANLA,#0FH
MOVCA,@A+DPTR
MOVP7,A
MOVP6,#05H
MOVP6,#04H
LINE2:
LCALLLCDINIT
RET
SYSCLK:
MOVOSCICN,#05H
RET
PORTINIT:
CLRA
MOVXBR0,A
MOVP74OUT,#0F0H
LCDINIT:
LCALLDELAY初始化
MOVP7,#38H
MOVP6,#01H
MOVP6,#00H
LCALLDELAY
MOVP7,#0EH
MOVP7,#06H
MOVP7,#01H
DELAY:
MOVR6,#50
DELAY0:
MOVR5,#50
DJNZR5,$
DJNZR6,DELAY0
RET
DELAY1:
MOVR4,#35
DELAY2:
MOVR3,#150
DELAY3:
MOVR2,#250
DJNZR2,$
DJNZR3,DELAY3
DJNZR4,DELAY2
NCDDATA:
DB30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,3AH
END
3.1主程序
ORG0000H;
3.2计时
3.3闹铃
3.4调时
3.5显示
4.1显示部分
开始时使用数码管,数码管使能未能实现,之后再查资料后完成数码管使能,由于这耗时较长,完成初步显示后,要进行数字调整,之后无法完成,计时和闹铃还有调时,耗时长,无法完成,只能改用。
4.2闹铃部分
蜂鸣器初始化无法完成,由灯来代替,中断开关被用,灯开关受限制。
4.3调节部分
时间调节只能用软件实现,比较麻烦。
小结
通过两周的单片机课程设计,真的使我受益匪浅,刚刚拿到题目时,自己知识有限,这对课程设计远远不够,脑中比较茫然。
所以我去图书馆查询相关的资料,尽可能的了解有关于频率的测量方法以及单片机的硬件结构和所需要的软件模块的相关知识,同时也好好的串串需要做的基本框架。
在编写程序过程时,将所需要的功能程序一步一步进行编程分析解决,在反复的实验中得以实现。
在本次课程设计中,我在收获知识的同时,还收获了宝贵的学习方法。
在此过程中,我们通过查找大量资料,请教老师,以及不懈的努力,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。
更重要的是,在实验室上,我不但学会如何使用KEIL软件编程、仿真,而且学会了很多课堂以外的硬件知识,这使我的知识贮备更加丰富。
我们马上就要离开校园,独自闯荡,面对充满挑战的社会,我们只有不断的学习、才能在这高速发展的信息化社会立于不败之地。
而与队友的合作更是团队精神充分体现,我们自从接到课题后,就开始分工合作,上网查资,编程序、仿真、调试,没一个同学都兢兢业业,为自己所在的团队甘心奉献。
对于学校给了我们这样一个培养动手能力和自主学习能力的机会,我没有辜负,我抓紧每一分每一秒,看书、请教老师,广泛的涉猎与单片机有关的知识。
做一个终身学习的大学生,作一个理论与实践相结合的复合型人才才是我的终极目标。
致谢
这次课程设计对我来说是一件非常有意义的事情。
他带给我的,不仅仅是完成一项设计而收获的开心和自豪,更是对我人生态度的培养。
通过这种课设,使我们得以将课堂知识运用到实际的实践当中去,理论与实践相结合,才能得真知。
这绝对是亘古不变的道理。
要感谢的人有很多,有我可爱的同学们,他们让我知道了友情的可贵,学到了严谨治学的科学态度。
有时有的同学自己的还没有调式出来,而当你去求助于他们时,他们都会热心的与你一起讨论研究,完全是无私的奉献之情。
真的很让人敬佩。
还有我们专业工作认真负责而又任劳任怨的教研室老师:
吕老师、雷老师,每天不辞辛苦的来机房为我们指导,又负责开关实验室的门,真的很辛苦!
在这里我希望老师能听到我们的感激的声音:
老师们,你们辛苦啦!
我们此次能成功的完成设计,有一半的军功属于你们!
参考文献
[1]张迎新等.单片机原理及应用.电子工业出版社.
[2]张友德等.单片微型机原理、应用和实验.电子工业出版社.
[3]吴经国等.单片机应用技术.中国电力出版社.
[4]李群芳.单片机微型计算机与接口技术.电子工业出版社.
附录源代码清单
ORG0000H
AJMPSTART
ORG000BH
AJMPTIM0