汇编语言实时时钟程序设计_第1页
汇编语言实时时钟程序设计_第2页
汇编语言实时时钟程序设计_第3页
汇编语言实时时钟程序设计_第4页
汇编语言实时时钟程序设计_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计说明书姓 名: 学 号: 院 系: 专 业: 题 目: 实时时钟程序设计 指导教师: 职称: 课程设计说明书院 系: 专 业: 姓 名: 学 号: 课程设计题目: 实时时钟程序设计 起 迄 日 期:课程设计地点: 指 导 教 师: 系 主 任: 课 程 设 计 任 务 书1设计目的:1)培养学生文献检索的能力,特别是如何利用Internet检索需要的文献资料。2)培养学生综合分析问题、发现问题和解决问题的能力。3)培养学生运用知识的能力和工程设计的能力。4)提高学生课程设计报告撰写水平。2设计内容和要求(包括原始数据、技术参数、条件、设计要求等):设计内容:设计一个根据所学汇编语言课程

2、的知识,熟练8086汇编语言的编程原理,和程序设计思想,编写一个实时时钟程序进一步提高综合运用知识的能力。设计要求:每隔一秒显示系统时钟;可以重复输入,有退出键功能。3设计工作任务及工作量的要求包括课程设计说明书、图纸、实物样品等:设计工作任务及工作量的要求:1)根据课程设计题目,收集和学习相关知识,确定编程方案; 2)用相关软件编写程序代码,实现基本要求;3)撰写课程设计报告可利用Visio或Word等软件画出相关的程序流程图,列出相应的程序源代码,说明设计过程中遇到的问题和解决问题的方法,附参考资料。课 程 设 计 任 务 书4主要参考文献:1 沈美明,温冬禅IBM PC汇编语言程序设计清

3、华大学出版社,第二版2 刘丽莉汇编语言程序设计北京大学出版社,20105设计成果形式及要求:1)撰写课程设计报告;2)程序流程图1份(可手画);3)程序清单1份。6工作计划及进度:系主任审查意见: 签字: 2012年6月17日目 录第一章 课题设计目的内容及要求21.1 目的. . . . . . . . . .21.2 内容21.3 要求2第二章 程序流程图设计22.1主流程图设计22.2子流程图设计3第三章 程序段落的说明431光标的设立和隐藏432调用系统的时间533判断是否有键盘的输入6第四章 程序调试说明、结果记录与分析741程序调试的过程742调试结果743分析结果8第五章 总结与

4、体会8参考文献8附 录91程序流程图92程序清单11第一章 课题设计目得内容及要求1.1 目得1)培养学生文献检索的能力,特别是如何利用Internet检索需要的文献资料。2)培养学生综合分析问题、发现问题和解决问题的能力。3)培养学生运用知识的能力和工程设计的能力。4)提高学生课程设计报告撰写水平。1.2 内容设计一个根据所学汇编语言课程的知识,熟练8086汇编语言的编程原理,和程序设计思想,编写一个实时时钟程序进一步提高综合运用知识的能力。1.3 要求每隔一秒显示系统时钟;可以重复输入,有退出键功能。第二章 程序流程图设计2.1主流程图设计由方案设计分析可知,此次设计比较简单,先初始化程序

5、,然后设立光标,在光标移动时,不断地取时,取分,取秒,并不断的循环。在循环的过程中,当按下ESC键时退出程序;当按下其它键时,程序继续运行,并显示时间界面,再按下ESC键时,程序又将退出。流程图设计:当初始化后,设定一个光标用来显示时间的时、分、秒,并将光标隐藏。流程图有两个分支,表示有两个判断,当时分秒取完后,判断是否在键盘上有输入,如果没有输入,则返回到光标定位,若有输入判断是否为ESC键的ASC码,如果是则退出程序,程序结束,过程比较明了,流程图分支不多,但功能能够很好的实现。流程图如1所示开 始结 束输入为ESC吗?显 示 秒 钟显 示 分 钟获取时间,显示时初 始 化设 立 光 标

6、图1 主程序设计流程图2.2子流程图设计可知,在时间的获取时,需要时、分、秒分别获取,显示时使用的是相应的ASCII码。加上分隔符“:”,共同组成完整时钟显示,我们对子程序做流程图,如图2所示。秒的获取,将储存的数值转换成相应的ASCII码显示在屏幕上分的获取,将分的数值转换成相应的ASCII码时的显示,将储存的数值转换成相应的ASCII码,显示在光标位置上系统时间调用:mov ah,02 int 1ah CX,DX进出栈使用实现时分秒的显示开 始结 束图2 子程序流程图第三章 程序段落的说明31 光标的设立和隐藏光标的不停移动,使时间能不停地显示时间的时分秒,并使其显示界面不消失,并随着系统

7、时间的变化而同步变化,隐藏光标使界面看起来更美观。程序如下: mov dh,0ah ;行数 mov dl,35 ;列数 mov bh,0 ;页数 mov ah,2 int 10h ;确定光标的位置,使其居在中间 mov cx,2000h mov ah,01h int 10h ;隐藏光标3.2调用系统的时间获取系统的时间,用程序将系统的时间调用,使显示的时间和系统的时间同步变化,其中时间的时分秒显示都是需要先转换成相应的ASCII码,再显示在屏幕上。获取系统时间:mov ah,02 int 1ah ;系统时间调用 push cx push dx ;现场保护 时的获取: xor dl,dl ;dl

