微机万年历_精品文档.docx
- 文档编号:1201099
- 上传时间:2022-10-18
- 格式:DOCX
- 页数:26
- 大小:193.91KB
微机万年历_精品文档.docx
《微机万年历_精品文档.docx》由会员分享,可在线阅读,更多相关《微机万年历_精品文档.docx(26页珍藏版)》请在冰豆网上搜索。
课程设计任务书
学生姓名:
专业班级:
指导教师:
工作单位:
题目:
电子日历
任务内容:
1.显示位置:
屏幕中央
2.可显示是否闰年
3.日期显示格式"年:
月:
日"
在显示屏上显示提示语“CURRENTDATEIS:
”和当前日期。
然后再判断是否闰年。
要求完成的主要任务:
设计方案的选择与确定:
根据题目要求,参考相关文献资料,选择合适的软硬件设计方案。
图纸绘制:
确定硬件方案,完成完整硬件系统连线图的绘制。
程序编制:
确定软件方案,绘制系统软件流程图,完成汇编程序的编制。
说明书撰写:
完成课程设计说明书的撰写,字数不少于3000字。
时间安排:
资料检索与收集2天
系统方案设计与确定1天
系统设计与程序编写3天
说明书撰写3天
答辩1天
指导教师签名:
年月日
系主任(或责任教师)签名:
年月日
目录
电子日历 1
1设计任务及要求 1
1.1.设计题目 1
1.2.设计要求 1
1.3.设计目的 1
2设计方案论述 1
2.1.设计方案概括 1
2.2.设计方案具体说明 1
3软件设计说明 2
3.1.理论知识介绍 2
3.2.设计思路介绍 5
3.3.设计流程 5
3.4.程序设计说明 8
4,调试结果及分析 13
4.1程序运行的结果 13
4.2结果分析 14
5收获与体会 15
参考文献 16
附录:
设计源程序 17
摘要
汇编语言属于低级语言,尽管其可读性低,但因其执行效率高,仍然被不少开发和所使用,本课程设计是基于汇编语言的电子万年历的制作,通过调用系统INT一系列的中断服务,来达到调用系统时间的目的,同时对当年的年份进行是否是闰年的判断,并将判断结果显示在界面上。
同时本设计为了增加界面的人性化,增加了画边框、日期用黄颜色突出显示,并且能够通过键盘上的按键关闭程序窗口的效果。
关键字:
汇编语言程序设计,电子日历,微机原理,课程设计
武汉理工大学《微机原理与接口技术》课程设计说明书
电子日历
1设计任务及要求
1.1.设计题目
掌握8086汇编语言程序设计方法,设计一个电子日历。
1.2.设计要求
1.显示位置:
屏幕中央
2.可显示是否闰年
3.日期显示格式"年:
月:
日"
在显示屏上显示提示语“CURRENTDATEIS:
”和当前日期。
然后再判断是否闰年。
1.3.设计目的
a)掌握8086CPU微机系统的存储子系统设计
b)掌握8086CPU微机系统的中断控制子系统的设计
c)掌握8086CPU微机系统初始化汇编编程和具体项目功能的软件汇编语言代码编写
d)培养学生理论与实践相结合以及实践创新的能力。
2设计方案论述
2.1.设计方案概括
根据此次课程设计的要求为电子时钟的设计与制作,通过8086汇编语言程序设计方法,设计一个电子日历,实现显示日期及判断闰年功能。
在此要求的基础上为体现出创新性,特加入与电子日历相关的附加功能。
在此次电子时钟的设计中,主要功能是显示系统时间,通过DOS中断调用进行系统时间的提取,然后进行输出至屏幕。
同时要求整个界面看起来人性化,美观,并且能通过键盘按键退出系统。
2.2.设计方案具体说明
日期显示的重点分为三部分,第一部分是如何调用系统日期,此次电子日历的设计通过AH=2AH;INT21H的DOS中断调用进行系统日期的提取。
提取的日期为二进制的存储模式,而系统的输出需要的是ASCII码,因而第二部分的重点为将二进制数转换成为ASCII码。
第三部分即为将转换的日期的ASCII码输出至屏幕,调用AH=09H;INT21H中断,将存储的日期作为字符输出。
3软件设计说明
3.1.理论知识介绍
3.1.1.DOS中断与BIOS中断的功能及调用
a)DOS中断类型如下:
20
程序终止
27
结束并驻留内存
21
功能调用
28
键盘忙循环
22
终止地址
29
快速写字符
23
Ctrl_C中断向量
2A
网络接口
24
严重错误向量
2E
执行命令
25
绝对磁盘读
2F
多路转接接口
26
绝对磁盘写
30-3F
保留给DOS
b)BIOS中断类型如下:
10
显示器I/O
16
键盘I/O
11
取设备信息
17
打印机I/O
12
取内存容量
18
ROMBASIC
13
磁盘I/O
19
引导装入程序
14
RS-232串行口I/O
1A
时钟
15
磁带I/O
40
软盘BIOS
DOS功能与BIOS功能都通过软件中断调用。
在中断调用前需要把功能号装入AH寄存器,把子功能号装入AL寄存器,除此而外,通常还需在CPU寄存器中提供专门的调用参数。
一般地说,调用DOS或BIOS功能时,有以下几个基本步骤:
a)将调用参数装入指定的寄存器中;
b)如需功能号,把它装入AH;
c)如需子功能号,把它装入AL;
d)按中断号调用DOS或BIOS中断;
e)检查返回参数是否正确。
本例中需要的BIOS中断如下:
INT
AH
功能
入口参数
出口参数
10
09H
表示在当前的光标处按指令属性显示字符
AH=09H
AL=字符
BH=显示页码
BL=属性
CX=重复输出字符的次数
无
10
02H
用文本坐标下设置光标位置
AH=02H
BH=显示页码
DH=行(Y坐标)
DL=列(X坐标)
无
21
01H
从键盘输入一个字符
无
AL=ASCII
21
02H
在屏幕上显示一个字符
DL=ASCII
无
16
01H
读取键盘状态,即读入输入字符
AH=01H—检查普通键盘
ZF=1——无字符输入,否则,AH=键盘的扫描码,AL=按键的ASCII码(字符键)或者0(其他键)
16
00H
从键盘读入字符
AH=00H—强制读普通键盘
AH=键盘的扫描码
AL=按键的ASCII码(字符键)或者0(其他键)
10
08H
读光标处的字符及其属性
AH=08H
BH=显示页码
AH=属性
AL=字符
21
06H
1号2号功能的组合
DL=0FFH时为1号功能;DL寄存器放入字符的ASCII值时就是2号功能
无或AL=ASCII
1A
02H
读取时间
AH=02H
CH=BCD码格式的小时;CL=BCD码格式的分钟;DH=BCD码格式的秒;DL=00H——标准时间,否则,夏令时;CF=0——时钟在走,否则,时钟停止
3.1.2.子程序的设计
子程序又称为过程,它相当于高级语言中的过程和函数。
在一个程序的不同部分,往往要用到类似的程序段,这些程序段的功能和结构形式都相同,只是某些变量的赋值不同,此时就可以把这些程序段写成子程序形式,以便需要时可以调用它。
过程定义伪操作用在过程(子程序)的前后,使整个过程形成清晰的、具有特定功能的代码块。
其格式为:
procedurenamePROCAttribute
…
procedurenameENDP
当前程序的正常执行,转去执行请求事件的处理工作,CPU在事件处理结束后又继续原来的程序,这个过程称作中断。
中断程序的入口地址称作中断向量。
8086中断系统最多可以支持256个中断源,系统将这些中断向量按照中断类型码的顺序依次存放在内存RAM的最低地址区的1024个内存单元中,这就构成了中断向量表。
中断向量表的逻辑地址范围为0000H:
0000H-0000H:
03FF。
另外,中断向量在中断向量表中的位置就是中断向量地址,它与中断类型码之间的关系可以表示如下:
中断向量地址=0000H:
中断类型码*4
CPU在响应中断后,根据中断源提供的中断类型码,首先计算出中断向量地址,然后根据中断向量地址在表中查找到相应的中断服务程序的入口地址。
本例中即利用了键盘中断来实现相应的功能。
3.2.设计思路介绍
首先在数据段开辟一显示缓冲区,用来存储系统日期。
调用DOS中断,返回系统日期,并将来返回的二进制时间转换成ASCII码,方便日期显示时的调用。
分别将日期的每一位存入显示缓冲区,并最终存入一结束字符号’$’。
调用DOS字符串显示功能将时间显示出来。
并调用屏幕I/O中断,定位光标的开始位置,结合着将时间显示在我们预先定义好的位置上。
由于获取了的系统时间不会自动刷新,所以我们要设计成刷新的方式来不断获取系统的时间。
时间显示的刷新要配合延时程序进行,为了得到良好的显示效果,延时程序要尽量接近1秒,但又不能超过一秒,所以本程序调用了一段较精确的时间延迟程序,屏幕显示延迟一段时间后再提取系统时间,然后显示,由此循环下去。
程序的最后还设计一了个按“Q”键就退出的功能。
所有的按键都采取了判断键值ASCII码确定输入字符的方法确定按键值。
为了显示的美观,还设计一个字符图界面,通过显示字符串的方法显示出来。
3.3.设计流程
在此次的设计中根据设想功能的实现,在主流程下,共有三个分支功能,故其流程图为一个主流程图,三个附加功能的子流程图。
3.3.1.主流程图及说明
在主流程图中可以了解到,进入程序后首先清屏,设置屏幕的显示,使得界面整体布局安排以及功能的提示信息出现在屏幕上。
然后调用系统时间,将时间显示到设定好的位置上。
接着是进行键盘状态的读取,判断有无按键按下,如果没有,重新调用系统时间并显示,如果有按键按下,判断按键字符,若为“D”,执行读取日期子程序;若为“W”,执行整点报时子程序;若为“H”,执行计时器子程序;若为“Q”,则退出程序;如果均不为上述字符,则返回调用系统时间并显示输出,重复上述过程。
同时三个子程序执行完毕后也会重新返回调用系统时间并显示输出,开始新一轮的循环。
主程序流程图如下图所示:
否
是
结束
判断按键是否为Q
是
否
是
设置屏幕显示
调用系统日期
输出至屏幕显示
读取按键字符
判断是否有键盘按键输入
开始
图3.1主程序流程图
3.3.2.显示日期子流程图及说明
开始
提取系统日期
将年份数转为ASCII码并存入DATEDIS中
将日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 万年历 精品 文档