《微机原理与通信接口》课程设计说明书文档格式.docx

上传人:b****5 文档编号:21556691 上传时间:2023-01-31 格式:DOCX 页数:12 大小:58.34KB
下载 相关 举报
《微机原理与通信接口》课程设计说明书文档格式.docx_第1页
第1页 / 共12页
《微机原理与通信接口》课程设计说明书文档格式.docx_第2页
第2页 / 共12页
《微机原理与通信接口》课程设计说明书文档格式.docx_第3页
第3页 / 共12页
《微机原理与通信接口》课程设计说明书文档格式.docx_第4页
第4页 / 共12页
《微机原理与通信接口》课程设计说明书文档格式.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

《微机原理与通信接口》课程设计说明书文档格式.docx

《《微机原理与通信接口》课程设计说明书文档格式.docx》由会员分享,可在线阅读,更多相关《《微机原理与通信接口》课程设计说明书文档格式.docx(12页珍藏版)》请在冰豆网上搜索。

《微机原理与通信接口》课程设计说明书文档格式.docx

系统功能调用是指“INT21H”中断。

它是可供系统程序和应用程序调用的一个极其重要的中断,内含近百个系统子功能。

操作系统的内核主要由它构成。

系统功能调用的近百个系统子功能已经标准化,调用它们时完全不依赖于任何硬件设备,因此,用这些子功能编写研制成的所有系统软件或应用程序可在任何支持DOS的机器上运行。

1.2时间日期系统功能调用

“INT21H”是一个使用方便的系统服务程序,它的功能丰富,共有84个子功能,此次课程设计中,主要用到时间日期系统的功能调用,如表1.1所示:

表1.1时间日期系统功能调用

功能号

功能

入口参数

出口参数

DOS版本

2AH

取日期

CX:

DX=日期

1,2,3,6

2BH

置日期

AL=00,成功

AL=FF,失败

2CH

取时间

DX=时间

2DH

置时间

 

2.程序流程图

若为“Q”

在屏幕上实时显示日期或时间

调用时间数值转换子程序

调用日期数值转换子程序

利用BIOS中时间参数的调用方法取时间

利用BIOS中时间参数的调用方法取日期

若为“T”

调用显示时间子程序

若为“D”

调用显示日期子程序

设置显示方式和显示提示信息

图2.1程序流程图

3.程序设计

STACKSEGMENTSTACK

