单片机课程设计 电子时钟.docx
- 文档编号:4702222
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:12
- 大小:176.41KB
单片机课程设计 电子时钟.docx
《单片机课程设计 电子时钟.docx》由会员分享,可在线阅读,更多相关《单片机课程设计 电子时钟.docx(12页珍藏版)》请在冰豆网上搜索。
单片机课程设计电子时钟
单片机课程设计报告
姓名:
林康
学号:
201120060325
专业:
电子信息工程
班级:
1120603
指导教师:
朱兆优
完成时间:
2013年6月13日
一、设计目的
1、巩固所学课本知识、加深对51系列单片机应用的范围;
2、通过对课程设计思路的分析、方案的选择等过程提动手实践能力;
3、掌握单片机的逻辑功能,使用方法及工作原理;
4、学会检查程序的错误与排除错误的方法。
2、设计任务及要求
利用所学知识设计一个电子时钟,使其具有以下功能:
(1)实时时钟能够以小时、分、秒为单位进行计时;
(2)具有秒闪功能;
(3)具有随时校时功能;
(4)有闹钟功能,一旦走时到整点能够发出警报声以提示;
(5)能够通过数码管显示。
三、设计思路
本次设计时钟电路,使用了ATC89C51单片机芯片控制电路,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂,使用键盘键上的按键来调整时钟的时、分、秒,用一扬声器来进行定时提醒,同时使用汇编语言程序来控制整个时钟显示,使得编程变得更容易,这样通过四个模块:
走时、调时、报时、显示即可满足设计要求。
4、模块设计
1、主程序设计:
本程序利用定时计数器T1进行定时。
首先设置T1工作模式为模式1,显示缓冲区清零,设置调时取位寄存器(存储所调位的地址)初值。
启动定时器。
进入循环模块后先调用显示子程序,调用调试子程序。
2、走时模块:
设定计时初始值,进入中断,采用定时器计时,设置100ms,循环10次为一秒,每到1秒,则“秒”单元中的内容加1;“秒”单元加到了60,则“秒”单元清0,同时“分”单元中的内容加1;“分”单元加到了60,则“分”单元清0,同时“时”单元中的内容加1;“时”单元加到了24,则“时”单元清0.不过数码管能够显示小时、分,秒通过数码管的小数点闪烁显示。
3、调时模块:
按键校时是通过实验箱的两个独立键盘P1.4、P1.5来控制的,P1.4控制“时”的校准,P1.5控制“分”的校准。
其中,先通过判断P1.5(JBP1.5,LOOP1),若有按键按下,给一个5ms的延时去抖(ACALLDELAY1),在判断是否P1.5已按下,如果按下则开始修改,然后以相同的方式选择对“时”的修改。
4、报时模块:
采用加法设定,设定好,不停与计时的分单元的数值比较,当分单元数值都为零时,启动蜂鸣器。
5、显示模块:
采用动态显示,动态显示是一位一位地轮流点亮各位的数码管,因此需要分时送出段选码和位选码,单片机P0输出段码,P1口输出位码,输出6个字符。
每次控制一个数码管显示,而且是先送段选码锁存后在送位选码点亮相应的数码管。
5、心得体会
本次课程设计中有很多的心得体会,有关于单片机的,也有关于模电数电等基础科目的。
刚拿到题目,不知道从哪入手,后来通过对书本的回顾,加深了对单片机的记忆。
有些知识会迁移和联系模电数电。
课堂教学考虑到大多数同学的需求,主要强调“基本”——基本知识、基本理论、基本方法、基本技能。
而这次设计正是为我们提供了一个深入学习、探索的机会,成为课堂教学的有益补充。
我们正面临就业问题,这次课设给了我们一个机会去试验。
单片机理论的学习是为课程的设计作准备的,但有时学习的理论也解决不了实践中的问题。
实践中获得的知识能让我对单片机的知识有更好的认识和理解。
虽然这次的课程设计我参考了一些文献资料,没有做到创新,但在对程序的读写过程中我明白了许多。
这次课程设计的最大收获是只有把理论用到实践中我们才能真正掌握好所学知识。
六、源程序:
ORG0000H
AJMPMAIN
ORG001BH
AJMPITOP
ORG0100H
MAIN:
MOV20H,#20
MOV32H,#12H;“时”单元赋初值
MOV31H,#59H;“fen”单元赋初值
MOV30H,#50H;"miao”单元赋初值
MOVTMOD,#10H;定时器T1方式1工作
MOVTL1,#0B0H;T1赋100MS定时初值
MOVTH1,#3CH
SETBTR1;qidongT1
MOVIE,#88H;yunxuTIzhongduan
LOOP:
LCALLDISPLAY;调用显示子程序
LCALLKEYDO;调用调时子程序
SJMPLOOP
ITOP:
PUSHPSW;baohuxianchang
PUSHACC
MOVTL1,#0B0H
MOVTH1,#3CH
DJNZ20H,RETURN;1s未到,返回
CPL7FH;点显示
MOV20H,#20
MOVA,30H
ADDA,#01H
DAA
MOV30H,A
CJNEA,#60H,RETURN
MOV30H,#00H
MOVA,31H;
INCA
DAA
MOV31H,A
CJNEA,#60H,RETURN
MOV31H,#00H
ACALLRING
MOVA,32H
INCA
DAA
MOV32H,A
CJNEA,#24H,RETURN
MOV32H,#00H
RETURN:
POPACC
POPPSW
RETI
;显示子程序
DISPLAY:
MOVR7,#03
MOVR1,#0FEH
MOVR0,#32H
LOOP1:
MOVA,@R0
ANLA,#0F0H
SWAPA
MOVDPTR,#TAB
MOVCA,@A+DPTR
CLRP2.0
CLRP2.1
MOVP0,A
SETBP2.0
NOP
CLRP2.0
ACALLLOOP2
MOVA,@R0
ANLA,#0FH
MOVCA,@A+DPTR
CJNER7,#03H,LP
SETBACC.7
LP:
CJNER7,#02H,NOTSHOW
JNB7FH,NOTSHOW
CPLACC.7;小数点闪显
NOTSHOW:
MOVP0,A
SETBP2.0
NOP
CLRP2.0
ACALLLOOP2
DECR0
DJNZR7,LOOP1
SJMPLOOP4
LOOP2:
MOVA,R1
MOVP0,A
SETBP2.1
MOVR5,#250
LOOP3:
DJNZR5,LOOP3
CLRP2.1
RLA
MOVR1,A
LOOP4:
RET
;调时子程序
KEYDO:
JBP1.4,NK1
LCALLDELAY20
JBP1.4,NK1
MOVA,31H
ADDA,#01H
DAA
MOV31H,A
CJNEA,#60H,NM60
MOV31H,#00H
NM60:
LCALLDISPLAY
JNBP1.4,DELAY20
NK1:
JBP1.5,NK2
LCALLDELAY20
JBP1.5,NK2
MOVA,32H
ADDA,#01H
DAA
MOV32H,A
CJNEA,#24H,NH24
MOV32H,#00H
NH24:
LCALLDISPLAY
JNBP1.5,DELAY20
NK2:
RET
DELY10MS:
MOVR3,#10
D1:
MOVR4,#248
DJNZR4,$
DJNZR3,D1
RET
;响铃子程序
RING:
MOVA,31H
CJNEA,#00H,STOP
CLRP1.0
ACALLDELAY1S
SETBP1.0
STOP:
RET
;延时子程序
DELAY20:
MOV60H,#120
LP1:
MOV61H,#250
DJNZ61H,$
DJNZ60H,LP1
RET
DELAY1S:
MOV70H,#100
D5:
MOV71H,#20
D6:
MOV72H,#250
DJNZ72H,$
DJNZ71H,D6
DJNZ70H,D5
RET
TAB:
DB77H,44H,3EH,6EH,4DH,6BH,7BH,46H,7FH,6FH,5FH,79H,33H,7CH,3BH,1BH
END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机课程设计 电子时钟 单片机 课程设计 电子 时钟