微机原理与通信接口课程设计说明书_第1页
微机原理与通信接口课程设计说明书_第2页
微机原理与通信接口课程设计说明书_第3页
微机原理与通信接口课程设计说明书_第4页
微机原理与通信接口课程设计说明书_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1. 系统需求分析1.1 DOS中断及功能调用简介目前DOS常用的9类中断(20H-27H和2FH分为两种:DOS用中断和DOS 可调用中断。(1)DOS专用中断。DOS专用中断是指INT 22H、INT 23H和INT 24H三个 中断,属DOS操作时专用,用户不要直接使用。(2)DOS可调用中断。DOS可调用中断是指 INT 20H、INT 21H、INT 25H、 INT 26H、 INT 27H 和 INT 2FH 六个中断。这六个中断都供用户直接调用,但都 必须要满足一定的入口条件。1)磁盘读/写中断。INT 25H和INT 26H分别用来读和写磁盘上的若干扇区, 这实际上是两条BI

2、OS调用。2)程序退出中断。“INT 20H”和“ INT 27H”都为程序的退出命令。其中“INT 20H'为正常退出命令,当用户程序执行完后,可用该命令退回操作系统; “INT 27H”为驻留退出命令,采用该退出命令时,留下的程序被DOS视为自身的一部分, 不会被其他程序覆盖。 在其他用户程序中, 可通过使用软中断调用这 部分驻留程序。3) 假脱机打印文件中断。“INT 2FH'用来实现假脱机打印文件命令 PRINT 该命令的功能是, 当用户在机器上执行其他任务时, 打印机仍可打印处在打印队 列中的数据文件。一个打印队列可容纳多至 32个文件。4)系统功能调用。系统功能调用

3、是指“ INT 21H ”中断。它是可供系统程 序和应用程序调用的一个极其重要的中断, 内含近百个系统子功能。 操作系统的 内核主要由它构成。 系统功能调用的近百个系统子功能已经标准化, 调用它们时 完全不依赖于任何硬件设备, 因此,用这些子功能编写研制成的所有系统软件或 应用程序可在任何支持 DOS勺机器上运行。1.2 时间日期系统功能调用“INT 21H'是一个使用方便的系统服务程序,它的功能丰富,共有84个子功能,此次课程设计中,主要用到时间日期系统的功能调用,如表 1.1 所示: 表 1.1 时间日期系统功能调用功能号功能入口参数出口参数DOS版 本2AH取日期CX:DX日 期

4、1, 2, 3, 62BH置日期CX:DX日 期AL=00,成功AL=FF,失败1, 2, 3, 62CH取时间CX:DX时间1, 2, 3, 62DH置时间CX:DX时间AL=00,成功AL=FF,失败1, 2, 3, 62. 程序流程图2.1开程序流程图3. 程序设计STACK SEGMENT STAC设置显示方式和显示提示信息DW 200 DUP (?)STACKE若为“ T”从键盘输入一个字符DATA SEGMENTDUP若为“ Q”显示鬧TY|LE db 8 DUP C:'),12 子程 序ATE_ST YLE DB 18 DUP ('')调用调用显示时间子程

5、序STR DB 'PLEASE SELECT DATE(D) OR TIME(T) OR QUIT(Q):$'MOV AX,1300HDATA ENDO利用segment时间参数的UMe cs:code,ds:data,es:data,ss:stack 用方法取日期屮',sTaRT: MOV AX,0001HINT 10HDATA调用日期数值从转换子程ov ds,Ax利用BIOS中时间参数的调用方法取时间;设置显示方式为40*25彩色文本7方式程序退出, 结束调用时间数值 转换子程序MOV ES,AMOV CX,0*在屏幕上实时显斗 °示日期或时间"

6、INT 10HMOV AL,DHMOV DX,OFFSET STRMOV AH,9INT 21HMOV AH,1INT 21HCMP AL,44HJNE ACALL DATEA:CMP AL,54HJNE BCALL TIMEB: CMP AL,51HJNE STARTMOV AH,4CHINT 21HDATE PROC NEAR DISPLAY:MOV AH,2AHINT 21HMOV SI,0MOV AX,CXMOV BX,100DIV BLMOV BL,AHCALL BCDASC1MOV AL,BLCALL BCDASC1INC SI;显示提示信息;从键盘输入单个字符;AL='D

