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

下载本文档

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

文档简介

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分别用来读和写磁

2、盘上的若干扇区,这实际上是两条bios调用。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=日期1,2,3,62bh置日期cx:dx=日期

4、al=00,成功al=ff,失败1,2,3,62ch取时间cx:dx=时间1,2,3,62dh置时间cx:dx=时间al=00,成功al=ff,失败1,2,3,62. 程序流程图若为“q”程序退出,结束在屏幕上实时显示日期或时间调用时间数值转换子程序调用日期数值转换子程序利用bios中时间参数的调用方法取时间利用bios中时间参数的调用方法取日期若为“t”调用显示时间子程序若为“d”调用显示日期子程序从键盘输入一个字符设置显示方式和显示提示信息开始 图2.1 程序流程图3. 程序设计stack segment stack dw 200 dup (?)stack endsdata segment

5、 time_style db 8 dup (:),12 dup ( ) date_style db 18 dup ( ) str db please select date(d) or time(t) or quit(q): $data endscode segment assume cs:code,ds:data,es:data,ss:stackstart: mov ax,0001h ;设置显示方式为40*25彩色文本方式 int 10h mov ax,data mov ds,ax mov es,ax mov cx,0 mov ax,1300h int 10h mov dx,offset s

6、tr ;显示提示信息 mov ah,9 int 21h mov ah,1 ;从键盘输入单个字符 int 21h cmp al,44h ;al=d? jne a call date ;显示系统日期a: cmp al,54h ;al=t? jne b call time ;显示系统时间 b: cmp al,51h ;al=q? jne start mov ah,4ch ;返回dos状态 int 21hdate proc near ;显示日期子程序display: mov ah,2ah ;取日期 int 21h mov si,0 mov ax,cx mov bx,100 div bl mov bl,

7、ah call bcdasc1 ;日期数值转换成相应的ascii码字符 mov al,bl call bcdasc1 inc si mov al,dh call bcdasc1 inc si mov al,dl call bcdasc1 mov bp,offset date_style mov dx,0c0dh mov cx,18 mov bx,0007h mov ax,1301h int 10h mov ah,02h ;设置光标位置 mov dx,0300h mov bh,0 int 10h mov bx,0018h rep: dec bx jnz rep mov ah,01h ;读键盘缓冲

8、区字符到al寄存器 int 16h je display jmp start mov ax,4c00h int 21h retdate endptime proc near ;显示时间子程序display1: mov si,0 mov bx,100 div bl mov ah,2ch ;取时间 int 21h mov al,ch call bcdasc ;将时间数值转换成ascii码字符 inc si mov al,cl call bcdasc inc si mov al,dh call bcdasc mov bp,offset time_style mov dx,0c0dh mov cx,1

9、8 mov bx,007h mov ax,1301h int 10h mov ah,02h mov dx,0300h mov bh,0 int 10h mov bx,0018hre: mov cx,0ffffhrea: loop rea dec bx jnz re mov ah,01h int 16h je display1 jmp start mov ax,4c00h int 21h rettime endpbcdasc proc near ;时间数值转换成ascii码字符子程序 push bx cbw mov bl,10 div bl add al,0 mov time_stylesi,a

10、l inc si add ah,0 mov time_stylesi,ah inc si pop bx retbcdasc endpbcdasc1 proc near ;日期数值转换成ascii码字符子程序 push bx cbw mov bl,10 div bl add al,0 mov date_stylesi,al inc si add ah,0 mov date_stylesi,ah inc si pop bx retbcdasc1 endpcode ends end start4. 运行结果和分析将程序编译成功后运行,从键盘输入字母“d”,运行结果如图4.1所示:图4.1 显示系统日

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

12、。这里可以将两个功能分别编写为一个子程序,分别实现相对应的功能,然后通过判断功能的选择来实现对应子程序的调用。首先跟据设计思路,画出程序流程图,再用汇编语言实现单个流程,通过再次的翻阅课本及相关功能的实现程序,写出对应的汇编程序,然后通过条件控制语句将各个模块连接在一起,从而得到整个程序,完成程序设计。接下来就是运行以及修改调试。程序的主要问题在于如何利用bios中时间参数的调用方法实现功能,以及相关参数在作为字符显示时的数值转换,解决了这两个问题,程序的主要功能已达到要求,再加以完善和补充即可。在程序编译过程中也出现了些小问题,如漏掉“,” ,指令键入错误等,但经过检查和修改,终于编译成功了!通过这次微机原理的课程设计,我从中不仅学到了系统时间显示程序的设计原理和基本思路,深入了解了汇编语言中bios时间参数的调用,而且也加深了对理论的认识,进一步理解了汇编语言的指令功能和用法,了解了如何通过程序去实现功能,通过功能测试如何发现问题并通过修改程序而解决问题,更学会了如何通过各种途径收集资料,从中获取需要的信息,并为我所用,成为自己的能力,这对于今后的学习还是工作都有着积极的影响。参考文献1 姚燕南,薛钧义.微型计算机原理与接口技术.北京:高等教育出版,2004.11.2 艾德才.微型计算机原理与接口技术.北京:清华大学出版社,2005.9.3 沈美明.

温馨提示

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

评论

0/150

提交评论