《微机原理与通信接口》课程设计说明书.docx
- 文档编号:8420445
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:12
- 大小:58.34KB
《微机原理与通信接口》课程设计说明书.docx
《《微机原理与通信接口》课程设计说明书.docx》由会员分享,可在线阅读,更多相关《《微机原理与通信接口》课程设计说明书.docx(12页珍藏版)》请在冰豆网上搜索。
《微机原理与通信接口》课程设计说明书
1.系统需求分析
1.1DOS中断及功能调用简介
目前DOS常用的9类中断(20H-27H和2FH)分为两种:
DOS专用中断和DOS可调用中断。
(1)DOS专用中断。
DOS专用中断是指INT22H、INT23H和INT24H三个中断,属DOS操作时专用,用户不要直接使用。
(2)DOS可调用中断。
DOS可调用中断是指INT20H、INT21H、INT25H、INT26H、INT27H和INT2FH六个中断。
这六个中断都供用户直接调用,但都必须要满足一定的入口条件。
1)磁盘读/写中断。
INT25H和INT26H分别用来读和写磁盘上的若干扇区,这实际上是两条BIOS调用。
2)程序退出中断。
“INT20H”和“INT27H”都为程序的退出命令。
其中“INT20H”为正常退出命令,当用户程序执行完后,可用该命令退回操作系统;
“INT27H”为驻留退出命令,采用该退出命令时,留下的程序被DOS视为自身的一部分,不会被其他程序覆盖。
在其他用户程序中,可通过使用软中断调用这部分驻留程序。
3)假脱机打印文件中断。
“INT2FH”用来实现假脱机打印文件命令PRINT。
该命令的功能是,当用户在机器上执行其他任务时,打印机仍可打印处在打印队列中的数据文件。
一个打印队列可容纳多至32个文件。
4)系统功能调用。
系统功能调用是指“INT21H”中断。
它是可供系统程序和应用程序调用的一个极其重要的中断,内含近百个系统子功能。
操作系统的内核主要由它构成。
系统功能调用的近百个系统子功能已经标准化,调用它们时完全不依赖于任何硬件设备,因此,用这些子功能编写研制成的所有系统软件或应用程序可在任何支持DOS的机器上运行。
1.2时间日期系统功能调用
“INT21H”是一个使用方便的系统服务程序,它的功能丰富,共有84个子功能,此次课程设计中,主要用到时间日期系统的功能调用,如表1.1所示:
表1.1时间日期系统功能调用
功能号
功能
入口参数
出口参数
DOS版本
2AH
取日期
CX:
DX=日期
1,2,3,6
2BH
置日期
CX:
DX=日期
AL=00,成功
AL=FF,失败
1,2,3,6
2CH
取时间
CX:
DX=时间
1,2,3,6
2DH
置时间
CX:
DX=时间
AL=00,成功
AL=FF,失败
1,2,3,6
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
INT10H
MOVDX,OFFSETSTR;显示提示信息
MOVAH,9
INT21H
MOVAH,1;从键盘输入单个字符
INT21H
CMPAL,44H;AL='D'?
JNEA
CALLDATE;显示系统日期
A:
CMPAL,54H;AL='T'?
JNEB
CALLTIME;显示系统时间
B:
CMPAL,51H;AL='Q'?
JNESTART
MOVAH,4CH;返回dos状态
INT21H
DATEPROCNEAR;显示日期子程序
DISPLAY:
MOVAH,2AH;取日期
INT21H
MOVSI,0
MOVAX,CX
MOVBX,100
DIVBL
MOVBL,AH
CALLBCDASC1;日期数值转换成相应的ASCII码字符
MOVAL,BL
CALLBCDASC1
INCSI
MOVAL,DH
CALLBCDASC1
INCSI
MOVAL,DL
CALLBCDASC1
MOVBP,OFFSETDATE_STYLE
MOVDX,0C0DH
MOVCX,18
MOVBX,0007H
MOVAX,1301H
INT10H
MOVAH,02H;设置光标位置
MOVDX,0300H
MOVBH,0
INT10H
MOVBX,0018H
REP:
DECBX
JNZREP
MOVAH,01H;读键盘缓冲区字符到AL寄存器
INT16H
JEDISPLAY
JMPSTART
MOVAX,4C00H
INT21H
RET
DATEENDP
TIMEPROCNEAR;显示时间子程序
DISPLAY1:
MOVSI,0
MOVBX,100
DIVBL
MOVAH,2CH;取时间
INT21H
MOVAL,CH
CALLBCDASC;将时间数值转换成ASCII码字符
INCSI
MOVAL,CL
CALLBCDASC
INCSI
MOVAL,DH
CALLBCDASC
MOVBP,OFFSETTIME_STYLE
MOVDX,0C0DH
MOVCX,18
MOVBX,007H
MOVAX,1301H
INT10H
MOVAH,02H
MOVDX,0300H
MOVBH,0
INT10H
MOVBX,0018H
RE:
MOVCX,0FFFFH
REA:
LOOPREA
DECBX
JNZRE
MOVAH,01H
INT16H
JEDISPLAY1
JMPSTART
MOVAX,4C00H
INT21H
RET
TIMEENDP
BCDASCPROCNEAR;时间数值转换成ASCII码字符子程序
PUSHBX
CBW
MOVBL,10
DIVBL
ADDAL,'0'
MOVTIME_STYLE[SI],AL
INCSI
ADDAH,'0'
MOVTIME_STYLE[SI],AH
INCSI
POPBX
RET
BCDASCENDP
BCDASC1PROCNEAR;日期数值转换成ASCII码字符子程序
PUSHBX
CBW
MOVBL,10
DIVBL
ADDAL,'0'
MOVDATE_STYLE[SI],AL
INCSI
ADDAH,'0'
MOVDATE_STYLE[SI],AH
INCSI
POPBX
RET
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.
致谢
在本次课程设计中,我从中学到了不少东西,不仅加强了动手能力,也加深了对理论的认识,其中离不开同组同学的帮助和支持,在此表示感谢。
课程设计不仅能检验我们对理论知识的掌握,也了解了设计的思路,在此我要感谢学校开设的这门课程,以及对我们的培养。
在课程设计过程中,当我们遇到困难时,指导老师的认真指导指引我们成功完成设计,在此表示万分的感谢!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机原理与通信接口 微机 原理 通信 接口 课程设计 说明书