汇编语言课程设计数字时钟与计算机的时间同步显示.doc
《汇编语言课程设计数字时钟与计算机的时间同步显示.doc》由会员分享,可在线阅读,更多相关《汇编语言课程设计数字时钟与计算机的时间同步显示.doc(8页珍藏版)》请在沃文网上搜索。
1、一、 课程题目数字时钟,与计算机的时间同步显示。二、 设计思想程序原理:程序先调用系统时间,然后将返回的二进制数转化成ASCII码,再通过dos显示功能显示出来,并通过循环不断刷新显示的时间。在二进制转化成ASCII码的过程中,我进一步地了解到,在转化过程中,二进制数首先转化为双四位的BCD码,再将高四位低四位分别相加30H,从而转化为ASCII码,此时要对照书本的附录了解电脑cup如何将ASCII码的信息转换成显示字符。时间刷新:因为程序是不断对显示屏进行刷新的,所以调用了bctd程序,这是一个精确的计时程序,计数时间约为1秒,然后用了jmp display指令,刷新显示屏,从而达到时间的每
2、秒显示。屏幕显示:开始做完程序的时候由于采用了光标定位的方法,发现运行了程序后显示光标不停地在不同的位置上跳动,严重影响了程序的可看性。检查了解到光标的跳动跟程序的刷新频率还有人眼的视觉残象成影原理有关,只要系统的刷新频率大于1/25秒,那么人眼就会认为图象在改变,这跟电影为什么要设成25帧/秒的播放速率的原理是一样的。这样一来,就必须设计一较为精确的延时程序来改善画面的显示了,只要不让屏幕刷新得太快就可以打到要求,具体的显示时间是通过延时程序里的DX值决定的,通过调整DX的值,我们发现当DX等于04FF的时候显示效果是最好的。系统退出:开始本程序是使用了DOS中断的键盘功能调用,可是当加了比
3、较跳转指令后整个程序就停了在那里,最后换成了键盘I/O功能调用,问题得到解决。三、 程序流程图清屏调用DOS中断取系统时间2进制转ACSII码将转换好的系统时间存入时间显示缓冲区显示时间与界面ESC键按下?调用延时子程序返回DOS程序结束YN四、 源代码data segmentmess1 db Press ESC button to quit ,0ah,0dhdb ,0ah,0dhdb ,0ah,0dhdb ,0ah,0dhdb ELECTRONIC CLOCK ,0ah,0dhdb * ,0ah,0dhdb * ,0ah,0dhdb Hust Wenhua College ,0ah,0dhd
4、b design by XuChengting ,0ah,0dhdb ,0ah,0dhdb ,0ah,0dhdb ,$mess2 db 0dh,0ah,$t_buff db 20 ;在数据段开辟一时间显示缓冲区data endsstack segmentdb 100 dup(?)stack endscode segmentassume cs:code,ss:stack,ds:datamain:call clear ;调用清屏子程序display: mov ax, datamov ds,axmov bx,offset t_buff ;送t_buff的偏移地址到BXmov ah,2ch ;调用DO
5、S时间调用功能,功能号:2cH,小时,分钟,秒数分别保存在CH,CL,DH中int 21hmov al,ch ;小时数设定mov ah,0call bctd ;调用进制转换子程序push axand al,0f0h ;选取al高四位mov cl,4 ;设置右循环的次数rol al,cl ;右循环or al,30h ;加30h得到ACSII码mov bx,al ;将得到的结果送到t_buff缓冲区inc bx ;BX自加1,指针指向下一个缓冲区的下一个地址pop axand al,0fh ;选取低四位,道理同上or al,30hmov bx,al ;将转换后的低四位值送入缓冲区的第二个地址inc
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 课程设计 数字 时钟 计算机 时间 同步 显示