




免费预览已结束,剩余17页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉理工大学微机原理与接口技术课程设计说明书课程设计任务书学生姓名: 黎 健 专业班级: 电气0804 指导教师: 张 锐 工作单位: 自动化学院 题 目: 计算机时钟模拟显示软件设计 初始条件:1.用于调试程序的IBM兼容PC机一台;2.安装DOS/WIN98操作系统或运行于DOS/ WIN98兼容方式;3.EDIT 等文本编辑器输入80x86汇编程序,MASM 5.0编译及链接程序。要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1.使用汇编语言设计一个运行于计算机的时钟模拟显示软件,软件应实现模拟显示时钟,要求至少有一种动态时钟显示效果如七段码管形状显示或旋转指针式指示效果等。可以附加显示花边背景和日期信息。2.说明书撰写格式应符合课程设计说明书统一书写格式。时间安排:1.程序框图设计,3天2.编程,4天3.调试,3天4.编写设计报告,4天指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日摘要汇编语言是面向机器的程序设计语言。在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。这样用符号代替机器语言的二进制代码,就把机器语言变成了汇编语言。作为最基本的编程语言之一,汇编语言的重要性毋庸置疑,因为它能够完成许多其它语言所无法完成的功能。尤其在和硬件关系非常密切的程序或要提高运算速度的程序,即使是C语言也会有些力不从心,而汇编语言能够很好的扬长避短,最大限度地发挥硬件的性能。最重要的是微机原理和接口技术是一门实践性强的学科,不但要求有较高的理论水平,而且还要求有实际的动手能力,其中很多的原量、规则、现象等仅仅靠学习教科书是无法完全掌握的,必须通过实践才能比较直观和深刻的理解。本次课程设计我们组做的是计算机时钟模拟显示软件设计,要求和系统时钟一致。程序运行成功后,页面出现数字式的时钟,数字钟的钟面为一个规则的矩形。当从键盘上输入t时,其显示时间的格式是:时:分:秒,小时为24进制,分钟和秒都是60进制;当从键盘上输入d时,其显示时间的格式是:年月日。当从键盘上输入q时,退出显示,返回DOS系统。要获取系统日期和时间就必须采用DOS调用功能,调用系统日期和时间分别应用2AH和2CH号系统功能,将年月日和时间都以二进制存入各寄存器中,要想显示出来必须转换成ASCII码才行。关键字:汇编语言 时钟模拟 DOS系统目录1 设计思路41.1 设计任务及要求41.2 程序流程图52 软件设计62.1 背景格局设计62.2 文本方式设置62.3 获取系统日期和时间72.4 日期显示子程序72.5 时间显示子程序93 调试过程和运行结果及分析114.1 调试过程114.2 运行结果显示114.3 结果分析134 心得体会14参考文献15附录 源程序16本科生课程设计评定表22计算机时钟模拟显示软件设计1 设计思路1.1 设计任务及要求(1)使用汇编语言设计一个运行于计算机的时钟模拟显示软件,软件应实现模拟显示时钟,要求至少有一种动态时钟显示效果如七段码管形状显示或旋转指针式指示效果等。可以附加显示花边背景和日期信息。(2)说明书撰写格式应符合课程设计说明书统一书写格式。根据任务书的要求,可知需要设计的计算机时钟模拟显示程序是基于汇编语言的WINDOWS应用程序设计,程序运行成功后,页面出现数字式的时钟,数字钟的钟面为一个规则的矩形。当从键盘上输入t时,其显示时间的格式是:时:分:秒,小时为24进制,分钟和秒都是60进制;当从键盘上输入d时,其显示时间的格式是:年月日。此模拟时钟外观简洁,功能和实际运用到的时钟基本一样,用起来非常方便。1.2 程序流程图根据以上程序流程相应的说明,在程序编写前,我们应先画出程序流程图,这有助于我们理清思路,本程序的流程图如图1所示。开始背景格局初始化设置文本方式获取系统时间和日期键盘输入单个字符是d?退出显示显示时间显示日期NYN是t?是q?N结束YY图1计算机时钟模拟程序流程图2 软件设计2.1 背景格局设计如果数字式时钟不加一些背景加以修饰,就会显得单调,所以我们可以加花边或其它的一些东西加以修饰,使他看起来更加舒适和赏心悦目。对背景格局的初始化程序段如下:SPACE DB 2000 DUP ( )PATTERN DB 6 DUP ( ),0C9H,26 DUP (0CDH),0BBH,6 DUP ( ) DB 6 DUP (#),0BAH,26 DUP (20H),0BAH,6 DUP (#) DB 6 DUP ( ),0C8H,26 DUP (0CDH),0BCH,6 DUP ( ) BUFF1 DB 7 DUP (:),24 DUP ( ) BUFF2 DB 21 DUP ( ) STR DB 0DH,0AH, Please input date(d) or time(t) or quit(q):$ 2.2 文本方式设置文本显示方式原理如表1所示。表1 常用的几种显示方式AH调用参数AL显示方式00004025黑白文本方式00014025彩色文本方式00028025黑白文本方式00038025彩色文本方式0004320200彩色文本方式0005320200黑白文本方式0006640200黑白文本方式这里我们采用4025黑白文本方式,所以设置显示方式的程序段如下:MOV AX,0001H INT 10H2.3 获取系统日期和时间系统日期的调用程序段:MOV AH,2AH INT 21H系统时间的调用程序段:MOV AH,2CH INT 21H2.4日期显示子程序 日期显示子程序模块设计功能为实时调用系统日期并将其显示。系统日期调用应用2AH号系统功能,将年月日都以二进制存入各寄存器中,要想显示出来必须转换成ASCII码才行。具体程序如下:DATE PROC NEAR DISPLAY: MOV AH,2AH ;取日期 INT 21H MOV SI,0 MOV AX,CX MOV BX,100 DIV BL MOV BL,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 BUFF2 MOV DX,0C0DH MOV CX,20 MOV BX,002EH MOV AX,1301H INT 10H MOV AH,02H ;设置光标位置 MOV DX,0F2BH MOV BH,0 INT 10H MOV BX,0018H BB1: MOV CX,0FFFFH ;延时 BB2: LOOP BB2 DEC BX JNZ BB1 MOV AH,01H ;读键盘缓冲区字符到AL寄存器 INT 16H JE DISPLAY JMP START MOV AX,4C00H INT 21H RETDATE ENDP2.5 时间显示子程序时间显示子程序模块设计与日期显示子程序类似,系统时间调用应用2CH号系统功能。具体程序如下:TIME 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 BUFF1 MOV DX,0C0DH MOV CX,20 MOV BX,002EH MOV AX,1301H INT 10H MOV AH,02H MOV DX,0F2BH MOV BH,0 INT 10H MOV BX,0018H DD1: MOV CX,0FFFFH DD2: LOOP DD2 DEC BX JNZ DD1 MOV AH,01H INT 16H JE DISPLAY1 JMP START MOV AX,4C00H INT 21H RET TIME ENDP3 调试过程和运行结果及分析3.1 调试过程(1)编写源文件,命名为shizhonglijian.asm,并保存于默认文件夹中。(2)打开文件shizhonglijian.asm,编译使之生成目标文件,检查源程序中的错误,并改正,直到编译无错误出现为止。(3)点击菜单栏中运行里的连接,再点击运行,输入相应的字符就会显示相应的结果。3.2 运行结果显示(1)当从键盘输入d时,其显示结果如图2所示。图2 输入d时的界面显示图(2)当从键盘输入t时,其显示结果如图3所示。图3 输入t时的界面显示图(3)当从键盘输入q时,其显示结果如图4所示。图4 输入q时的界面显示图3.3 结果分析经验证,当从键盘上输入d时,电子钟显示日期,且与计算机系统保持一致;当从键盘上输入t时,电子钟显示时间,也与计算机系统同步;当从键盘上输入q时,退出显示,返回DOS系统。综上所述,本次课程设计基本达到设计任务书要求。4 心得体会经过以上步骤,课程设计所要求设计的计算机时钟模拟显示设计软件便成功完成了,它能显示数字式的时钟,并且与计算机系统时间保持一致。整个页面简洁清晰,方便用户读取,且操作简捷,符合课程设计中的各项要求。通过这次课程设计,我们对日常生活中司空见惯的时钟的工作原理有了一个比较深入的了解,将书本中的知识更好地与实际生活中的应用结合在了一起。在这次微机原理的课程设计中,我们在汇编语言环境下,编写Windows应用程序。汇编语言定义了一个标准的应用程序框架,为我们提供了大量可用代码,隐藏了程序设计中的许多复杂工作,在程序编写和调试过程中,掌握了程序调试方法,大大提高了编程能力和动手能力。在程序的调试过程之中,可以说是困难重重,特别是对数字式时钟背景的绘制,还要考虑数字式的时钟与计算机系统时间保持一致。在不断的改正错误和调试的过程之中,所要求设计的计算机时钟模拟显示总算是运行成功。到此为止,我们接近两周的课程设计也告一段落。通过这次课程设计,使我认识到理论与实际相结合的重要性,对课本上的只是在实际生活中的运用也有了进一步的了解,同时基本上能够掌握汇编语言编程中的对话框编程的步骤,可以说是从中受益匪浅。参考文献1 周佩玲,彭虎傅,忠谦.微机原理与接口技术.电子工业出版社.2007 2 朱金均,麻新旗.微机原理及应用技术(第二版).机械工业出版社.20053 王爽.汇编语言.第2版. 北京.清华大学出版社.20084 沈美明,温冬婵.IBM-PC汇编语言程序设计.清华大学出版社.19935 丁辉.汇编语言程序设计.第3版.电子工业出版社.2009附录 源程序 STACK SEGMENT STACK DW 200 DUP (?) STACK ENDS DATA SEGMENT SPACE DB 2000 DUP ( ) PATTERN DB 6 DUP ( ),0C9H,26 DUP (0CDH),0BBH,6 DUP ( ) DB 6 DUP (#),0BAH,26 DUP (20H),0BAH,6 DUP (#) DB 6 DUP ( ),0C8H,26 DUP (0CDH),0BCH,6 DUP ( ) BUFF1 DB 7 DUP (:),24 DUP ( ) BUFF2 DB 21 DUP ( ) STR DB 0DH,0AH, Please input date(d) or time(t) or quit(q):$ DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK START: MOV AX,0001H ;设置显示方式为40*25彩色文本方式 INT 10H MOV AX,DATA MOV DS,AX MOV ES,AX MOV BP,OFFSET SPACE MOV DX,0D00H MOV CX,2000 MOV BX,0021H MOV AX,1301H INT 10H MOV BP,OFFSET PATTERN ;显示矩形条 MOV DX,0B00H MOV CX,120 MOV BX,002EH MOV AX,1301H INT 10H LEA DX,STR ;显示提示信息 MOV AH,9 INT 21H MOV AH,1 ;从键盘输入单个字符 INT 21H CMP AL,64H ;AL=d? JNE AA1 CALL DATE ;显示系统日期 AA1: CMP AL,74H ;AL=t? JNE AA2 CALL TIME ;显示系统时间 AA2: CMP AL,71H ;AL=q? JNE START MOV AH,4CH ;返回dos状态 INT 21H DATE PROC NEAR ;显示日期子程序 DISPLAY: MOV AH,2AH ;取日期 INT 21H MOV SI,0 MOV AX,CX MOV BX,100 DIV BL MOV BL,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 BUFF2 MOV DX,0C0DH MOV CX,20 MOV BX,002EH MOV AX,1301H INT 10H MOV AH,02H ;设置光标位置 MOV DX,0F2BH MOV BH,0 INT 10H MOV BX,0018H BB1: MOV CX,0FFFFH ;延时 BB2: LOOP BB2 DEC BX JNZ BB1 MOV AH,01H ;读键盘缓冲区字符到AL寄存器 INT 16H JE DISPLAY JMP START MOV AX,4C00H INT 21H RET DATE ENDP TIME 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 BUFF1 MOV DX,0C0DH MOV CX,20 MOV BX,002EH MOV AX,1301H INT 10H MOV AH,02H MOV DX,0F2BH MOV BH,0 INT 10H
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 录入技术测试题及答案大全
- 辅警思想政治课件
- 建设银行2025六安市秋招无领导模拟题角色攻略
- 2025年3D打印技术的快速制造技术
- 农业银行2025鸡西市秋招结构化面试经典题及参考答案
- 交通银行2025海西蒙古族藏族自治州秋招无领导小组面试案例题库
- 工商银行2025泰安市秋招结构化面试经典题及参考答案
- 工商银行2025邵阳市秋招群面模拟题及高分话术
- 邮储银行2025怀化市笔试英文行测高频题含答案
- 农业银行2025秋招笔试热点题型专练及答案湖南地区
- 初级医学影像技术师考试试卷及答案2025年
- 2025版财产保全申请书范本(适用于金融资产)
- 鼾症的治疗与护理
- 超声科规培生入科教育大纲
- 脑疝的观察与护理
- 腹腔热灌注护理课件
- 宣传思想文化试题及答案
- 消防装备维护保养课件
- 乡村调解员课件
- 2025初中语文新教材培训
- 体重管理宣教课件
评论
0/150
提交评论