实时日历时钟显示系统的设计Word下载.docx
- 文档编号:4688471
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:13
- 大小:191.37KB
实时日历时钟显示系统的设计Word下载.docx
《实时日历时钟显示系统的设计Word下载.docx》由会员分享,可在线阅读,更多相关《实时日历时钟显示系统的设计Word下载.docx(13页珍藏版)》请在冰点文库上搜索。
指导地点:
任务下达
任务完成
考核方式
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
**************************程序结束
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实时 日历 时钟 显示 系统 设计