7、' ?;显示系统日期;AL='T' ?;显示系统时间;AL='Q' ?;返回 dos 状态;显示日期子程序;取日期; 日期数值转换成相应的 ASCII 码字符CALL BCDASC1INC SIMOV AL,DLCALL BCDASC1MOV BP,OFFSET DATE_STYLEMOV DX,0C0DHMOV CX,18MOV BX,0007HMOV AX,1301HINT 10HMOV AH,02H;设置光标位置MOV BX,100MOV DX,0300HMOV BH,0INT 10HMOV BX,0018HREP:DEC BXJNZ REPMOV

8、 AH,01H;读键盘缓冲区字符到 AL 寄存器INT 16HJE DISPLAYJMP STARTMOV AX,4C00HINT 21HRETDATEENDPTIMEPROC NEAR;显示时间子程序DISPLAY1:MOV SI,0DIV BLMOV AH,2CHINT 21H;取时间MOV AL,CHCALL BCDASC;将时间数值转换成 ASCII 码字符INC SIMOV AL,CLCALL BCDASCINC SIMOV AL,DHCALL BCDASCMOV BP,OFFSET TIME_STYLEMOV DX,0C0DHMOV CX,18MOV BX,007HMOV AX,1

9、301HINT 10HMOV AH,02HMOV DX,0300HMOV BH,0INT 10HMOV BX,0018HRE: MOV CX,0FFFFHREA: LOOP READEC BXJNZ REMOV AH,01HINT 16HJE DISPLAY1JMP STARTMOV AX,4C00HINT 21HRETTIME ENDPBCDASC PROC NEAR;时间数值转换成 ASCII 码字符子程序PUSH BXCBWMOV BL,10DIV BLADD AL,'0'MOV TIME_STYLESI,ALINC SIADD AH,'0'MOV TIM

10、E_STYLESI,AHINC SIPOP BXRETBCDASC ENDPBCDASC1 PROC NEAR ;日期数值转换成 ASCII 码字符子程序PUSH BXCBWMOV BL,10DIV BLADD AL,'0'MOV DATE_STYLESI,ALINC SIADD AH,'0'MOV DATE_STYLESI,AHINC SIPOP BXRETBCDASC1 ENDPCODE ENDSEND START4. 运行结果和分析将程序编译成功后运行,从键盘输入字母“ D”,运行结果如图4.1所示:图4.1显示系统日期从键盘输入字母“ T”,运行结果如图

11、4.2所示:图4.2显示系统时间该程序由主程序分别调用显示日期和显示时间的子程序,利用BIOS中对时间参数的调用方法,实现取时间和取日期。由于取到的值与显示在屏幕上的字符 有类型的差别,于是通过时间和日期的子程序,进行数值转换,得到需要的字符 类型对应的ASCII码,从而显示在屏幕上。5. 心得体会这次微机原理的课程设计,我们的题目是系统时间显示程序设计, 经过翻阅 微型计算机原理与接口技术 的课本,以及相关资料,还有在网上搜集的类似 设计,最终我们确定了设计思路和电路原理图。根据要求,程序设计中分为两个功能模块,一个是显示日期:年、月、日, 一个是显示时间:时、分、秒。这里可以将两个功能分别

12、编写为一个子程序,分 别实现相对应的功能,然后通过判断功能的选择来实现对应子程序的调用。首先跟据设计思路,画出程序流程图,再用汇编语言实现单个流程,通过再 次的翻阅课本及相关功能的实现程序, 写出对应的汇编程序,然后通过条件控制 语句将各个模块连接在一起,从而得到整个程序,完成程序设计。接下来就是运行以及修改调试。 程序的主要问题在于如何利用 BIOS中时间 参数的调用方法实现功能,以及相关参数在作为字符显示时的数值转换, 解决了 这两个问题,程序的主要功能已达到要求,再加以完善和补充即可。在程序编译过程中也出现了些小问题,如漏掉,指令键入错误等,但经过检查和修改,终于编译成功了!通过这次微机

13、原理的课程设计, 我从中不仅学到了系统时间显示程序的设计 原理和基本思路,深入了解了汇编语言中 BIOS 时间参数的调用,而且也加深了 对理论的认识, 进一步理解了汇编语言的指令功能和用法, 了解了如何通过程序 去实现功能, 通过功能测试如何发现问题并通过修改程序而解决问题, 更学会了 如何通过各种途径收集资料, 从中获取需要的信息, 并为我所用, 成为自己的能 力,这对于今后的学习还是工作都有着积极的影响。参考文献1 姚燕南,薛钧义.微型计算机原理与接口技术 .北京:高等教育出版 ,2004.11.2 艾德才. 微型计算机原理与接口技术 .北京:清华大学出版社, 2005.9.3 沈美明.IBM-PC汇

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论