微机原理课程设计电子时钟的设计.pdfVIP

微机原理课程设计电子时钟的设计.pdf

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

《微机原理》课程设计

——电子时钟的设计()

2005-6-24

山东科技大学机电学院js02-220号

一.课程设计题目:电子钟

1.设计目的:了解定时/计数器和中断的使用。

2.设计所需设备:PC机。

3.设计任务:编写程序,在PC机上显示时间。二.程序内容:

第一部分:定义显示界面。

第二部分:调用系统时间,并将调用的用二进制表示的时间数转换成ASCII码,并将时间

数存入内存区。

第三部分:将存在系统内存区的时间数用显示字符串的形式显示出来。

第四部分:获取键盘的按键值,判断键值并退出系统。

三.程序设计原理:

首先在数据段开辟一显示缓冲区,用来存储系统时间。调用DOS中断,返回系统时间,并

将来返回的二进制时间转换成ASCII码,方便时间显示时的调用。分别将来小时数、分钟

数、秒数存入显示缓冲区,并最终存入一结束字符号’$’。调用DOS字符串显示功能将时间

显示出来。并调用屏幕I/O中断,定位光标的开始位置,结合着将时间显示在我们预先定义

好的位置上。由于获取了的系统时间不会自动刷新,所以我们要设计成刷新的方式来不断获

取系统的时间,这样就形成了会跳动的电子钟了。时间显示的刷新要配合延时程序进行,为

了得到良好的显示效果,延时程序要尽量接近1秒,但又不能超过一秒,所以本程序调用了

一段较精确的时间延迟程序,屏幕显示延迟一段时间后再跳回到初始位置,再显示,由此循

环下去。程序的最后还设计一了个按“ESC”键就退出的功能,采取了判断键值的方法。为

了显示的美观,还设计一个字符图界面,通过显示字符串的方法显示出来。本程序具有很强

的扩展功能,我们可以在此基础上进行一些输入、输出扩展,显示的扩展,比如可以做成计

时器,并设计一个精美的运动的图形界面,时间到了会自动调用PC喇叭发出报警声等等。。。

但是由于时间的原因,所以只做了核心的部分,这不得不说是一个遗憾。本程序使用了未来

汇编,与VISUALASM开发平台。

四.程序设计心得:

本程序虽然只花了一天的时间,但是也收获颇多。其实本程序的设计思路并不难想,核心代

码的设计所花的时间也不长。但是调试的时间却占了差不多70%的时间,在本程序设计的

初期曾经走了不少弯路碰见过不少难题,所幸的是在我们的坚持下最终把难题一一击破。下

面就列举下我们遇见过的比较繁琐的难题:

1.进制转换问题。开始我们的思路是想将AL的内容除于10,然后分别讲除数跟商分别加

上30H转换成ASCII码并保存在AH跟AL里面。但是写完调试的时候系统自动弹出一

个对话框,要求关闭,可是用自带的编译器却可以通过,百思不得其解,最后上网找了

资料才发现是编译系统跟操作系统不兼容的问题,本人的操作系统是最新的WIN2003,

纯32位的系统,跟16位的软件有不兼容也是有可能的。但我本人又不想重装个WIN98

来调试程序,于是就放弃这种方法,改用逻辑移位,调整的方式来实现了。

2.屏幕显示问题。开始做完程序的时候由于采用了光标定位的方法,发现运行了程序后显

示光标不停地跳动,而且在不同的位置上跳动,严重影响了程序的可观赏性。检查发现

原来光标的跳动跟程序的刷新频率跟人眼的视觉残象成影原理有关,只要系统的刷新频

率大于1/25秒,那么人眼就会认为图象在改变,这跟电影为什么要设成25帧/秒的播放

速率的原理是一样的。这样一来,就必须设计一较为精确的延时程序来改善画面的显示

了,只要不让屏幕刷新得太快就可以打到要求了,具体的显示时间是通过延时程序里的

DX值决定的,通过调整DX的值,我们发现当DX等于04FF的时候显示效果是最好的。

3.系统退出问题。开始本程序是使用了DOS中断的键盘功能调用,可是当我们加了比较

跳转指令后整个程序就停了在那里,具体原因不是很清楚。最后换成了键盘I/O功能调

用,问题迎刃而解了。希望能跟老师一起探讨这个问题。

我的心得体会

我们所设计的程序原理是:程序先调用系统时间,然后将返回的二进制

文档评论(0)

198****4825 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档