时钟单片机的设计.docx
- 文档编号:30732686
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:34
- 大小:189.26KB
时钟单片机的设计.docx
《时钟单片机的设计.docx》由会员分享,可在线阅读,更多相关《时钟单片机的设计.docx(34页珍藏版)》请在冰豆网上搜索。
时钟单片机的设计
单片机课程设计报告书
课题名称
时钟
姓名
学号
院、系、部
电气系
专业
自动化
指导教师
焦永梅玛丽
2011年7月2日
时钟设计
一、设计目的
学习和掌握单片机中定时器和中断程序的使用和编程方法,进一步掌握数码显示电路的驱动方法,由此加强理论知识与应用相结合的实践和锻炼。
通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。
二、设计要求
1、通过键设置当前时间(时分秒)
2、若是四位显示可通过键切换显示当前时间:
时分或分秒
3、可设定闹钟,到时报警,一个发光管闪烁(1次/秒)有复位键停止报警。
4、可切换显示闹钟和当前时间(本机地址02H,当接到上位机发的02H,则回发02H,当接到上位机发的AAH,则当前时间发给上位机,当收到上位机发的55H,则修改当前时间-时分秒)
三、课程设计思路
本次的课程设计的总体的思路是采用查询的方式对键盘进行查询扫描,判断是否有功能键按下,有就跳到相应的服务子程序中,如果没有的话,就去计算分秒值并在数码管上显示。
键盘扫描采用的是逐列送0,读回行并判断键号的方法。
数码管的显示采用动态显示,其中闹钟设置部分采用静态显示,数码管与两个锁存器74HC573相连,完成动态显示的位选与段选的控制。
三、硬件电路设计
四、使用说明
上电后,按下电路板的开关键,四段数码管开始从0000显示,此时的数码管所显示的为分钟值和秒值,前两个数码管显示分钟,后两个数码管显示秒值,每隔一秒,数码管所显示的内容加1,当显示到59秒后,再过一秒,显示分钟的前两个数码管显示值加1,显示秒的后两个数码管清零,并重新从零开始显示,本设计还设置了四个功能键,分别是键盘上的A、B、C、D四个键,A键实现的是闹钟查看的功能,B是闹钟报警后的停止键,C键实现的是闹钟的设置,D键是时分、分秒的显示切换键。
当按下A键时,此时数码管会显示所设闹钟的小时和分钟,大约一两秒后显示所设闹钟的分秒,再经过短暂延时后,数码管返回显示当前时间的分秒值;当B键按下后,闹钟的报警会清零;当C键按下后,数码管会切换显示当前时间的小时和分钟值,一两秒后,数码管返回显示当前时间的分秒值;当按下D键时,数码管灭,需输入六个有效的时间键设置闹钟,每输入一次,数码管会以静态的形式显示,,当按完六次有效的键后,数码管返回显示当前时间的分秒值。
当上位机发送命令时,先去执行上位机的命令。
当上位机发送地址02H时,丛机则回发上位机02H,当上位机发送55H时,则将此时的时间发给上位机,上位机的数码管显示当前时间的分秒值,短暂延时,切换显示时分值,当主机发送AAH时,则丛机通过键盘输入所要修改的时间值。
五、流程图设计
1、主程序流程图
N
Y
Y
N
Y
N
Y
N
Y
N
2、子程序设计流程图
(1)时、分、秒计算子程序
N
Y
N
Y
N
Y
(2)数码管的动态显示子程序
(3)闹钟设置子程序流程图
Y
Y
N
N
Y
Y
6、程序设计如下
ORG0000H
AJMPMAIN
ORG0023H
AJMPTITI
ORG0030H
MAIN:
MOVSP,#60H
CLRP2.0
CLRP2.1;清位选段选
CLR23H
CLRP0.7
SETBEA
SETBTR1
SETBES
SETBPS
MOV31H,#0
MOV32H,#0
MOV33H,#0
MOV34H,#0
MOV35H,#0
MOV36H,#0
MOV41H,#0
MOV42H,#0
MOV43H,#0
MOV44H,#0
MOV45H,#0
MOV46H,#0
MOVR1,#0
MOVR2,#0
MOVR3,#0
MOVR4,#0
MOVR5,#0
MOVR6,#0
LP:
JBC23H,LLOP
AJMPMAIN2
LLOP:
LJMPLEE3
MAIN2:
MOVSP,#60H
JIANPAN:
;键盘
MOVP3,#00H
MOVP3,#0F0H;列
JIAN1:
MOV4DH,#00H;左右移动次数
MOVA,P3
CPLA
ANLA,#0F0H
JNZLZP1
LJMPLEE0
LZP1:
LCALLDELAY
BEGAIN:
MOVA,P3
CPLA
ANLA,#0F0H
JNZLZP2
AJMPLEE0
LZP2:
MOVP3,#0F7H
MOV4EH,#10H
DJNZ4EH,$
MOVA,P3
CPLA
ANLA,#0F0H
JZLZP5
LZP4:
CLRC
RLCA
INC4DH
JCLZP3
AJMPLZP4
LZP3:
DEC4DH
MOVA,4DH
MOVB,#4
MULAB
AJMPKEYBO
LZP5:
MOVP3,#0FBH
MOVA,P3
CPLA
ANLA,#0F0H
JZLZP6
LZP7:
RLCA
INC4DH
JCLZP8
AJMPLZP7
LZP8:
DEC4DH
MOVA,4DH
MOVB,#4
MULAB
ADDA,#1
AJMPKEYBO
LZP6:
MOVP3,#0FDH
MOVA,P3
CPLA
ANLA,#0F0H
JZLZP9
LZP10:
RLCA
INC4DH
JCLZP11
AJMPLZP10
LZP11:
DEC4DH
MOVA,4DH
MOVB,#4
MULAB
ADDA,#2
AJMPKEYBO
LZP9:
MOVP3,#0FEH
MOVA,P3
CPLA
ANLA,#0F0H
JZLZP12
LZP13:
RLCA
INC4DH
JCLZP14
AJMPLZP13
LZP14:
DEC4DH
MOVA,4DH
MOVB,#4
MULAB
ADDA,#3
AJMPKEYBO
LZP12:
LJMPLEE0
KEYBO:
CJNEA,#0CH,YYY1
LJMPLEE1
YYY1:
CJNEA,#0DH,YYY2
LJMPLEE2
YYY2:
CJNEA,#0BH,YYY3
CLRP0.7
LJMPLEE0
YYY3:
CJNEA,#0AH,YYY4
LJMPLEE4
YYY4:
LJMPLEE0
LEE2:
;闹钟
LCALLALERT
MOV46H,R0
LCALLTIME
LCALLALERT
MOV45H,R0
LCALLTIME
LCALLALERT
MOV44H,R0
LCALLTIME
LCALLALERT
MOV43H,R0
LCALLTIME
LCALLALERT
MOV42H,R0
LCALLTIME
LCALLALERT
MOV41H,R0
LCALLTIME
SETB20H
LJMPLP
LEE1:
SETBP2.0
CLRP2.1
MOV5BH,#250
MOV5DH,#5
LCALLSHOW
LJMPLP
LEE3:
SETBPSW.3
SETBPSW.4
MOVA,50H
CJNEA,#02H,LOOP1
CLRES
MOVSBUF,A
JNBTI,$
SETBES
LJMPLP
LEE4:
LCALLLOOK
LJMPLP
LEE0:
LCALLTIME
INCR1
CJNER1,#10,LP2
MOVR1,#0
INCR2
CJNER2,#6,LP2
MOVR2,#0
INCR3
CJNER3,#10,LP2
MOVR3,#0
INCR4
CJNER4,#6,LP2
MOVR4,#0
INCR5
CJNER5,#10,LP2
MOVR5,#0
INCR6
CJNER6,#02H,LP2
CJNER5,#04,LP2
MOVR1,#0
MOVR2,#0
MOVR3,#0
MOVR4,#0
MOVR5,#0
MOVR6,#0
LP2:
JBC20H,OPEN
LP3:
MOV31H,R1
MOV32H,R2
MOV33H,R3
MOV34H,R4
MOV35H,R5
MOV36H,R6
MOV5BH,#250
LCALLCHANGE
LJMPLP
OPEN:
MOVA,R1
CJNEA,41H,LP3
MOVA,R2
CJNEA,42H,LP3
MOVA,R3
CJNEA,43H,LP3
MOVA,R4
CJNEA,44H,LP3
MOVA,R5
CJNEA,45H,LP3
MOVA,R6
CJNEA,46H,LP3
SETBP0.7
LJMPLP
LOOP1:
CJNEA,#0AAH,LOOP2
MOVR7,#06H
MOVR0,#31H
ABC6:
MOVA,@R0
CLRES
MOVSBUF,A
JNBTI,$
INCR0
DJNZR7,ABC6
CLRPSW.3
CLRPSW.4
LJMPLP
LOOP2:
CJNEA,#55H,LOOP3
CLRPSW.3
CLRPSW.4
LCALLCURRECT
LJMPLP
LOOP3:
CLRPSW.3
CLRPSW.4
LJMPLP
TITI:
JBCRI,JIE
JBCTI,FA
RETI
JIE:
CLRRI
MOVA,SBUF
MOV50H,A
SETB23H
RETI
FA:
CLRTI
RETI
SHOW:
MOVA,36H;显示时分
MOVDPTR,#TABLE
MOVCA,@A+DPTR
SETBP2.0
CLRP2.1
MOVP1,A
SETBP2.1
CLRP2.0
MOVP1,#0EH
MOV5EH,#100
DJNZ5EH,$
MOVP1,#0FH
MOVA,35H
MOVDPTR,#TABLE
MOVCA,@A+DPTR
SETBP2.0
CLRP2.1
MOVP1,A
SETBP2.1
CLRP2.0
MOVP1,#0DH
MOV5EH,#100
DJNZ5EH,$
MOVP1,#0FH
MOVA,34H
MOVDPTR,#TABLE
MOVCA,@A+DPTR
SETBP2.0
CLRP2.1
MOVP1,A
SETBP2.1
CLRP2.0
MOVP1,#0BH
MOV5EH,#100
DJNZ5EH,$
MOVP1,#0FH
MOVA,33H
MOVDPTR,#TABLE
MOVCA,@A+DPTR
SETBP2.0
CLRP2.1
MOVP1,A
SETBP2.1
CLRP2.0
MOVP1,#07H
MOV5EH,#100
DJNZ5EH,$
MOVP1,#0FH
DJNZ5BH,SHOW
DJNZ5DH,SHOW
LJMPLEE0
POPDPH
POPDPL
POPA
RET
TABLE:
DB3FH,06H,5BH,4FH,66H
DB6DH,7DH,07H,7FH,6FH
;显示分秒
CHANGE:
PUSHA
PUSHDPL
PUSHDPH
TLP2:
SETBP2.0
CLRP2.1
MOVA,34H
MOVDPTR,#TABLE1
MOVCA,@A+DPTR
MOVP1,A
SETBP2.1
CLRP2.0
MOVP1,#0EH
MOV5EH,#250
DJNZ5EH,$
MOVP1,#0FH
MOVA,33H
MOVDPTR,#TABLE1
MOVCA,@A+DPTR
SETBP2.0
CLRP2.1
MOVP1,A
SETBP2.1
CLRP2.0
MOVP1,#0DH
MOV5EH,#250
DJNZ5EH,$
MOVP1,#0FH
MOVA,32H
MOVDPTR,#TABLE1
MOVCA,@A+DPTR
SETBP2.0
CLRP2.1
MOVP1,A
SETBP2.1
CLRP2.0
MOVP1,#0BH
MOV5EH,#250
DJNZ5EH,$
MOVP1,#0FH
MOVA,31H
MOVDPTR,#TABLE1
MOVCA,@A+DPTR
SETBP2.0
CLRP2.1
MOVP1,A
SETBP2.1
CLRP2.0
MOVP1,#07H
MOV5EH,#250
DJNZ5EH,$
MOVP1,#0FH
DJNZ5BH,TLP2
POPDPH
POPDPL
POPA
RET
TABLE1:
DB3FH,06H,5BH,4FH,66H
DB6DH,7DH,07H,7FH,6FH
CURRECT:
PUSHA;修改时间
PUSHDPL
PUSHDPH
SETBPSW.3
MAIN3:
MOV3FH,#00H
MOV55H,#6
MOVR0,#36H
JIANPAN2:
MOVP3,#00H
MOVP3,#0F0H
MOVA,P3
CPLA
ANLA,#0F0H
JNZLRP1
AJMPJIANPAN2
LRP1:
LCALLDELAY
BEGAIN2:
MOVA,P3
CPLA
ANLA,#0F0H
JNZLRP2
AJMPJIANPAN2
LRP2:
MOVP3,#0F7H
MOV5EH,#10H
DJNZ5EH,$
MOVA,P3
CPLA
ANLA,#0F0H
JZLRP5
LRP4:
CLRC
RLCA
INC3FH
JCLRP3
AJMPLRP4
LRP3:
DEC3FH
MOVA,3FH
MOVB,#4
MULAB
AJMPKEYBO2
LRP5:
MOVP3,#0FBH
MOVA,P3
CPLA
ANLA,#0F0H
JZLRP6
LRP7:
RLCA
INC3FH
JCLRP8
AJMPLRP7
LRP8:
DEC3FH
MOVA,3FH
MOVB,#4
MULAB
ADDA,#1
AJMPKEYBO2
LRP6:
MOVP3,#0FDH
MOVA,P3
CPLA
ANLA,#0F0H
JZLRP9
LRP10:
RLCA
INC3FH
JCLRP11
AJMPLRP10
LRP11:
DEC3FH
MOVA,3FH
MOVB,#4
MULAB
ADDA,#2
AJMPKEYBO2
LRP9:
MOVP3,#0FEH
MOVA,P3
CPLA
ANLA,#0F0H
JZLRP12
LRP13:
RLCA
INC3FH
JCLRP14
AJMPLRP13
LRP14:
DEC3FH
MOVA,3FH
MOVB,#4
MULAB
ADDA,#3
AJMPKEYBO2
LRP12:
LJMPJIANPAN2
KEYBO2:
MOV@R0,A
MOV5EH,#100
DJNZ5EH,$
DECR0
MOVDPTR,#KTAB2
MOVCA,@A+DPTR
SETBP2.0
CLRP2.1
MOVP1,A
CLRP2.0
SETBP2.1
MOVP1,#0FH
MOV5EH,#250
DJNZ5EH,$
MOVP1,#00H
SUBBA,#0AH
JNCLRP16
DJNZ55H,ADDESS2
CLRPSW.3
POPA
RET
KTAB2:
DB3FH,06H,5BH,4FH,66H
DB6DH,7DH,07H,7FH,6FH
LRP16:
INCR0
LJMPJIANPAN2
ADDESS2:
LJMPJIANPAN2
ALERT:
PUSHA;闹钟设置
MOV51H,#00H
JIANPAN1:
MOVP3,#00H
MOVP3,#0F0H
MOVA,P3
CPLA
ANLA,#0F0H
JNZLYP1
AJMPJIANPAN1
LYP1:
LCALLDELAY
BEGAIN1:
MOVA,P3
CPLA
ANLA,#0F0H
JNZLYP2
LJMPJIANPAN1
LYP2:
MOVP3,#0F7H
MOV5EH,#10H
DJNZ5EH,$
MOVA,P3
CPLA
ANLA,#0F0H
JZLYP5
LYP4:
CLRC
RLCA
INC51H
JCLYP3
AJMPLYP4
LYP3:
DEC51H
MOVA,51H
MOVB,#4
MULAB
AJMPKEYBO1
LYP5:
MOVP3,#0FBH
MOVA,P3
CPLA
ANLA,#0F0H
JZLYP6
LYP7:
RLCA
INC51H
JCLYP8
AJMPLYP7
LYP8:
DEC51H
MOVA,51H
MOVB,#4
MULAB
ADDA,#1
AJMPKEYBO1
LYP6:
MOVP3,#0FDH
MOVA,P3
CPLA
ANLA,#0F0H
JZLYP9
LYP10:
RLCA
INC51H
JCLYP11
AJMPLYP10
LYP11:
DEC51H
MOVA,51H
MOVB,#4
MULAB
ADDA,#2
AJMPKEYBO1
LYP9:
MOVP3,#0FEH
MOVA,P3
CPLA
ANLA,#0F0H
JZLYP12
LYP13:
RLCA
INC51H
JCLYP14
AJMPLYP13
LYP14:
DEC51H
MOVA,51H
MOVB,#4
MULAB
ADDA,#3
AJMPKEYBO1
LYP12:
LJMPJIANPAN1
KEYBO1:
MOVR0,A
MOVDPTR,#KTAB1
MOVCA,@A+DPTR
SETBP2.0
CLRP2.1
MOVP1,A
CLRP2.0
SETBP2.1
MOVP1,#00H
;LCALLTIME
MOV5EH,#250
DJNZ5EH,$
MOVP1,#0FH
SUBBA,#0AH
JNCLYP16
POPA
RET
KTAB1:
DB3FH,06H,5BH,4FH,66H
DB6DH,7DH,07H,7FH,6FH
LYP16:
LJMPJIANPAN1
LOOK:
PUSHA
PUSHDPL
PUSHDPH
PUSH31H
PUSH32H
PUSH33H
PUSH34H
PUSH35H
PUSH36H
MOV31H,41H
MOV32H,42H
MOV33H,43H
MOV34H,44H
MOV35H,45H
MOV36H,46H
MOV5BH,#250
LCALLCHANGE
MOV5BH,#250
LCALLCHANGE
MOV5BH,#250
MOV5DH,#20
LCALLSHOW
POP36H
POP35H
POP34H
POP33H
POP32H
POP31H
POPDPH
POPDPL
POPA
RET
DELAY:
MOV4AH,#100
MOV4BH,#20
DELAYLOOP:
DJNZ4AH,DELAYLOOP
MOV4AH,#100
DJNZ4BH,DELAYLOOP
MOV4BH,#20
RET
TIME:
MOV4CH,#100
DD:
LCALLDELAY
DJNZ4CH,DD
MOV4CH,#100
RET
七、设计总结
通过这次小学期,使我对单片机有了更深刻的理解,把原来的书本上的知识运用到实践中。
在做时钟程序时,我遇到了很多困难,包括整体的思路,语句的调用,但是在老师的悉心指导和同学们的帮助下,才使我能够顺利完成小学期的单片机试验。
所以在此对老师和同学表示深深的感谢。
而且通过做单片机试验,是我真正的理解了单片机,比如,引脚的具体功能,指令的具体含义,和与外接试验箱的具体结合,这写方面都有了更深刻的理解。
与此同时,也通过这次实验,使我体会到书本上学的知识一些空理论,只有应用于实践才能达到最终的目的。
所以,以后要加强自己的动手能力。
八、参考文献:
[1]高峰.单片微型计算机原理与接口技术.科学出版社,2007
[2]李建忠.单片机原理及应用.西安:
西安电子科技大学出版社,2002
[3]张毅刚.单片机原理与应用.定时期/计数器的编程和应用.北京:
高等教育出版社.2006.6(4)133~135
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 时钟 单片机 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)