第1页共10页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页共10页《微机原理》课程设计——电子时钟的设计(2005-6-24)山东科技大学机电学院js02-220号第2页共10页第1页共10页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第2页共10页一.课程设计题目:电子钟1
设计目的:了解定时/计数器和中断的使用
设计所需设备:PC机
设计任务:编写程序,在PC机上显示时间
二.程序内容:第一部分:定义显示界面
第二部分:调用系统时间,并将调用的用二进制表示的时间数转换成ASCII码,并将时间数存入内存区
第三部分:将存在系统内存区的时间数用显示字符串的形式显示出来
第四部分:获取键盘的按键值,判断键值并退出系统
三.程序设计原理:首先在数据段开辟一显示缓冲区,用来存储系统时间
调用DOS中断,返回系统时间,并将来返回的二进制时间转换成ASCII码,方便时间显示时的调用
分别将来小时数、分钟数、秒数存入显示缓冲区,并最终存入一结束字符号’$’
调用DOS字符串显示功能将时间显示出来
并调用屏幕I/O中断,定位光标的开始位置,结合着将时间显示在我们预先定义好的位置上
由于获取了的系统时间不会自动刷新,所以我们要设计成刷新的方式来不断获取系统的时间,这样就形成了会跳动的电子钟了
时间显示的刷新要配合延时程序进行,为了得到良好的显示效果,延时程序要尽量接近1秒,但又不能超过一秒,所以本程序调用了一段较精确的时间延迟程序,屏幕显示延迟一段时间后再跳回到初始位置,再显示,由此循环下去
程序的最后还设计一了个按“ESC”键就退出的功能,采取了判断键值的方法
为了显示的美观,还设计一个字符图界面,通过显示字符串的方法显示出来
本程序具有很强的扩展功能,我们可以在此基础上进行一些输入、输出扩展,显示的扩展比如可以做成计时器,并设计