DW200DUP(?

STACKENDS

DATASEGMENT

TIME_STYLEDB8DUP('

:

'

),12DUP('

'

DATE_STYLEDB18DUP('

STRDB'

PLEASESELECTDATE(D)ORTIME(T)ORQUIT(Q):

$'

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,ES:

DATA,SS:

STACK

START:

MOVAX,0001H;

设置显示方式为40*25彩色文本方式

INT10H

MOVAX,DATA

MOVDS,AX

MOVES,AX

MOVCX,0

MOVAX,1300H

MOVDX,OFFSETSTR;

显示提示信息

MOVAH,9

INT21H

MOVAH,1;

从键盘输入单个字符

CMPAL,44H;

AL='

D'

JNEA

CALLDATE;

显示系统日期

A:

CMPAL,54H;

T'

JNEB

CALLTIME;

显示系统时间

B:

CMPAL,51H;

Q'

JNESTART

MOVAH,4CH;

返回dos状态

DATEPROCNEAR;

显示日期子程序

DISPLAY:

MOVAH,2AH;

MOVSI,0

MOVAX,CX

MOVBX,100

DIVBL

MOVBL,AH

CALLBCDASC1;

日期数值转换成相应的ASCII码字符

MOVAL,BL

CALLBCDASC1

INCSI

MOVAL,DH

MOVAL,DL

MOVBP,OFFSETDATE_STYLE

MOVDX,0C0DH

MOVCX,18

MOVBX,0007H

MOVAX,1301H

MOVAH,02H;

设置光标位置

MOVDX,0300H

MOVBH,0

MOVBX,0018H

REP:

DECBX

JNZREP

MOVAH,01H;

读键盘缓冲区字符到AL寄存器

INT16H

JEDISPLAY

JMPSTART

MOVAX,4C00H

RET

DATEENDP

TIMEPROCNEAR;

显示时间子程序

DISPLAY1:

MOVAH,2CH;

MOVAL,CH

CALLBCDASC;

将时间数值转换成ASCII码字符

MOVAL,CL

CALLBCDASC

MOVBP,OFFSETTIME_STYLE

MOVBX,007H

MOVAH,02H

RE:

MOVCX,0FFFFH

REA:

LOOPREA

JNZRE

MOVAH,01H

JEDISPLAY1

TIMEENDP

BCDASCPROCNEAR;

时间数值转换成ASCII码字符子程序

PUSHBX

CBW

MOVBL,10

ADDAL,'

0'

MOVTIME_STYLE[SI],AL

ADDAH,'

MOVTIME_STYLE[SI],AH

POPBX

BCDASCENDP

BCDASC1PROCNEAR;

日期数值转换成ASCII码字符子程序

MOVDATE_STYLE[SI],AL

MOVDATE_STYLE[SI],AH

BCDASC1ENDP

CODEENDS

ENDSTART

4.运行结果和分析

将程序编译成功后运行,从键盘输入字母“D”,运行结果如图4.1所示:

图4.1显示系统日期

从键盘输入字母“T”,运行结果如图4.2所示:

图4.2显示系统时间

该程序由主程序分别调用显示日期和显示时间的子程序,利用BIOS中对时间参数的调用方法,实现取时间和取日期。

由于取到的值与显示在屏幕上的字符有类型的差别,于是通过时间和日期的子程序,进行数值转换,得到需要的字符类型对应的ASCII码,从而显示在屏幕上。

5.心得体会

这次微机原理的课程设计,我们的题目是系统时间显示程序设计,经过翻阅《微型计算机原理与接口技术》的课本,以及相关资料,还有在网上搜集的类似设计,最终我们确定了设计思路和电路原理图。

根据要求,程序设计中分为两个功能模块,一个是显示日期:

年、月、日,一个是显示时间:

时、分、秒。

这里可以将两个功能分别编写为一个子程序,分别实现相对应的功能,然后通过判断功能的选择来实现对应子程序的调用。

首先跟据设计思路,画出程序流程图,再用汇编语言实现单个流程,通过再次的翻阅课本及相关功能的实现程序,写出对应的汇编程序,然后通过条件控制语句将各个模块连接在一起,从而得到整个程序,完成程序设计。

接下来就是运行以及修改调试。

程序的主要问题在于如何利用BIOS中时间参数的调用方法实现功能,以及相关参数在作为字符显示时的数值转换,解决了这两个问题,程序的主要功能已达到要求,再加以完善和补充即可。

在程序编译过程中也出现了些小问题,如漏掉“,”,指令键入错误等,但经过检查和修改,终于编译成功了!

通过这次微机原理的课程设计,我从中不仅学到了系统时间显示程序的设计原理和基本思路,深入了解了汇编语言中BIOS时间参数的调用,而且也加深了对理论的认识,进一步理解了汇编语言的指令功能和用法,了解了如何通过程序去实现功能,通过功能测试如何发现问题并通过修改程序而解决问题,更学会了如何通过各种途径收集资料,从中获取需要的信息,并为我所用,成为自己的能力,这对于今后的学习还是工作都有着积极的影响。

参考文献

[1]姚燕南,薛钧义.微型计算机原理与接口技术.北京:

高等教育出版,2004.11.

[2]艾德才.微型计算机原理与接口技术.北京:

清华大学出版社,2005.9.

[3]沈美明.IBM-PC汇编语言程序设计.北京:

清华大学出版社,2008.7.

致谢

在本次课程设计中,我从中学到了不少东西,不仅加强了动手能力,也加深了对理论的认识,其中离不开同组同学的帮助和支持,在此表示感谢。

课程设计不仅能检验我们对理论知识的掌握,也了解了设计的思路,在此我要感谢学校开设的这门课程,以及对我们的培养。

在课程设计过程中,当我们遇到困难时,指导老师的认真指导指引我们成功完成设计,在此表示万分的感谢!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 企业管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1