好文档 - 专业文书写作范文服务资料分享网站

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

天下 分享 时间: 加入收藏 我要投稿 点赞

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

——电子时钟设计(2005-6-24)

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

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

设计目:了解定时/计数器和中断使用。 设计所需设备:PC机。

设计任务:编写程序,在PC机上显示时间。 二.程序内容: 第一部分:定义显示界面。

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

第三部分:将存在系统内存区时间数用显示字符串形式显示出来。 第四部分:获取键盘按键值,判断键值并退出系统。 三.程序设计原理:

首先在数据段开辟一显示缓冲区,用来存储系统时间。调用DOS中断,返回系统时间,并将来返回二进制时间转换成ASCII码,方便时间显示时调用。分别将来小时数、分钟数、秒数存入显示缓冲区,并最终存入一结束字符号’$’。调用DOS字符串显示功能将时间显示出来。并调用屏幕I/O中断,定位光标开始位置,结合着将时间显示在我们预先定义好位置上。由于获取了系统时间不会自动刷新,所以我们要设计成刷新方式来不断获取系统时间,这样就形成了会跳动电子钟了。时间显示刷新要配合延时程序进行,为了得到良好显示效果,延时程序要尽量接近1秒,但又不能超过一秒,所以本程序调用了一段较精确时间延迟程序,屏幕显示延迟一段时间后再跳回到初始位置,再显示,由此循环下去。程序最后还设计一了个按“ESC”键就退出功能,采取了判断键值方法。为了显示美观,还设计一个字符图界面,通过显示字符串方法显示出来。本程序具有很强扩展功

能,我们可以在此基础上进行一些输入、输出扩展,显示扩展,比如可以做成计时器,并设计一个精美运动图形界面,时间到了会自动调用PC喇叭发出报警声等等。。。但是由于时间原因,所以只做了核心部分,这不得不说是一个遗憾。本程序使用了未来汇编,与VISUAL ASM开发平台。

四.程序设计心得:

本程序虽然只花了一天时间,但是也收获颇多。其实本程序设计思路并不难想,核心代码设计所花时间也不长。但是调试时间却占了差不多70%时间,在本程序设计初期曾经走了不少弯路碰见过不少难题,所幸是在我们坚持下最终把难题一一击破。下面就列举下我们遇见过比较繁琐难题:

进制转换问题。开始我们思路是想将AL内容除于10,然后分别讲除数跟商分别加上30H转换成ASCII码并保存在AH跟AL里面。但是写完调试时候系统自动弹出一个对话框,要求关闭,可是用自带编译器却可以通过,百思不得其解,最后上网找了资料才发现是编译系统跟操作系统不兼容问题,本人操作系统是最新WIN2003,纯32位系统,跟16位软件有不兼容也是有可能。但我本人又不想重装个WIN98来调试程序,于是就放弃这种方法,改用逻辑移位,调整方式来实现了。

屏幕显示问题。开始做完程序时候由于采用了光标定位方法,发现运行了程序后显示光标不停地跳动,而且在不同位置上跳动,严重影响了程序可观赏性。检查发现原来光标跳动跟程序刷新频率跟人眼视觉残象成影原理有关,只要系统刷新频率大于1/25秒,那么人眼就会认为图象在改变,这跟电影为什么要设成25帧/秒播放速率原理是一样。这样一来,就必须设计一较为精确延时程序来改善画面显示了,只要不让屏幕刷新得太快就可以打到要求了,具体显示时间是通过延时程序里DX值决定,通过调整DX值,我们发现当DX等于04FF时候显示效果是最好。

系统退出问题。开始本程序是使用了DOS中断键盘功能调用,可是当我们加了比较跳转指令后整个程序就停了在那里,具体原因不是很清楚。最后换成了键盘I/O功能调用,问题迎刃而解了。希望能跟老师一起探讨这个问题。

我心得体会

我们所设计程序原理是:程序先调用系统时间,然后将返回二进制数转化成ASCII码,再通过dos显示功能显示出来,并通过循环不断刷新显示时间.

我从这次程序设计过程中学会,理解了几点我以前不熟悉知识: 首先在二进制转化成ASCII码过程中,我进一步地了解到,在转化过程中,二进制数首先转化为双四位BCD码,再将高四位低四位分别相加30H,从而转化为ASCII码,此时要对照书本P416附录1了解电脑cup如何将ASCII码信息转换成显示字符。

其次,了解了如何对其他经典程序灵活应用。我们程序是不断对显示屏进行刷新,所以我们调用了bctd程序,这是一个精确计时程序,计数时间约为1秒,然后我们用了jmp display指令,刷新显示屏,从而达到时间每秒显示。

通过了这次程序设计,使我更深刻地理解了微机原理与应用技术,特别是在对中断技术理解与应用方面,更好地理解了微机工作情况与运行方式。

可以这样说,如果没有此课程设计,我对微机原理与应用技术,仍旧停滞于表面了解、一知半解甚至不知其解状态,这样就谈不上学知识、长见闻、提高自身学术素质与理论水平方方面面。但也让作者感到自身知识和理论水平要作更高层次课程设计,远远不足,还需要不懈地学习与提高,更需要指导老师与在此方面高手不吝赐教!

参考资料:

《微型计算机原理及应用》第四版 周明德 清华大学出版社 《微机原理及接口技术实验指导书》岳克宁 主编

《全国计算机等级考试辅导教程与同步试题训练(3级PC技术)》 冶金工业出版社

五.流程图:

N 返回DOS 程序结束

六.程序源码:

;name: ELECTRONIC CLOCK

;design by zengqingyu class1 and moxiaolei class3

data segment

mess1 db ' db ' db ' db ' ------+ db ' MENT db ' OCK db ' Ray + db ' version:1.0 + db ' + db ' + db ' utton to quit + \\\\\\|/// ',0ah,0dh

\\\\ .-.- // ',0ah,0dh

( .@.@ ) ',0ah,0dh

+-----------oOOo-----(_)-----oOOo------- ',0ah,0dh

+ ASM ASSIGN + ',0ah,0dh

+ ELECTRONIC CL+ ',0ah,0dh

+ Design by Kevin & ',0ah,0dh

+ ',0ah,0dh

+ ',0ah,0dh

+ ',0ah,0dh

+ Press ESC b ',0ah,0dh

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

微机原理课程设计电子时钟的设计——电子时钟设计(2005-6-24)山东科技大学机电学院js02-220号一.课程设计题目:电子钟设计目:了解定时/计数器和中断使用。设计所需设备:PC机。设计任务:编写
推荐度:
点击下载文档文档为doc格式
7pslb8doey35m4y31ezc5v45r56fh1008wf
领取福利

微信扫码领取福利

微信扫码分享