基于9和2电子时钟的设计Word文档格式.docx
- 文档编号:8438353
- 上传时间:2023-05-11
- 格式:DOCX
- 页数:25
- 大小:255.67KB
基于9和2电子时钟的设计Word文档格式.docx
《基于9和2电子时钟的设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于9和2电子时钟的设计Word文档格式.docx(25页珍藏版)》请在冰点文库上搜索。
汇编或C51;
(5)、计算机打印《单片机技术》课程设计说明书一份;
(6)、设计时间:
二周;
(7)、实物制作或Proteus仿真;
(8)、人员分组:
一人一组或多人一组(不超4人)。
五、《单片机技术》课程设计说明书正文主要内容
参照“《单片机技术》课程设计说明书正文主要内容”文件。
六、《单片机技术》课程设计说明书书写格式
参照“《单片机技术》课程设计说明书书写格式”文件。
七、参考资料
1、曹巧媛,单片机原理及应用[M],北京:
电子工业出版社,1997.7;
2、赵秀珍,单永磊,单片微型计算机原理及其应用[M],北京:
中国水利水电出版社,2001.8;
3、张毅刚,修林成,胡振江,MCS-51单片机应用设计[M],哈尔滨:
哈尔滨工业大学出版社,1990.8;
4、张洪润,兰清华,单片机应用技术教程[M],北京:
清华大学出版社,1997.11;
。
5、李华,MCS-51系列单片机实用接口技术[M],北京:
北京航空航天大学出版社,1993.8;
6、陈景初,单片机应用系统设计与实践[M],北京:
北京航空航天大学出版社;
7、马忠梅,单片机的C语言Windows环境编程宝典[M],北京:
北京航空航天大学出版社,2003.6;
8、李光飞,单片机C程序设计指导[M],北京:
北京航空航天大学出版社,2003.01;
9、李光飞,单片机课程设计实例指导[M],北京:
北京航空航天大学出版社,2004.9。
电气自动化教研室
2007年9月10日
摘要
时钟,自从它发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术的不断发展,人们对时间计量的精度要求越来越高,应用越来越广。
怎样让时钟更好的为人民服务,怎样让我们的老朋友焕发青春呢?
这就要求人们不断设计出新型时钟。
数字电子钟的设计方法有多种,其中,利用单片机实现的电子钟具有编程灵活,便于电子钟功能的扩充,即可用该电子钟发出各种控制信号,精确度高等特点,同时可以用该电子钟发出各种控制信号。
本文主要介绍用单片机内部的定时/计数器来实现电子时钟的方法,本设计由单片机AT89S52芯片和LED数码管为核心,辅以必要的电路,构成了一个单片机电子时钟。
与传统机械表相比,它具有走时精确,显示直观等特点。
它的计时周期为24小时,显满刻度为“23时59分59秒”,另外具有校时功能等特点。
该电子钟可以做到的功能:
上电或按键复位后能自动显示系统提示符“P.”进入时钟准备状态2.第一次按电子钟启动/调整键,电子钟从0时0分0秒开始运行,进入时钟运行状态。
通过设置的A、B、C、D四个键来调整运行,并且利用了8位LED显示时分秒。
此电子钟严格按照要求设计,最终达到预期的效果,能够正确显示“P”点以及时分秒的计时,算是一次比较成功的设计了。
关键词:
电子钟,单片机,汇编
第1章电子钟功能及总体方案的介绍
1.1电子钟功能介绍
1.1.1基本功能要求
可调整运行的电子钟具有三种工作状态:
“P.”状态、运行状态、调整状态。
(1)、“P.”状态,依靠上电或按复位键进入,在此状态下,按B、C、D键均无效,按A键有效,进入运行状态;
(2)、运行状态,按奇数次A键进入,在此状态下,按B、C、D键均无效,只有按A键有效,按下A键后,退出运行状态,进入调整状态;
(3)、调整状态,按偶数次A键进入,在此状态下,按A、B、C、D键均有效。
如按下A键,则退出调整状态,进入运行状态;
按下B、C、D键,则分别对时、分、秒加1,调整结束后必须按A键,即可退出调整状态,进入运行状态。
基本功能要求:
“P.”稳定地显示在LED显示器的最左端数码管(LED5)上,无A键按下(在“P.”状态下,按下B、C、D键无效),则不进入电子钟的运行状态,继续显示“P.”。
按下A键后,电子钟以起始时间:
00时00分00秒开始运行。
再次按下A键后,电子钟退出运行状态,进入调整状态,利用B、C、D键把电子钟的显示时间修改为当前实时时间,时间修改正确后可再次按下A键,电子钟则退出调整状态,进入运行状态。
注意:
每次按下B、C、D键,只允许加一,不允许连加。
1.1.2扩展功能要求
(1)、在调整状态下,按下B、C、D键,允许连加,而A键无论在何种状态下,均不允许连击;
(2)、时、分、秒的间隔符“。
”以一定频率闪烁;
(3)、时间显示以“灭零”方式进行;
(4)、可调整运行的电子钟用两个按键(例如:
A键、B键)来控制。
1.2总体方案介绍
1.2.1计时方案
利用AT89S52单片机内部的定时/计数器进行中断定时,配合软件延时实现时、分、秒的计时。
该方案节省硬件成本,且能使读者在定时/计数器的使用、中断及程序设计方面得到锻炼与提高,对单片机的指令系统能有更深入的了解,从而对学好单片机技术这门课程起到一定的作用。
1.2.2键盘/显示方案
AT89S52的P0口和P2口外接由六个LED数码管(LED5~LED0)构成的显示器,用P0口作LED的段码输出口,P2口作六个LED数码管的位控输出线,P1口外接四个按键A、B、C、D构成键盘电路。
AT89S52是一种低功耗,高性能的CMOS8位微型计算机。
它带有8KFlash可编程和擦除的只读存储器(EPROM),该器件采用ATMEL的高密度非易失性存储器技术制造,与工业上标准的80C51和80C52的指令系统及引脚兼容,片内Flash集成在一个芯片上,可用与解决复杂的问题,且成本较低。
简易电子钟的功能不复杂,采用其现有的I/O便可完成,所以本书中采用此的设计方案,结构如图1-1如示。
第2章电子钟的工作原理
2.1实现时钟计时的基本方法
利用MCS-51系列单片机的可编程定时/计数器、中断系统来实现时钟计数。
(1)计数初值计算:
把定时器设为工作方式1,定时时间为50ms,则计数溢出20次即得时钟计时最小单位秒,而100次计数可用软件方法实现。
假设使用T/C0,方式1,50ms定时,fosc=12MHz。
则初值X满足(216-X)×
1/12MHz×
12μs=50000μs
X=15536→0011110010110000→3CB0H
(2)采用中断方式进行溢出次数累计,计满20次为秒计时(1秒);
(3)从秒到分和从分到时的计时是通过累加和数值比较实现。
2.2电子钟的时间显示
电子钟的时钟时间在六位数码管上进行显示,因此,在内部RAM中设置显示缓冲区共8个单元。
LED8LED7LED6LED5LED4LED3LED2LED1
37H36H35H34H33H32H31H30H
时十位时个位分隔分十位分个位分隔秒十位秒个位
2.3电子钟的启、停及时间调整
电子钟设置4个按键通过程序控制来完成电子钟的启、停及时间调整。
A键控制电子钟的启、停;
B键调整时;
C键调整分;
D键调整秒。
第3章电子钟原理图及元件清单
3.1电子钟电路原理图
电子钟原理图(见附录1)
3.2元件清单
电子钟元件清单如表1所示:
表1 电子钟元器件清单
元件名称
规格型号
数量(个)
单片机
AT89S52
1
显示驱动芯片
74LS245
2
8位一体的共阳LED显示器
7SEG-MPX8-CA-BLUE
晶振
12MHz
电容
33pF
22μF
按键
BUTTON
5
电阻
0.2K
1K
上拉电阻
10K
4
限流电阻
0.1K
8
排阻
RESPACK-8/10K
第4章软件系统设计
4.1电子钟程序流程框图
4.1.1主程序流程框图
图4-1主程序流程框图
见图4-1所示
4.1.2键扫子程序流程框图
见图4-2所示
4.1.3中断服务程序流程框图
见图4-3所示
4.1.4“P.”点显示子程序流程框图
见图4-4所示
4.1.5显示子程序流程框图
见图4-5所示
4.1.6加一子程序流程框图
见图4-6所示
4.2电子钟总体程序清单
ORG0000H
AJMPMAIN
ORG000BH
LJMPINTT0
ORG0030H
MAIN:
MOVSP,#60H;
确立堆栈区
MOVPSW,#00H;
MOVR0,#20H;
RAM区首地址
MOVR7,#5FH;
RAM区单元个数
QL:
MOV@R0,#00H;
RAM清零
INCR0
DJNZR7,QL
MOVIP,#02H;
IP初始化,优先定时器0
MOVIE,#82H;
IE初始化,
MOVTMOD,#01H;
定时器0方式1工作
LCALLPP;
调P.子程序
NEXT:
LCALLKEY;
按键检测子程序
JBACC.0,RUNF;
A键按下运行
LCALLDISP;
调用显示子程序
SJMPNEXT
RUNF:
LCALLOUTT;
调传送子程序
LCALLTIME;
开电子钟
JK:
LCALLDISP;
JZJK
LCALLANKEY
SJMPJK
;
P点显示;
PP:
MOV37H,#12;
P点编码送寄存器
MOVR0,#30H;
MOVR7,#07H
PPP:
MOV@R0,#10
DJNZR7,PPP
RET
键扫子程序;
KEY:
LCALLKEYS;
调键值处理子程序
JZEXIT;
没有键按下转到返回
LCALLDISP
调显示去抖动
LCALLKEYS
JZEXIT
MOVB,20H;
保存键值
KEYSF:
LCALLKEYS;
JZKEYY;
键释放,转到恢复键值
LCALLDISP;
调显示子程序延时
AJMPKEYSF;
等到键释放
KEYY:
MOVA,B;
键值送20H单元保存
EXIT:
RET;
返回
KEYS:
MOVP1,#0FFH;
先向P1口写1
MOVA,P1;
P1口值送累加器A
CPLA;
A值取反
ANLA,#0FH;
保存P1口的低4位
MOV20H,A;
A值送20H保存
RET
键功能子程序;
ANKEY:
CLREA;
关中断
CHECK:
JBTR0,YXZ;
判断是否运行
K0:
CJNEA,#01H,K1
AJMPRUN;
转运行
K1:
CJNEA,#02H,K2
AJMPKEY1;
转时调整
K2:
CJNEA,#04H,K3
AJMPKEY2;
转分调整
K3:
CJNEA,#08H,OUT
AJMPKEY3;
转秒调整
YXZ:
JBACC.0,STOP
AJMPOUT
KEY1:
MOVR0,#45H;
时调整
LCALLADD1
CLRC
CJNEA,#24H,OUTT
ACALLCLR0
AJMPOUTT
KEY2:
MOVR0,#43H;
分调整
CJNEA,#60H,OUTT
KEY3:
MOVR0,#41H;
秒调整
ACALLADD1
CLRC
CJNEA,#60H,OUTT
ACALLCLR0
传送显示数据;
OUTT:
MOV30H,40H;
秒显示单元41H-42H
MOV31H,41H
MOV32H,#11;
"
-"
MOV33H,42H;
分显示单元43H-44H
MOV34H,43H
MOV35H,#11;
MOV36H,44H;
时显示单元44-45H
MOV37H,45H
RET
STOP:
CLRTR0;
关电子钟并跳出
RUN:
运行电子钟
OUT:
SETBEA;
无键按下或完成功能跳出
运行电子钟;
TIME:
SETBEA
MOVTL0,#0B0H
MOVTH0,#3CH;
3CB0H
MOVR4,#20;
50ms,20次循环
SETBTR0;
启动定时器0
定时中断;
INTT0:
PUSHACC
PUSHPSW
CLRET0
CLRTR0
MOVTL0,#0B0H;
重新设定定时初值
MOVTH0,#3CH
SETBTR0;
DJNZR4,OUTT0;
1秒到
ADDSS:
MOVR4,#14H;
20次计数
MOVR0,#41H;
秒十位
ACALLADD1;
加1程序
CJNEA,#60H,ADDMM;
1分到
ADDMM:
JCOUTT0
ACALLCLR0
MOVR0,#43H
加1程序
CJNEA,#60H,ADDHH;
1小时到
ADDHH:
MOVR0,#45H
CJNEA,#24H,HOUR;
1天到
HOUR:
JCOUTT0
OUTT0:
MOV30H,40H;
POPPSW
POPACC
SETBET0
RETI
时间清零子程序;
CLR0:
CLRA
MOV@R0,A
DECR0
加一子程序;
ADD1:
MOVA,@R0;
取十位
DECR0
SWAPA
ORLA,@R0;
组合十位与个位
ADDA,#01H;
加1
DAA;
十进制调整
MOVR3,A;
暂存
ANLA,#0FH;
屏蔽十位
MOV@R0,A;
放入个位单元
MOVA,R3;
取值
INCR0
屏蔽个位
放入十位单元
数值放入A中等待判断
显示子程序30H;
DISP:
MOVR1,#30H;
显示缓冲存储单元首地址
MOVR2,#80H;
从右至左显示
DISP1:
MOVP2,R2;
送位控
MOVA,@R1
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVP0,A;
送段控
ACALLDL;
延时
MOVA,R2
JBACC.0,DISP2
RRA
INCR1
MOVR2,A
AJMPDISP1
DISP2:
TAB:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH,0BFH,0CH
DL:
MOVR6,#14H;
显示延时子程序
DL1:
MOVR7,#19H;
DL2:
DJNZR7,DL2
DJNZR6,DL1
END
第5章电子钟的使用说明及调试运行
5.1使用说明书
5.1.1操作说明
(1)时间显示:
电子钟上电后,8个数码管显示初始状态即最左边的一个数码管显示P.。
如果未显示P.,只需按一下复位键即可使其显示出P.。
按下A键后电子钟进入自动计时
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 电子 时钟 设计