实时日历时钟显示系统的设计Word下载.docx

上传人:b****1 文档编号:4688471 上传时间:2023-05-03 格式:DOCX 页数:13 大小:191.37KB
下载 相关 举报
实时日历时钟显示系统的设计Word下载.docx_第1页
第1页 / 共13页
实时日历时钟显示系统的设计Word下载.docx_第2页
第2页 / 共13页
实时日历时钟显示系统的设计Word下载.docx_第3页
第3页 / 共13页
实时日历时钟显示系统的设计Word下载.docx_第4页
第4页 / 共13页
实时日历时钟显示系统的设计Word下载.docx_第5页
第5页 / 共13页
实时日历时钟显示系统的设计Word下载.docx_第6页
第6页 / 共13页
实时日历时钟显示系统的设计Word下载.docx_第7页
第7页 / 共13页
实时日历时钟显示系统的设计Word下载.docx_第8页
第8页 / 共13页
实时日历时钟显示系统的设计Word下载.docx_第9页
第9页 / 共13页
实时日历时钟显示系统的设计Word下载.docx_第10页
第10页 / 共13页
实时日历时钟显示系统的设计Word下载.docx_第11页
第11页 / 共13页
实时日历时钟显示系统的设计Word下载.docx_第12页
第12页 / 共13页
实时日历时钟显示系统的设计Word下载.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

实时日历时钟显示系统的设计Word下载.docx

《实时日历时钟显示系统的设计Word下载.docx》由会员分享,可在线阅读,更多相关《实时日历时钟显示系统的设计Word下载.docx(13页珍藏版)》请在冰点文库上搜索。

实时日历时钟显示系统的设计Word下载.docx

指导地点:

任务下达

任务完成

考核方式

1.评阅√ 2.答辩√3.实际操作□4.其它□

指导教师

系(部)主任

注:

1、此表一组一表二份,课程设计小组组长一份;

任课教师授课时自带一份备查。

2、课程设计结束后与“课程设计小结”、“学生成绩单”一并交院教务存档。

摘要

此次微机原理课程设计要求设计一个实时日历时钟显示系统。

本程序利用DOS中断2AH号功能调用取系统年月日,再逐个显示各数据,利用2CH号功能调用取系统时间,逐个显示各数据。

用“时:

秒”(都是两位)的形式连续显示系统时间,并利用计算机提供的软件调试工具对所编写程序进行调试,记录下整个调试分析的过程与运行结果。

 

任务安排:

主程序:

xx:

主体程序和流程设计

xx:

日历调用显示系统

时间调用显示系统

子程序:

xx:

显示两位数字的子程序

目录

一、课程名称2

二、课程内容及要求2

三、小组组成2

四、设计思路3

五、程序流程图及介绍4

六、调试5

七、总结7

八、参考资料9

附录9

一、

课程名称:

二、课程内容及要求

课程内容:

三、小组组成:

成员:

xx,

xx

主程序:

日历系统

时间系统

子程序:

4、

设计思想

汇编语言程序设计要求综合以前所学知识,根据设计具体要求分析问题,将问题分解成一个一个的步骤,每步用汇编语言中的指令性语句,按先后顺序表达,设计一个不仅要满足要求,能正常运行,实现指定功能的程序;

还应满足结构化、简明、易读、易调试、易维护、执行速度快、占用存储空间尽量少的好程序。

(1)日历的显示:

本程序主要使用DOS功能2AH号调用取系统日期(年、月、日)送屏幕显示。

出口参数:

CX=年,DH=月,DL=日。

再通过子程序显示。

(2)时钟显示:

本程序主要使用DOS功能2CH号调用取系统时间(时、分、秒、百分秒)送屏幕显示。

CH=小时,CL=分钟,DH=秒,DL=百分秒。

(3)连续显示:

加入一个循环,使程序不停刷新显示时间的变化,

(4)子程序的说明,子程序的入口为:

AL,输出一个两位数

五、程序流程图及软件介绍

1、下面是程序的流程图。

2、程序利用2AH号功能调用取系统年月日,CX=年,DH=月,DL=日,然后把这些数据保存起来,再调用子程序,逐个显示各数据;

然后利用2CH号功能调用取系统时间,CH=小时,CL=分钟,DH=秒,保存号各个数据,之后调用子程序,逐个显示各数据。

3、本程序是一个无限循环程序,显示完了时间后,又开始重新从系统取时间进行显示。

6、

调试

1)进入masm程序的安装目录,汇编源文件

2)连接程序,并查看可生成执行文件A.exe

3)关闭对话框,打开可执行问件A.exe,显示时间。

七、总结

由于是第一次做课程设计,程序调试了好几次才成功,过程虽然辛苦,但完成课设后还是很有成就感的。

课设是一个把理论和实践相结合的过程,通过这次的课程设计,我学会了很多。

对于平时上课的知识,以前总以为自己学的很多,其实不是的。

上课所学的汇编知识,都只是一些基础,到真的要用汇编语言做点东西的时候,才发现很多知识不懂、不知道、要查阅很多的资料文献才能做成一个课程设计。

