实验六 时、分、秒计时器的设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

PAGE4

PAGE9

实验六时、分、秒计时器的设计

一、实验目的

掌握数码管动态显示的基本方法;

掌握键盘按键控制的实现方法;

根据已知电路和设计要求在实验板上实现时、分、秒计时器。

二、实验内容

1、在STC89C52实验平台上实现时、分、秒时钟,4位数码管上显示分、秒或者时、分。

2、应用键盘控制时间的显示。键盘按键控制“切换时分、分秒显示”、“启动停止”、“加秒显示内容”、“加分显示内容”、“加时显示内容”。

3、根据已知电路和设计要求在PROTEUS平台仿真实现时钟系统。

三、实验原理

流程图如下所示:

开始显示单元清零T0、T1设为16位计数模式

开始

显示单元清零

T0、T1设为16位计数模式

允许T0中断

调用显示子程序

进入功能程序

按下键否?

开始

现场保护,重置初值

启动下一个50ms

50ms计数器加1

秒单元加1,50ms计数器清0,秒写入秒个位和秒十位

50ms计数器=20?

分单元加1,秒单元清0,分写入分个位和分十位

秒单元=60?

时单元加1,分单元清0,时写入时个位和时十位

分单元=60?

时单元清0

时单元=24?

中断返回

1、主程序流程图2、定时器/计数器T0中断服务程序流程图

5仿真分析

在ProteusISIS的80C51中载入程序生成的HEX文件,按开始符号运行,在数码管上观察程序运行结果,系统仿真结果如图5.1所示。

设计功能如下:

(1)、初始状态:未按键之前,上电,数码显示00-00-00。程序运行后,从秒针开始自动运行。当秒数到59后,下一秒自动变为00,分针变为01,以此类推。

(2)、调整状态:仿真运行过程中,按p0键,系统暂停,此时,继续按p0无效。第三次按p0,又开始,如此循环。

、设置状态:按下p0暂停后,按p1,则时针加一,按下p2,则时针减一;按两下p0,在按下p1,则分针加一,按下p2,则分针减一。

时间显示格式为:时分秒;

误差分析:实际程序到实验板中的电子钟显示存在一定的误差,误差来源可能为三个方面:第一,在程序运行过程中,时钟周期的不精确导致机器周期与理论值存在一定的差别;第二在中断一秒显示过程中,一些指令需要消耗一定的机器周期,使得一秒延时比实际要长;第三在键抖动的反应程度在运行中比较慢。

5.1实例仿真

总结

通过这次的课程设计我认识到我对单片机的知识学的太少了,对于书本上很多知识还不能灵活运用,都需要去巩固加强,我会在以后的学习中弥补我的不足。我也了解了80C51集成环境和PROTEUS仿真软件的使用,用此软件练习电子时钟的设计,不仅使我熟悉了软件的使用方法,而且复习了单片机编程的相关知识。在使用中,我体验到了单片机的神奇之处,也激发了我不少的兴趣,引领着我不断的探索单片机的未知世界。本次的课程设计,我也学到了一些更重要的东西,那就是如何从理论到实践的转化,怎样将所学到的知识运用于实践。大学的课堂只是在学习专业知识,而我们应当把所学的知识用到我们现实的生活中去。此次的的电子时钟设计给我奠定了一个实践基础,我会在以后的学习生活中磨练自己,使自己变得更加优秀。

在本次的设计中,特别感谢张老师和王老师的指导,在老师的讲解和指导下,我成功的解决了设计中的许多问题,也使我知道了认真的重要性。也感谢同学给我的帮助,没有他们的帮助,我一个人是无法完成的,他们让我明白了学问的真正含义。

OUTBITEQU08002H;位控制口

OUTSEGEQU08004H;段控制口

INCEQU08001H;键盘读入口

LEDBUFEQU60H;显示缓冲

HOUREQU40H

MINUTEEQU41H

SECONDEQU42H

C100USEQU43H

TICKEQU10000

T100USEQU256-50

LJMPSTART

ORG000BH

T0INT:PUSHPSW

PUSHACC

MOVA,C100US+1

JNZGOON

DECC100US

GOON:DECC100US+1

MOVA,C100US

ORLA,C100US+1

JNZEXIT

MOVC100US,#HIGH(TICK)

MOVC100US+1,#lOW(TICK)

INC

文档评论(0)

1658576823bd104 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档