8-电子时钟的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计
题目电子时钟的设计与实现学院自动化学院
专业电气工程及其自动化班级
姓名
指导教师
2014 年 1 月9 日
课程设计任务书
学生姓名:专业班级:
指导教师:工作单位:自动化学院
题目:电子时钟的设计与实现
初始条件:
掌握8086汇编语言程序设计方法,设计一个电子时钟,实现分、秒、时的显示与刷新功能。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
1. 定义显示界面。
2. 调用系统时间,并将调用的用二进制表示的时间数转换成ASCII码,并将时间数存入内存区。
3. 将存在系统内存区的时间数用数字式或指针式钟表的形式显示出来。
4. 获取键盘的按键值,判断键值并退出系统。
5. 撰写课程设计说明书。内容包括:摘要、目录、正文、参考文献、附录(程序清单)。正文部分包括:设计任务及要求、方案比较及论证、软件设计说明(软件思想,流程,源程序设计及说明等)、程序调试说明和结果分析、课程设计收获及心得体会。
时间安排:
12月26日----- 12月28日查阅资料及方案设计
12月29日----- 1月2日编程
1月3日----- 1月7日调试程序
1月8日----- 1月9日撰写课程设计报告
指导教师签名:年月日
系主任(或责任教师)签名:年月日
目录
摘要 (1)
1 设计任务及要求 (2)
1.1 设计题目 (2)
1.2 设计要求 (2)
1.3 设计过程 (2)
1.4 设计目的 (2)
2 设计方案论述 (3)
2.1 设计方案概括 (3)
2.2 设计方案具体说明 (3)
2.2 设计思路介绍 (3)
3 软件设计说明 (5)
3.1. 理论知识介绍 (5)
3.1.1 DOS中断与BIOS中断的功能及调用 (5)
3.1.2 子程序的设计 (7)
3.1.3 中断概述 (7)
3.2 设计流程 (8)
3.2.1 主流程图及说明 (9)
3.2.2.显示系统时间子流程图及说明 (9)
3.3. 程序设计 (10)
3.3.1 清屏程序 (10)
3.3.2. 光标定位程序 (10)
3.3.3 多字符显示程序 (11)
3.3.4 读取键盘状态程序 (12)
3.3.5 读取键盘值程序 (12)
3.3.6 调用系统时间显示程序 (12)
3.3.7 将二进制数转换为ASCII码程序 (13)
3.4 软硬件环境要求 (14)
4 调试结果及分析 (15)
5 收获与体会 (17)
参考文献 (18)
附录:设计源程序 (19)
本科生课程设计成绩评定表 (25)
摘要
本程序用计算机最基本的语言---汇编语言,实现电子时钟系统。程序通过调用DOS 中断,得到系统当前时间,并将其二进制转换成ASCII码,再调用DOS字符串显示功能将时间显示在显示器上,通过调用屏幕的I/O中断,把程序设计成用刷新的方式来不断获取系统的时间,这样就有了会一秒一秒走动的电子时钟。为了使时间更加精确,在此过程需要用到延时程序,所以把延时程序单独做成一个子程序,然后在需要的时候调用它,使得时间的显示程序更加精炼,使时间显示更加准确。
关键词:8086汇编语言程序电子时钟DOS中断
1 设计任务及要求
1.1 设计题目
掌握8086汇编语言程序设计方法,设计一个电子时钟,实现分、秒、时的显示与刷新功能。
1.2 设计要求
小组内各位同学界面不能雷同,可以设计数字式时钟,也可以设计指针式时钟。本次设计成数字时钟。
1.3 设计过程
(1)定义显示界面。
(2)调用系统时间,并将调用的用二进制表示的时间数转换成ASCII码。将时间数存入内存区。
(3)将存在系统内存区的时间数用显示字符串的形式显示出来。
(4)获取键盘的按键值,判断键值并退出系统。
(5)撰写课程设计说明书。内容包括:目录、摘要、正文、参考文献、附录(程序清单)。正文部分包括:设计任务及要求、方案比较及论证、软件设计说明(软件思想,流程,源程序设计及说明等)、程序调试说明和结果分析、课程设计收获及心得体会。
1.4 设计目的
(1)理解掌握定时/计数器和中断的使用方法。
(2)掌握微机常用的输入输出方式及接口技术。
(3)掌握一定的汇编语言知识,培养自己的动手操作能力。
(4)学习程序设计的基本思路和方法。
(5)熟练掌握编程软件(如Masm)基本操作和调试程序的各种指令。
(6)培养学生理论与实践相结合以及实践创新的能力
2 设计方案论述
2.1 设计方案概括
根据此次课程设计的要求为电子时钟的设计与制作,通过8086汇编语言程序设计方法,设计一个电子时钟,实现分、秒、时的显示与刷新功能。
在此次电子时钟的设计中,主要功能是显示系统时间,通过DOS中断调用进行系统时间的提取,然后进行输出至屏幕。
2.2 设计方案具体说明
(1)用汇编语言编写程序,使其能实现在PC机上用电子时钟时、分、秒的格式显示时间的功能。
(2)调用DOS中断,得到系统当前时间,并将其二进制转换成ASCII码。
(3)能用键盘输入的方法修改电子时钟的时间。
(4)把程序设计成用刷新的方式来不断获取系统的时间,这样就有了会一秒一秒走动的电子时钟。
(5)获取键盘的按键值,以“Q”键退出系统返回DOS。
时间显示的重点分为三部分,第一部分是如何调用系统时间,此次电子时钟的设计通过AH=2CH;INT 21H的DOS中断调用进行系统时间的提取。提取的时间为二进制的存储模式,而系统的输出需要的是ASCII码,因而第二部分的重点为将二进制数转换成为ASCII码。第三部分即为将转换的时间的ASCII码输出至屏幕,调用AH=09H;INT 21H 中断,将存储的时间作为字符输出。
2.3 设计思路介绍
首先在数据段开辟一显示缓冲区,用来存储系统时间。调用DOS中断,返回系统时间,并将来返回的二进制时间转换成ASCII码,方便时间显示时的调用。分别将来小时数、分钟数、秒数存入显示缓冲区,并最终存入一结束字符号’$’。调用DOS字符串显示功能