8、清零 mov dl,ch ;cx高四位给dl mov cl,4 shr dl,cl ;最终dl中为ch的高四位 add dl,30h ;转换成ASCII码 mov ah,02h int 21h ;光标处显示时的第一位 mov dl,ch add dl,0fh add dl,30h ;转换成ASCII码 mov ah, 02 int 21h ;光标处显示时的第二位 mov dl,: mov ah,02 int 21h ;光标处显示“:”分的获取: pop dx pop cx ;出栈,恢复现场 push dx ;置光标位置 xor dl,dl mov dl,cl mov dh,cl mov cl,

9、4 shr dl,cl add dl,30h ;转化成相应的ASCII码 mov ah,02 int 21h ;光标处显示分的第一位 mov cl,dh and cl,0fh add cl,30h ;转化成相应的ASCII码 mov dl,cl mov ah,02 int 21h ;光标处显示分的第二位 mov dl,: mov ah,02 int 21h ;光标处显示“:”秒的获取: pop dx ;出栈,恢复现场 mov bl,dh mov cl,4 shr dh,cl add dh,30h ;转化成相应的ASCII码 mov dl,dh mov ah,02 int 21h ;光标处显示秒

10、的第一位 mov cl,bl and cl,0fh add cl,30h ;转化成相应的ASCII码 mov dl,cl mov ah,02 int 21h ;光标处显示秒的第二位 3.3 判断是否有键盘输入判断是否有输入,当有字符时判断是否为ESC,若是则退出程序,如果不是程序继续运行。程序段:a1: mov ah,0bh ;调用DOS 功能0BH 检测键盘是否有输入 int 21h cmp al,00h ;检测是否有输入 jne a2 ;有则跳到a2 jmp go ;没有则回到goa2: mov ah, 08h int 21h cmp al,1bh ;判断是否为ESC je exit ;是

11、则退出 jmp go ;不是则跳到goexit:mov ah,4ch int 21h ;退出程序第四章 程序调试说明、结果记录与分析41 程序调试的过程程序调试,是将编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误和逻辑错误的过程。这是保证计算机信息系统正确性的必不可少的步骤。编完计算机程序,得调试所写程序是否正确,是否能满足所要求的功能。写好程序后,对DOS系统界面调用功能指令不太熟悉,界面出来后时间显示在右上角,并且光标不能消失,最后经过查询,运用了10号中断,最后把光标隐藏了,并使时间显示在界面的中间位置。在判断是否在键盘上有输入时,开始不会用键盘扫描功能,没有调试

12、出来,经过向同学请教最后调用DOS功能0bh,并用08h来判断是否是ESC输入,最终实现了退出功能。4.2调试结果运行程序,时间显示界面,如图3所示:图3 进入后的运行界面单击其他键时的显示界面,如图4所示,与图3相同。单击ESC键时,界面消失,退出程序。 图4 单击其它键时的显示界面4.3分析结果可知运行程序后,能达到设计要求,即进入后能显示时间在屏幕的中央位置,单击ESC外的键时,程序继续,时间继续显示,单击ESC时,退出程序,程序设计成功。第五章 总结与体会参考文献1 沈美明,温冬禅IBM PC汇编语言程序设计清华大学出版社,第二版2 刘丽莉汇编语言程序设计北京大学出版社,2010开 始

13、结 束输入为ESC吗?显 示 秒 钟显 示 分 钟获取时间,显示时初 始 化设 立 光 标附录1 程序流程图 主程序设计流程图秒的获取,将储存的数值转换成相应的ASCII码显示在屏幕上分的获取,将分的数值转换成相应的ASCII码时的显示,将储存的数值转换成相应的ASCII码,显示在光标位置上系统时间调用:mov ah,02 int 1ah CX,DX进出栈使用实现时分秒的显示开 始开 始结 束子程序流程图2程序清单 datas segment datas endsstacks segment ;此处输入堆栈段代码stacks endscodes segment assume cs:codes,

14、ds:datas,ss:stacksstart: mov ax,datas mov ds,ax go: mov dh,0ah ;行数 mov dl,35 ;列数 mov bh,0 ;页数 mov ah,2 int 10h ;确定光标的位置,使其居在中间 mov cx,2000h mov ah,01h int 10h ;隐藏光标 xor dl,dl ;dl清零 mov dl,ch ;cx高四位给dl mov cl,4 shr dl,cl ;最终dl中为ch的高四位 add dl,30h ;转换成ASCII码 mov ah,02h int 21h ;光标处显示时的第一位 mov dl,ch add

15、 dl,0fh add dl,30h ;转换成ASCII码 mov ah, 02 int 21h ;光标处显示时的第二位 mov dl,: mov ah,02 int 21h ;光标处显示“:” pop dx pop cx ;出栈,恢复现场 push dx ;置光标位置 xor dl,dl mov dl,cl mov dh,cl mov cl,4 shr dl,cl add dl,30h ;转化成相应的ASCII码 mov ah,02 int 21h ;光标处显示分的第一位 mov cl,dh and cl,0fh add cl,30h ;转化成相应的ASCII码 mov dl,cl mov ah,02 int 21h ;光标处显示分的第二位 mov dl,: mov ah,02 int 21h ;光标处显示“:” pop dx ;出栈,恢复现场 mov bl,dh mov cl,4 shr dh,cl add dh,30h ;转化成相应的ASCII码 mov dl,dh mov ah,02 int 21h ;光标处显示秒的第一位 mov cl,bl and cl,0fh add cl,30h ;转化成相应的ASCII码 mov dl,cl mov ah,02 int 21h ;光标处显示秒的第二位 a1: mov ah,0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论