ImageVerifierCode 换一换
格式:DOC , 页数:8 ,大小:109.50KB ,
资源ID:851635      下载积分:20 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 微信支付   
验证码:   换一换

加入VIP,免费下载资源
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.wodocx.com/d-851635.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(汇编语言课程设计数字时钟与计算机的时间同步显示.doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(发送邮件至2622162128@qq.com或直接QQ联系客服),我们立即给予删除!

汇编语言课程设计数字时钟与计算机的时间同步显示.doc

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

6、 bxmov al,: ;显示分号mov bx,alinc bxmov ah,2chint 21hmov al,cl ;分钟数设定mov ah,0call bctdpush axand al,0f0hmov cl,4rol al,clor al,30hmov bx,alinc bxpop axand al,0fhor al,30hmov bx,alinc bxmov al,: ;显示;号mov bx,alinc bxmov ah,2ch ;秒设定int 21hmov al,dhmov ah,0call bctdpush axand al,0f0hmov cl,4rol al,clor al,3

7、0hmov bx,alinc bxpop axand al,0fhor al,30hmov bx,alinc bxmov al,$ ;将字符串的结束位送至显示缓冲区的最后一位mov bx,alpush bx ;置光标位置 ,AH=2,BH=0,DH跟DL分别为行号与列号,并入栈保护BXmov ah,2mov bh,0mov dh,11mov dl,33int 10hpop bxlea dx,t_buff ;送t_buff偏移地址到DX,并调用DOS显示功能,功能号为9mov ah,9int 21hpush bx ;置光标位置mov ah,2mov bh,0mov dh,0mov dl,0int

8、 10hpop bxlea dx,mess1mov ah,9int 21hpush bx ;置光标位置mov ah,2mov bh,0mov dh,17mov dl,21int 10hpop bxlea dx,mess2mov ah,9int 21hcall delay1mov ah,1 ;按任意键结束,调用键盘I/O中断功能号1,获取键值到ALint 16hcmp al,1bhjz quit ;是ESC键的话就跳转jmp displayquit:mov ah,4chint 21hretbctd proc near;二进制转BCD码子程序;AX输入参数;AX输出参数,存放调整过的BCD码;mo

9、v dx,axmov ax,0mov cx,16 ;设循环次数bctd1:clc ;清进位标志Crcl dx,1 ;通过进位的循环右移adc al,al ;带进位加法daa ;加法的十进制调整xchg al,ah ;交换高,低八位adc al,aldaaxchg al,ahloop bctd1 ;循环,次数保存在CX里retbctd endpclear proc nearpush ax ;入栈保护现场push bxpush cxpush dxmov ax,0600h;ah=06(滚动)al=00(全屏空白)mov bh,8Bh ;背景颜色(8),绿色前景(B)sub cx,cxmov dx,5

10、f5fhint 10hpop dx ;出栈恢复现场pop cxpop bxpop axretclear endpdelay1 PROC ;精确延迟时间子程序MOV DX,04ffh ;循环次数up: XOR CX,CXa: NOPLOOP aDEC DXJNZ upRETdelay1 ENDPcode endsend main五、 调试过程及调试结果在刚调试好时,我觉得界面的颜色过于单调,所以我通过下面的代码修改了背景颜色和字体颜色。clear proc nearpush ax push bxpush cxpush dxmov ax,0600hmov bh,8Bh sub cx,cxmov dx,5f5fhint 10hpop dx pop cxpop bxpop axretclear endp六、 总结经过了两周的课程设计,让我对汇编语言这门课有了更深的认识,原本以为这门课所学的语言一无是处,可是没先到同样也能做出漂亮的程序。在刚把代码输完的时候,程序有十多个错误。在不断的调试和修改之后,程序能够正常运行,能输出与计算机同步的时间。通过这次课程设计,使我认识到理论与实际相结合的重要性,对课本上的只是在实际生活中的运用也有了进一步的了解,同时基本上能够掌握汇编语言编程中编程的步骤,可以说是从中受益匪浅。

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922