经过一周的课程设计,我觉得自己对于这门课程有了很大的了解和认识。

我们本次的课题是设计一个实时日历时钟显示系统,要求用“时:

秒”的形式连续显示系统时间,并利用计算机提供的软件调试工具对所编写程序进行调试,记录下整个调试分析的过程与运行结果。

此次设计中,我们首先是调用系统的日期和时间,然后把这些数据显示出来,为了让这个时间能够连续显示,要再采用一个循环,不断地取系统日期和时间,进行刷新操作,以保证日期和时间能够实时更新和显示。

在设计的过程中,首先为了避免寄存器冲突的问题,在设计子程序时,应把所有用到的寄存器都入栈保存。

而且可以把寄存器当作变量来看待,有时候它存储的是数据变量(如把BP当作字符个数的记数器),而有时候它存储的是地址变量(如DI、SI);

内存中的数据,按它们的结构关系,则可以把它们看待成数组,我们对数组,可以通过首地址来访问它们。

传递参数和结果的,一般可以用寄存器,也可以用一段内存空间来传递,特别是需要传递的数据较多的时候。

在设计子程序时,往往涉及到许多的循环,这时候就要注意把不该循环的变量要放在循环体外。

通过这次课程设计,我巩固所了学过的知识,能用汇编语言熟练地运用顺序、选择、循环三大结构,进一步掌握了各个指令的功能,特别是转向指令,掌握了子程序的定义及调用,以及正确地运用DEBUG指令。

在整个程序的编写中,调试占了很大部分的时间。

要想写好汇编语言的程序,必须认真对待代码的每一个细节,还必须熟练的掌握debug命令,这对程序的调试是非常重要的。

总而言之,这次课程设计让我收获很大!

八、参考文献

1、郑初华.汇编语言、微机原理及接口技术(第3版).北京:

电子工业出版社.2010.

2、周明德.微机原理与接口技术实验指导与习题集.北京:

人民邮电出版社.2002

3、丁新民.微机原理及基应用.北京:

高等教育出版社.1996

4、刘乐善.微型计算机接口及应用.武汉:

华中科技大学出版社.2000

5、朱定华.微机原理、汇编与接口技术学习指导.北京:

清华大学出版社.2006

6、荆淑霞.微机原理与汇编语言程序设计.北京:

水利水电出版社.2005

附录

完整程序源代码:

**************************程序开始

DATASEGMENT

MSG1DB0DH,0AH,"

THEDATAIS:

$"

定义提示文字

MSG2DB0DH,0AH,"

THETIMEIS:

SECDB0;

自定义参数

FSECDB0

MINDB0

HOURDB0

DAYDB0

MONDB0

YEARDB0

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

************************循环的起点

AGAIN:

MOVDH,0

MOVDL,0

MOVAH,02H;

设置光标的位置,DH=字符行号,;

DL=字符列号,BH=页号

MOVBH,0

INT10H

***********************年月日的显示

MOVDX,OFFSETMSG1;

显示提示“THEDATAIS:

MOVAH,09;

9号功能调用

INT21H

MOVAH,2AH;

取日期,CX=年,DH=月,DL=日

INT21H

MOVDAY,DL;

数据保存到自定义参数里

MOVMON,DH

MOVAX,CX;

对年份数据(例如2010)进行处理

MOVBX,100

DIVBL;

无符号数除,商送AL=20,余数送AH=10

CALLNUMBER;

子程序调用,显示年份的第一二个数字20

子程序NUMBER代码在最下面,子程序功

能是用来显示一个十进制两位数

MOVYEAR,AH;

余数送入YEAR

MOVAL,YEAR;

子程序入口参数设置AL=10

字程序调用,显示年份的第三四个数字10

MOVDL,'

/'

‘/’间隔

MOVAH,02

MOVAL,MON;

调用子程序,显示月

CALLNUMBER

MOVAL,DAY;

调用子程序,显示日

CALLNUMBER

*******************时间的显示

MOVDX,OFFSETMSG2;

显示提示“THETIMEIS:

MOVAH,09

INT21H

MOVAH,2CH;

取时间,CH=小时,

CL=分钟,DH=秒,DL=百分秒

MOVHOUR,CH;

参数保存

MOVMIN,CL

MOVSEC,DH

MOVFSEC,DL

MOVAL,HOUR;

调用子程序,显示小时

MOVDL,'

:

'

MOVAH,02

MOVAL,MIN;

调用子程序,显示分钟

MOVAL,SEC;

调用子程序,显示秒

*********************跳转到AGAIN

JMPAGAIN

MOVAH,4CH

*********************子程序,功能:

用来显示一个十进制两位数,入口参数为AL中的值

NUMBERPROCNEAR;

段内子程序

PUSHAX;

保护现场

PUSHDX

PUSHBX

XORAH,AH;

AH清0

AAM;

把AL分解为十位存于AH,个位存于AL

MOVDH,AL;

暂存个位

MOVDL,AH;

显示十位

ADDDL,30H

MOVDL,DH;

显示个位

POPBX;

恢复现场

POPDX

POPAX

RET

NUMBERENDP

CODEENDS

ENDSTART

**************************程序结束

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

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2