电脑时钟课程设计.docx
- 文档编号:24800685
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:18
- 大小:45.10KB
电脑时钟课程设计.docx
《电脑时钟课程设计.docx》由会员分享,可在线阅读,更多相关《电脑时钟课程设计.docx(18页珍藏版)》请在冰豆网上搜索。
电脑时钟课程设计
设计说明书
设计题目电脑时钟
完成日期年月日
专业班级电自09-2班
设计者于同窗
指导教师李教师
前言
随着社会的进展,电子技术也在不断的进步。
单片机自20世纪70以来,以其极高的性能价钱比,受到人们的重视和关注,应用很广、进展专门快。
单片机体积重量轻、抗干扰能力强、坏境要求不高、价钱低廉、靠得住性高、灵活性好、开发较为容易。
在我国,单片机已经广为应用在工业自动化操纵、自动检测、智能仪器仪表、家用电器、机电一体化设备等方方面面。
时钟,自从他发明那天起,就成为人类的好朋友,但随着时刻的推移,科学技术的不断进展,人们对时刻计量的精度要求愈来愈高,应用愈来愈广。
如何让时钟更好的为人民效劳,如何让咱们的老朋友焕发青春呢?
这就要求人们不断设计出新型时钟。
现今,高精度的时钟工具大多数都利用了石英晶体振荡器,由于电子钟,石英钟,石英表都采纳了石英技术,英雌走时精度高,稳固性好,利用方便,不需要常常调校,数字式电子钟用集成电路计不时,译译码代替机械式传动,用LED显示器代替了显示器显示和指针显示,减小了显示误差,这种表具有时、分、秒显示时刻的功能,和还能够进行十和分的校对,片选的灵活性好。
时钟电路在运算机系统中起着超级重要的作用,是保证系统正常工作的基础。
在一个单片机应用系统中,时钟有两方面的含义:
一是指为系统的正常工作的基准振荡按时信号,主若是由晶振和外围电路组成,晶振的频率决定了单片机系统工作的快慢;二是指系统的标准定不时钟,即定不时刻,它通常有两种实现方式:
一是用软件实现,二是用专门的时钟芯片实现。
此刻我国的电子业进展超级快速,电子业的进展有利于钟表业的进展。
在中国钟表进展史上,国产机芯研制的失败已经成为过去,“组装业”作为新兴钟表工业的起步时期也已成为过去。
一支新的充满聪慧的钟表精英在成长。
咱们相信在科技高速进展的今天,钟表业运用现今材料工业、电子工业和其他领域的最新技术,必然会生产出代表中国科学水平的产品。
咱们希望钟表业的精英们在提高制造技术水平中不断创新,培育出拥有自主知识产权的品牌。
这正是中国钟表业进展的希望。
数字钟被普遍用于个人家庭,车站,码头、办公室等公开场合,成为人们日常生活中的必需品。
由于数字集成电路的进展和石英晶体振荡器的普遍应用,使得数字钟的精度,运用超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。
诸如按时自动报警、按时自动打铃、时刻程序自动操纵、按时广播、自动起闭路灯、按时开关烘箱、通断动力设备、乃至各类按时电气的自动启用等,所有这些,都是以钟表数字化为基础的。
因此,研究数字钟及扩大其应用,有着超级现实的意义。
本设计要紧用单片机AT89C51芯片和LED数码管为核心,辅以必要的电路,组成一个单片机数字时钟。
第一章:
总体设计
第二章:
设计图纸
(备用电源自动充电、数字时钟主电路)
第三章:
设计程序
第四章:
设计调试
第五章:
设计总结
第六章:
参考文献
第七章:
第一章:
总体设计
设计题目:
数字时钟
设计目的:
一、把握开发单片机产品的进程。
二、把握单片机结构及其工作原理。
3、把握软件的编制方式。
4、把握单片机产品的调试方式。
设计任务:
用单片机设计一个电脑时钟。
要求:
编程时刻为24小时制,超过24小时从0开始
要有设置时刻的按键,以便对表。
采纳发光数码管显示年月日时分秒。
供电电源:
交流220V
备用电池自动充电,幸免停电后时刻错误。
设计要求:
画出所有硬件电路,出图:
A3或A4图纸一张
依照硬件编写程序框图,然后依照框图编写程序,在程序中加上适当的注释。
编写设计说明书,包括设计目的、程序框图、程序、程序分析、产品利用说明、附设计任务书和硬件图纸。
(附电子稿)
设计技术参数:
1.时制式为24小时制。
2.采纳LED数码管显示时、分,秒采纳数字显示。
3.具有方便的时刻调校功能。
4.计时稳固度优于10-4,可精准校正计时精度。
5.交流220V供电,但停电24小内要维持正常计时(停电可不显示时刻)。
6.其它附加功能(显示年、月、礼拜、报时、停电查看时刻)
第二章:
设计图纸
备用电源自动充电
数字时钟主电路
第三章:
设计程序
;=====================================================================
DISPBIT20H.0;DISP=1许诺显示
ORG0000H;复位入口地址
LJMPSTART;无条件转移到程序初始化
ORG0003H;外中断0
ORG000BH;按时器T0
ORG0013H;外中断1
ORG001BH;按时器T1
LJMPT1S;转移到T1中断效劳程序开始的地址
ORG0023H;串行口中断入口地址
ORG0050H
;=============================程序开始==============================
;===========================开始初始化==============================
START:
MOVTMOD,#00100000B;T1方式2
MOVTH1,#06H;设置计数初值
MOVTL1,#06H
SETBTR1;启动T1
MOVIE,#88H;中断许诺
SETBEA;开启中断
SETBET1;按时器T1中断许诺
MOVIP,#00001000B;中断优先级
SETBPT1;按时器T1中断优先级操纵位
MOVSCON,#00H;串行口方式0
SETBDISP;设置许诺显示标志,开始就显示000000
MOV52H,#37;数据传送
MOV53H,#59;数据传送
MOV54H,#21;数据传送
MOV55H,#23;数据传送
MOV56H,#06;数据传送
MOV57H,#11;数据传送
MOV58H,#20;数据传送
;=========================以上初始化程序==========================
LOOOP:
NOP;主程序循环开始JNBDISP,LOOOP
JNBDISP,LOOOP1;DISP=0转移
LCALLDISPLAY;挪用DISPLAY
CLRDISP;清除许诺显示标志
LOOOP1:
NOP
CALLANJIAN;挪用按键程序
LJMPLOOOP;等待中断,主程序循环终止
;=========================以上主程序============================
ANJIAN:
NOP
MOVA,P1
CPLA
JZANJIAN0
LJMPANJIAN1
ANJIAN0:
LJMPANJIANZ
ANJIAN1:
JBP1.0,ANJIAN2
lCALLDELAY10MS;挪用延时子程序,以躲过按键机械抖动
JNBP1.0,$;等待按键释放,按键放开事后开始处置
INC52H;分加1
MOVA,52H
CJNEA,#60,$+3
JCANJIANY;小于60秒不转移
MOV52H,#0
lJMPANJIANY
ANJIAN2:
JBP1.1,ANJIAN3
lCALLDELAY10MS;挪用延时子程序,以躲过按键机械抖动
JNBP1.1,$;等待按键释放,按键放开事后开始处置
INC53H;分加1
MOVA,53H
CJNEA,#60,$+3
JCANJIANY;小于60分不转移
MOV53H,#0
lJMPANJIANY
ANJIAN3:
JBP1.2,ANJIAN4
lCALLDELAY10MS;挪用延时子程序,以躲过按键机械抖动
JNBP1.2,$;等待按键释放,按键放开事后开始处置
INC54H
MOVA,54H
CJNEA,#24,$+3
JCANJIANY;小于24小时不转移
MOV54H,#0
lJMPANJIANY
ANJIAN4:
JBP1.3,ANJIAN5
lCALLDELAY10MS;挪用延时子程序,以躲过按键机械抖动
JNBP1.3,$;等待按键释放,按键放开事后开始处置
INC55H
MOVA,55H
CJNEA,#30,$+3
JCANJIANY;小于30天不转移
MOV55H,#0
lJMPANJIANY
ANJIAN5:
JBP1.4,ANJIAN6
lCALLDELAY10MS;挪用延时子程序,以躲过按键机械抖动
JNBP1.4,$;等待按键释放,按键放开事后开始处置
INC55H
MOVA,55H
CJNEA,#99,$+3
JCANJIANY;小于12个月不转移
MOV55H,#0
lJMPANJIANY
ANJIAN6:
JBP1.5,ANJIANZ
lCALLDELAY10MS;挪用延时子程序,以躲过按键机械抖动
JNBP1.5,$;等待按键释放,按键放开事后开始处置
INC56H
MOVA,56H
CJNEA,#99,$+3
JCANJIANZ
MOV56H,#0
lJMPANJIANZ
ANJIANY:
SETBDISP;许诺显示
ANJIANZ:
RET
;==========================以上键程序终止===========================
;=======================延时10毫秒子程序开始========================
DELAY10MS:
NOP
MOVR5,#10
D10MS1:
MOVR4,#250
D10MS2:
NOP
NOP
DJNZR4,D10MS2
DJNZR5,D10MS1
RET
;=============================终止==============================
;====================以下子程序和中断效劳程序=====================
;=========================显示子程序开始=========================
DISPLAY:
NOP
CLRDISP;清除许诺显示标志
MOVA,52H;读秒的值到A
MOVR1,#4DH;秒个位寄存地址
CALLB2D;挪用二到十子程序,取得2位十进制数,分离BCD码
MOVA,53H
CALLB2D;挪用二到十子程序,取得2位十进制数,分离BCD码
MOVA,54H
CALLB2D;挪用二到十子程序,取得2位十进制数,分离BCD码
MOVA,55H
CALLB2D;挪用二到十子程序,取得2位十进制数,分离BCD码
MOVA,56H
CALLB2D;挪用二到十子程序,取得2位十进制数,分离BCD码
MOVA,57H
CALLB2D;挪用二到十子程序,取得2位十进制数,分离BCD码
MOVA,58H
CALLB2D挪用二到十子程序,取得2位十进制数,分离BCD码
NOP
MOVR1,#0;显示秒个位
MOVA,4DH
LCALLCHABIAO;挪用查表指令
MOVX@R1,A
MOVR1,#1;显示秒十位
MOVA,4CH
LCALLCHABIAO;挪用查表指令
MOVX@R1,A
MOVR1,#2;显示分个位
MOVA,4BH
LCALLCHABIAO;挪用查表指令
MOVX@R1,A
MOVR1,#3;显示分十位
MOVA,4AH
LCALLCHABIAO;挪用查表指令
MOVX@R1,A
MOVR1,#4;显示小时个位
MOVA,49H
LCALLCHABIAO;挪用查表指令
MOVX@R1,A
MOVR1,#5;显示小时十位
MOVA,48H
LCALLCHABIAO;挪用查表指令
MOVX@R1,A
MOVR1,#6;显示天个位
MOVA,47H
LCALLCHABIAO;挪用查表指令
MOVX@R1,A
MOVR1,#7;显示天十位
MOVA,46H
LCALLCHABIAO;挪用查表指令
MOVX@R1,A
MOVR1,#8;显示月个位
MOVA,45H
LCALLCHABIAO;挪用查表指令
MOVX@R1,A
MOVR1,#9;显示月十位
MOVA,44H
LCALLCHABIAO;挪用查表指令
MOVX@R1,A
MOVR1,#10;显示年个位
MOVA,43H
LCALLCHABIAO;挪用查表指令
MOVX@R1,A
MOVR1,#11;显示年十位
MOVA,42H
LCALLCHABIAO;挪用查表指令
MOVX@R1,A
MOVR1,#12;显示年百位
MOVA,41H
LCALLCHABIAO;挪用查表指令
MOVX@R1,A
MOVR1,#13;显示年千位
MOVA,40H
LCALLCHABIAO;挪用查表指令
MOVX@R1,A
;===========================显示子程序终止==========================
;======================二进制转换到十进制子程序开始===================
B2D:
NOP;二进制在A,保留地址在R1
MOVB,#10;除数
DIVAB;二进制除以十,商在A(十位),余数在B(个位)
MOV@R1,B;保留个位
DECR1;地址减1
MOV@R1,A;保留十位
DECR1
RET
;=====================二进制转换到十进制子程序终止====================
;==========================查表子程序开始===========================
CHABIAO:
NOP
MOVDPTR,#TAB
MOVCA,@A+DPTR;查表指令
CPLA
RET
TAB:
DB3FH,06H,5BH,4FH,66H
DB6DH,7DH,07H,7FH,6FH
;==========================查表子程序终止===========================
;==========================中断效劳程序开始=========================
ORG0200H;中断效劳程序开始
T1S:
NOP;T1中断效劳程序入口
PUSHACC
PUSHPSW
INC50H;52H单元加1指令
MOVA,50H;数据传送给A便于比较
CJNEA,#100,T1A;比较不相等转移
T1A:
JCT1Z;若是A<100那么C=1,转移到中断终止
MOV50H,#00H;50H单元从头开始
INC51H;51H单元加1
MOVA,51H;数据传送给A便于比较
CJNEA,#40,T1B;比较不相等转移
T1B:
JCT1Z;若是A<40那么C=1,转移到中断终止
MOV51H,#00H;51H单元从头开始
SETBDISP;许诺显示标志
INC52H;秒加1指令
MOVA,52H;数据传送给A便于比较
CJNEA,#60,T1C;比较不相等转移
T1C:
JCT1Z;若是A<60那么C=1,转移到中断终止
MOV52H,#00H;52H单元从头开始
INC53H;53H单元加1指令
MOVA,53H;数据传送给A便于比较
CJNEA,#60,T1D;比较不相等转移
T1D:
JCT1Z;若是A<60那么C=1,转移到中断终止
MOV53H,#00H;53H单元从头开始
INC54H;54H单元加1指令
MOVA,54H;数据传送给A便于比较
CJNEA,#24,T1E;比较不相等转移
T1E:
JCT1Z;若是A<24那么C=1,转移到中断终止
MOV54H,#00H;52H单元从头开始
INC55H;53H单元加1指令
MOVA,55H;数据传送给A便于比较
CJNEA,#30,T1H;比较不相等转移
T1H:
JCT1Z;若是A<30那么C=1,转移到中断终止
MOV55H,#00H;54H单元从头开始
INC56H;55H单元加1指令
MOVA,56H;数据传送给A便于比较
CJNEA,#12,T1I;比较不相等转移
T1I:
JCT1Z;若是A<12那么C=1,转移到中断终止
MOV56H,#00H;54H单元从头开始
INC57H;55H单元加1指令
T1Z:
POPPSW
POPACC
RETI;中断效劳程序终止
END
;==========================中断效劳程序终止=========================
第四章:
设计调试
咱们通过软硬结合的方式调试系统,将已经运行成功的程序写到单片机中,通过对各个按键的按下进行调试与功能切换。
过在电脑上利用WAVE编译器,进行程序的编程和编译,发觉很多语法和逻辑的错误。
通过那个编译器能够专门好的发觉并解决问题,程序调试完毕,编译没问题后,按住囊下载程序,并用并口下载线使电脑和单片机连接起来,将程序下载到单片机上,并进行测试,并分析程序,直到完成要求为止。
第五章:
设计总结
结合数字电子技术和模拟电子技术的知识和一周时刻的尽力,完成了数字电子钟的课程设计。
这不仅让我温习了学过的知识,同时让我了解了设计电路的程序,和数字钟的原理与设计。
同时在软件设计编程上,让我了解到很多编程方面的技术,而且使我对单片机的各个引脚的功能有更深切的了解,巩固了单片机的书面知识,发觉了以往在学习中轻忽的东西,明白了在实际的设计工作中只有书面知识是不足的,只有在自己的实践中才能发觉问题并解决问题,从而再也不犯眼高手低的错误。
尽管这只是一次简单的课程设计,但通过这次课程设计咱们了解了课程设计的一样步骤,和设计中应注意的问题。
设计本身并非是有很重要的意义,而是同窗们对待问题时的态度和处置情形的能力。
至于设计的成绩不必看的太过于重要,而是设计的进程,设计的思想和设计电路中的每一个环节,电路中各个部份的功能是如何实现的。
各个芯片能够完成什么样的功能,利用芯片时应该注意那些要点。
同一个电路能够用那些芯片实现,各个芯片实现同一个功能的区别。
整体来讲,通过这次的设计实验更进一步地增强了实验的动手能力,提高组成系统、编程、调试的动手能力,为自己以后的工作,打下了坚实的基础。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电脑 时钟 课程设计