《汇编语言实时时钟程序设计》由会员分享,可在线阅读,更多相关《汇编语言实时时钟程序设计(17页珍藏版)》请在金锄头文库上搜索。
1、课程设计说明书课程设计说明书姓姓 名:名: 学学 号:号: 院院 系:系: 专专 业:业: 题题 目:目: 实时时钟程序设计 指导教师:指导教师: 职称职称: : 课程设计说明书课程设计说明书院 系: 专 业: 姓 名: 学 号: 课程设计题目: 实时时钟程序设计 起 迄 日 期:课程设计地点: 指 导 教 师: 系 主 任: 课课 程程 设设 计计 任任 务务 书书1设计目的:1 1)培养学生文献检索的能力,特别是如何利用 Internet 检索需要的文献资料。2 2)培养学生综合分析问题、发现问题和解决问题的能力。3 3)培养学生运用知识的能力和工程设计的能力。4 4)提高学生课程设计报告
2、撰写水平。2设计内容和要求(包括原始数据、技术参数、条件、设计要求等):设计内容:设计一个根据所学汇编语言课程的知识,熟练8086汇编语言的编程原理,和程序设计思想,编写一个实时时钟程序进一步提高综合运用知识的能力。设计要求:每隔一秒显示系统时钟;可以重复输入,有退出键功能。3设计工作任务及工作量的要求包括课程设计说明书、图纸、实物样品 等: 设计工作任务及工作量的要求:1)根据课程设计题目,收集和学习相关知识,确定编程方案;2)用相关软件编写程序代码,实现基本要求;3)撰写课程设计报告可利用 Visio 或 Word 等软件画出相关的程序流程图,列出相应的程序源代码,说明设计过程中遇到的问题
3、和解决问题的方法,附参考资料。课课 程程 设设 计计 任任 务务 书书4主要参考文献:1 沈美明,温冬禅IBM PC 汇编语言程序设计清华大学出版社,第二版 2 刘丽莉汇编语言程序设计北京大学出版社,20105设计成果形式及要求:1)撰写课程设计报告;2)程序流程图 1 份(可手画) ;3)程序清单 1 份。6工作计划及进度:系主任审查意见:签字: 2012 年 6 月 17 日目 录第一章第一章 课题设计目的内容及要求课题设计目的内容及要求 21.1 目的 . . . . . . . . .21.2 内容21.3 要求2第二章第二章 程序流程图设计程序流程图设计 22.1 主流程图设计.22
4、.2 子流程图设计.3第三章第三章 程序段落的说明程序段落的说明 431 光标的设立和隐藏.432 调用系统的时间.533 判断是否有键盘的输入.6第四章第四章 程序调试说明、结果记录与分析程序调试说明、结果记录与分析 741 程序调试的过程.742 调试结果.743 分析结果.8第五章第五章 总结与体会总结与体会 8参考文献参考文献 .8附附 录录 91程序流程图92程序清单11第一章第一章 课题设计目得内容及要求课题设计目得内容及要求1.1 目得目得1 1)培养学生文献检索的能力,特别是如何利用 Internet 检索需要的文献资料。2 2)培养学生综合分析问题、发现问题和解决问题的能力。
5、3 3)培养学生运用知识的能力和工程设计的能力。 4 4)提高学生课程设计报告撰写水平。1.2 内容内容设计一个根据所学汇编语言课程的知识,熟练8086汇编语言的编程原理,和程序设计思想,编写一个实时时钟程序进一步提高综合运用知识的能力。1.3 要求要求每隔一秒显示系统时钟;可以重复输入,有退出键功能。第二章第二章 程序流程图设计程序流程图设计2.1 主流程图设计主流程图设计由方案设计分析可知,此次设计比较简单,先初始化程序,然后设立光标,在光标移动时,不断地取时,取分,取秒,并不断的循环。在循环的过程中,当按下 ESC 键时退出程序;当按下其它键时,程序继续运行,并显示时间界面,再按下 ES
6、C 键时,程序又将退出。流程图设计:当初始化后,设定一个光标用来显示时间的时、分、秒,并将光标隐藏。流程图有两个分支,表示有两个判断,当时分秒取完后,判断是否在键盘上有输入,如果没有输入,则返回到光标定位,若有输入判断是否为 ESC 键的ASC 码,如果是则退出程序,程序结束,过程比较明了,流程图分支不多,但功能能够很好的实现。流程图如 1 所示图 1 主程序设计流程图开 始结 束输入为 ESC 吗?显 示 秒 钟显 示 分 钟获取时间,显示 时初 始 化设 立 光 标2.2 子流程图设计子流程图设计可知,在时间的获取时,需要时、分、秒分别获取,显示时使用的是相应的ASCII 码。加上分隔符“
7、:”,共同组成完整时钟显示,我们对子程序做流程图,如图 2 所示。图 2 子程序流程图第三章第三章 程序段落的说明程序段落的说明31 光标的设立和隐藏光标的设立和隐藏光标的不停移动,使时间能不停地显示时间的时分秒,并使其显示界面不消秒的获取,将储存的数 值转换成相应的 ASCII 码显示在屏幕上分的获取,将分的数值 转换成相应的 ASCII 码时的显示,将储存的数 值转换成相应的 ASCII 码,显示在光标位置上系统时间调用:mov ah,02 int 1ah CX,DX 进出栈使用实现时分秒的 显示开 始结 束失,并随着系统时间的变化而同步变化,隐藏光标使界面看起来更美观。程序如下: mov
8、 dh,0ah ;行数mov dl,35 ;列数mov bh,0 ;页数mov ah,2int 10h ;确定光标的位置,使其居在中间mov cx,2000hmov ah,01hint 10h ;隐藏光标3.2 调用系统的时间调用系统的时间获取系统的时间,用程序将系统的时间调用,使显示的时间和系统的时间同步变化,其中时间的时分秒显示都是需要先转换成相应的 ASCII 码,再显示在屏幕上。获取系统时间:mov ah,02int 1ah ;系统时间调用push cx push dx ;现场保护时的获取: xor dl,dl ;dl清零mov dl,ch ;cx高四位给dlmov cl,4shr d
9、l,cl ;最终dl中为ch的高四位 add dl,30h ;转换成ASCII码mov ah,02hint 21h ;光标处显示时的第一位mov dl,chadd dl,0fhadd dl,30h ;转换成ASCII码mov ah, 02 int 21h ;光标处显示时的第二位mov dl,“:“mov ah,02int 21h ;光标处显示“:”分的获取: pop op cx ;出栈,恢复现场push dx ;置光标位置xor dl,dlmov dl,clmov dh,clmov cl,4shr dl,cladd dl,30h ;转化成相应的ASCII码mov ah,02int 21h ;光
10、标处显示分的第一位mov cl,dhand cl,0fhadd cl,30h ;转化成相应的ASCII码mov dl,clmov ah,02int 21h ;光标处显示分的第二位mov dl,:mov ah,02int 21h ;光标处显示“:” 秒的获取: pop dx ;出栈,恢复现场mov bl,dhmov cl,4shr dh,cladd dh,30h ;转化成相应的ASCII码 mov dl,dhmov ah,02 int 21h ;光标处显示秒的第一位mov cl,bland cl,0fhadd cl,30h ;转化成相应的ASCII码mov dl,clmov ah,02int 2
11、1h ;光标处显示秒的第二位 3.3 判断是否有键盘输入判断是否有键盘输入判断是否有输入,当有字符时判断是否为ESC,若是则退出程序,如果不是程序继续运行。程序段: a1: mov ah,0bh ;调用 DOS 功能 0BH 检测键盘是否有输入int 21hcmp al,00h ;检测是否有输入jne a2 ;有则跳到 a2jmp go ;没有则回到 goa2: mov ah, 08hint 21h cmp al,1bh ;判断是否为 ESCje exit ;是则退出jmp go ;不是则跳到 goexit:mov ah,4chint 21h ;退出程序第四章第四章 程序调试说明、结果记录与分
12、析程序调试说明、结果记录与分析41 程序调试的过程程序调试的过程程序调试,是将编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误和逻辑错误的过程。这是保证计算机信息系统正确性的必不可少的步骤。编完计算机程序,得调试所写程序是否正确,是否能满足所要求的功能。写好程序后,对 DOS 系统界面调用功能指令不太熟悉,界面出来后时间显示在右上角,并且光标不能消失,最后经过查询,运用了 10 号中断,最后把光标隐藏了,并使时间显示在界面的中间位置。在判断是否在键盘上有输入时,开始不会用键盘扫描功能,没有调试出来,经过向同学请教最后调用 DOS 功能 0bh,并用 08h 来判断是否是 ESC 输入,最终实现了退出功能。4.2 调试结果调试结果运行程序,时间显示界面,如图 3 所示:图 3 进入后的运行界面单击其他键时的显示界面,如图 4 所示,与图 3 相同。单击 ESC 键时,界面消失,退出程序。图 4 单击其它键时的显示界面4.3 分析结果分析结果可知运行程序后,能达到设计要求,即进入后能显示时间在屏幕的中央位置,单击 ESC 外的键时,程序继续,时间继续显示,单击 ESC 时,退出程序,程序设计成功。第五章第五章 总结与体会总结与体会参考文献参考文献1 沈美明,温冬禅IBM PC 汇编语言程序设计清华大学出版社,第二版2 刘