《汇编语言课程设计——————电子时钟的设计(共10页).doc》由会员分享,可在线阅读,更多相关《汇编语言课程设计——————电子时钟的设计(共10页).doc(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上 西安工业大学课程设计用纸 课程名称:汇编语言程序设计课程英文名称:PROGRAMMING BY ASSEMBLE LANGUAGE一设计目的:1. 理解掌握定时/计数器和中断的使用方法。2. 掌握微机常用的输入输出方式及接口技术。3. 掌握一定的汇编语言知识,培养自己的动手操作能力。4. 学习程序设计的基本思路和方法。二程序内容:第一部分:定义显示界面。第二部分:调用系统时间,并将调用的用二进制表示的时间数转换成ASCII码,并将时间数存入内存区。第三部分:将存在系统内存区的时间数用显示字符串的形式显示出来。第四部分:获取键盘的按键值,以ESC键退出系统返回DOS。
2、三程序设计原理:首先在数据段开辟一显示缓冲区,用来存储系统时间。调用DOS中断,返回系统时间,并将来返回的二进制时间转换成ASCII码,方便时间显示时的调用。分别将来小时数、分钟数、秒数存入显示缓冲区,并最终存入一结束字符号$。调用DOS字符串显示功能将时间显示 西安工业大学课程设计用纸 出来。并调用屏幕I/O中断,定位光标的开始位置,结合着将时间显示在我们预先定义好的位置上。由于获取了的系统时间不会自动刷新,所以我们要设计成刷新的方式来不断获取系统的时间,这样就形成了会跳动的电子钟了。调用延时TIME延时中断服务程序,累加到存放秒值的寄存器DL中,并进行十进制调整。在累加的过程中,不断地对时
3、、分、秒值进行比较,秒不能等于60,分不能等于60,时不能等于24。秒等于限制值时,则使秒值为0分值加1;分等于限制值时,则使分值为0时值加1;时等于限制值时,则使时值为0;时、分、秒值都不超过限制值时,就转显示屏输出。时间显示的刷新要配合延时程序进行,为了得到良好的显示效果,延时程序要尽量接近1秒,但又不能超过一秒,所以本程序调用了一段较精确的时间延迟程序。 利用BIOSS设计窗口,选择适当的背景和前景等,使屏幕显示更加完美。程序一旦进入运行,就将不间断地在显示屏显示时间,要想程序停止运行,可同时在键盘按下ESC键返回DOS系统。四程序流程图如下:DATA SEGMENT ;设置数据段BUF
4、1 DB THE TIME IS NOW: $BUF5 DB $ BUF6 DB & # &$BUF7 DB 00 o o =60H?DL清零,DH加1,DAA调整(DH)=60H?DH清零,CH加1,DAA调整(CH)=24H?CH清零时,分,秒值BCD码转换为ASCII码,输出显示六调试过程: 1)编译源文件,命名为HULINGWEI。ASM 2)采用命令格式。MASM HULINGWEI。ASM将生成一个OBJ文件,检查源程序中的错误,并改正。3)键入连接命令:LINK HULINGWEI。OBJ,再次键入HULILNGWEI回车,即可显示结果。 4)时间在运行中出现了不准确性,对程序的
5、循环次调整后,时间能正常运行。七时遇到的问题及解决方法 在课程设计中遇到的最大的困难是如何产生中断,对中断向量表的装载还比较模糊,对中断的初始化、具体设置、中断返回还不是很清楚,程序设计一度陷入停滞状态,不知如何是好。 我们又重新翻阅了杨素行主编的微型计算机系统原理及应用及周明德主编的微型计算机的原理及应用,重点研究了中断,通过对这一章的学习,我们终于对中断有了详细的认识,在设计程序 西安工业大学课程设计用纸 时也容易了很多。八心得体会 这是我第一次用汇编语言来设计一个小程序,历时一周终于完成,其间有不少感触。 1借鉴 鲁迅先生曾说过要拿来,对,在这次课程设计中,就要拿来不少子程序,比如将AS
6、CII码转换成BCD码,将BCD码转换成压缩BCD码,将压缩BCD码转换成ASCII码等,这些子程序的设计是固定的,因此可以直接从指导资料中调用,至于设置光标的子程序,只需要修改几个参数就可以,这大大方便了我们的设计,为我们节省了很多的时间。 2合作 这个时代不欢迎孤独的英雄,因为一个人的能力毕竟有限,惟有善于合作的团队才能发挥出最大的能量。在这次课程设计中,我真正体会到了合作的重要性,我们这个班级在这次程序设计中总在一起,从要实现的功能到流程图的绘制,从程序的编写到程序的检查,从程序的调试到实验报告的写作,其间每一个过程都凝聚了我们班级的力量。在遇到棘手的问题时,我们总是一起讨论,一起把问题
7、解决;在 西安工业大学课程设计用纸 我遇到不很明白的程序时,是同学们耐心地给我讲解;在我面对有错的程序不知所措时,也是同学们帮我一步步地调试,耐心的指导,直至程序能正常运行。 3指导老师提供的资料很重要 这次课程设计的大部分程序,都可以在王老师提供的资料中找到,这对我们的程序设计很有帮助,从这些资料中,我们可以看出这个时钟程序的基本流程,修改一些程序就可以实现这个时钟的基本功能,添加一些程序就可以实现这个时钟的附加功能,可以说,如果没有王老师提供的源程序,我们将面临很大的困难。 4考核方式很正规 在程序设计完之后,不仅仅是交上设计报告就可以过关,还必须要经过王老师得面试。杨老师在面试时就我们编写的程序提问了几个问题,以考察我们是否真正了解了这个程序,面是很严格,表现不好就不能过关。在这次面试中,我认识到自己对一些细节还不是很清楚,还有待于进一步提高;通过这次课程设计,我明白了做任何事情都要脚踏实地,认真钻研,严格谨慎。 向在这次课程设计中给与指导和帮助的王老师表示衷心的感谢! 九 参考文献。周明德。微型计算机原理及应用。北京。清华大学出版社。2002扬素行。微型计算机系统原理及应用。北京。清华大学出版社。2004专心-专注-专业