《微机原理与接口技术》课程设计-显示系统时间的程序

《微机原理与接口技术》课程设计-显示系统时间的程序

ID:6327991

大小:383.50 KB

页数:21页

时间:2018-01-10

《微机原理与接口技术》课程设计-显示系统时间的程序_第1页
《微机原理与接口技术》课程设计-显示系统时间的程序_第2页
《微机原理与接口技术》课程设计-显示系统时间的程序_第3页
《微机原理与接口技术》课程设计-显示系统时间的程序_第4页
《微机原理与接口技术》课程设计-显示系统时间的程序_第5页
资源描述:

《《微机原理与接口技术》课程设计-显示系统时间的程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、武汉理工大学《微机原理与接口技术》课程设计说明书目录1设计的目的要求11.1设计目的11.2设计任务21.3具体要求22任务原理分析22.1任务总体分析22.2子程序分析32.2.1子程序132.2.2子程序242.2.3子程序372.3拓展设计及功能说明92.4程序设计的主流程图93方案比较103.1方案1103.1.1原理说明103.1.2相关理论知识113.1.3方案1的流程图123.2方案2133.2.1原理说明134程序的调试过程145调试过程中的问题166心得体会17参考文献18附录1921武汉

2、理工大学《微机原理与接口技术》课程设计说明书显示系统时间的程序1设计的目的要求1.1设计目的1.掌握中断的使用方法。2.掌握BIOS系统功能调用。3.掌握基本的显存读写技术。4.学会用汇编语言编写一个较完整的实用程序,培养自己的动手操作能力。5.学习程序设计的基本思路和方法,编程、调试、撰写报告等。1.2设计任务采用汇编语言设计一个显示系统时间程序,在屏幕上以“时:分:秒”的形式显示本机系统的时间。按Q退出程序。1.3具体要求(1)设计任务及要求分析(2)方案比较及认证说明(3)系统原理阐述(4)软件设计课

3、题需要说明:软件思想,流程图,源程序及程序注释(5)调试记录及结果分析(6)总结(7)参考资料(8)附录:芯片资料或程序清单,软件演示屏幕拷贝图或硬件实物图21武汉理工大学《微机原理与接口技术》课程设计说明书2任务原理分析2.1任务总体分析本课设的设计任务要求在运行时,在屏幕上以“时:分:秒”的形式显示本机系统的时间,并且按Q退出程序。由此可知,首先定义光标显示界面,然后调用BIOS中断,读取系统时间,并将调用的用二进制表示的时间数转换成ASCII码,并将时间数存入显存区,最后将存在系统内存区的时间用字符串

4、的形式显示出来。由于获取了的系统时间不会自动刷新,所以我们要设计成循环的方式来不断获取系统的时间,这样就形成了会跳动的电子钟了。程序一旦进入运行,就将不间断地在显示屏显示时间,要想程序停止运行,可输入“Q”即可退出。如果用图形方式显示效果会更好,而且需注意设置显示时候的背景颜色。在本课程设计中,主要需要三个子程序来完成。2.2子程序分析2.2.1子程序1子程序1的功能就是设置光标位置。其基本原理是:在子程序1中,我用到了显示器驱动程序(INT10H)中AH=2的功能。AH=2的功能是设置光标位置,入口参数:

5、(DH,DL)=行、列;BH=页号(图形模式为0)。为了使显示的时间在DOS屏幕中的中间显示,DX设置为0A24H,即DH=0AH,DL=24H,就是在0AH行,24H列。如果想改变时间显示的位置,只要改变DX的数值就可以达到目的。由于在第零页中定位,可用SUBBH,BH来完成此操作。子程序1的源程序如下:MOVBX,005EHMOVAX,1301HINT10H;设置光标位置MOVAH,02HMOVDH,0AH21武汉理工大学《微机原理与接口技术》课程设计说明书MOVDL,24H;dh显示行(x坐标);dl

6、显示列(y坐标)MOVBH,0;页码为0INT10H子程序1的流程图如图1所示。图1子程序1的流程图2.2.2子程序2子程序2的功能是把二进制数转换为十进制ASCII码输出。其基本原理是:首先要完成二进制到十进制数的转换,一般采用“除10取余”法来完成,其大致过程如下:将待转换的数(在AX中)除以10,得到第一个商和余数,此第一个余数就是所求的十进制数的个位;再用第一个商除以10,得到第二个商和余数,此第二个余数就是所求十进制数的十位;……;重复这一过程直至商为0,此时的余数就是所求十进制数的最高位。21武

7、汉理工大学《微机原理与接口技术》课程设计说明书在内存中分配一缓冲区,用来存放以上分离出来的十进制数的每一位,然后再逐个转换成ASCII码,转换成ASCII码的过程很简单,就是给每个十进制位加上30H即可;最后送显示器输出。从转换的过程可以看出,先分离出来的是十进制数的低位,要后显示;后分离出来的是十进制数的高位,应该先显示。因此在编程时,我们可以利用堆栈操作中“先进后出、后进先出”的特性,当分离出各十进制位时依次入栈,要逐个转换成ASCII码送显示时依次出栈。子程序2的流程图如下:BIN10OUTPROC;

8、二进制转十进制ASCUII码输出子程序PUSHDIPUSHDXPUSHCXPUSHAXMOVCX,0LEADI,TBUF;去缓冲区首地址BIN1:PUSHCXMOVAX,DXMOVDX,0MOVCX,10DIVCX;AX内容除以DX内容,商在AX,余数在DXXCHGAX,DX;交换AX,DX的内容ADDAL,30H;余数加30H,入栈准备输出MOV[DI],ALINCDIPOPCXINCCX;累加每调用一次要输出

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。