欢迎来到天天文库
浏览记录
ID:35626091
大小:2.47 MB
页数:27页
时间:2019-04-03
《微机原理与接口技术课程设计--指针显示时钟》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、重庆三峡学院微机原理与接口技术课程设计课题名称指针显示时钟专业XXXXXXXXXX班级XXXXXXXXXXX学号XXXXXXXXXX姓名XXX-22011年6月28日-2微机综合实验课程设计报告书姓名:XXX班级:08级电信X班学号:XXXXXXXXX成绩:题目:指针显示时钟设计题目分析:用汇编语言设计一个指针显示时钟程序,基于8086微型计算机,利用汇编设计系统时间显示,该设计为软件设计。(1)实现时分秒的指针计时显示并具有报时功能,调用系统时间显示于屏幕中央(2)软件设计1.功能简介2.画出相应的流程图3.汇编程序设计4.用MASM5编译器编译并运行(3)
2、显示界面设计步骤详细介绍:本程序包含三个文件:clock.asm、sound.asm和music.asm。其中,sound.asm为通用发声程序;music.asm为乐曲程序,用此两个文件实现音乐和报时;clock.asm为主程序,用以实现钟表的显示。调用画圆程序,在屏幕上显示出钟表的框架,通过时钟中断(INT1AH的2号功能调用)来确定表的时针、分针和秒针的位置,并通过调用相关子程序画在屏幕上。时针、分针、秒针的图形指针在时钟调用过程中反复循环着擦除与画,实现了钟表的动画效果。在实现此时钟显示时还设置了自动报时和音乐的功能,为了便于观察,在程序中设置钟表没每
3、走一分钟就报时一次。实现的程序段为:INCCOUNTOCMPCOUNT0,5JNZMINUTE_y1MOVCOUNT0,0CALLMUSIC第27页共27页CALLMUSICCALLMUSICYYYNN调用beg调用CHange_color调用music是否“c”是否“e”是否“s”调用CHange_rsNY调用CHange_rbN是否“q”显示信息、画表接收键盘字符开始Y结束是否“b”N在程序汇编时需要将三个文件分别汇编,生成三个目标文件Clock.obj、sound.obj和music.obj,链接是的表达式为“clock.obj+sound.obj+mu
4、sic.obj”,生成可执行文件clock.obj.主程序结构流程图如下:第27页共27页关键技术分析:在此指针显示时钟设计中关键是如何调用子程序进行自动报时和听音乐功能;还有就是如何通过时钟中断调用来确定表的时针、分针和秒针的位置。设计中遇到的问题和解决的步骤、方法:遇到问题:在课程设计中遇到的最大的困难是如何产生中断,对中断向量表的装载还比较模糊,对中断的初始化、具体设置、中断的返回还不是很清楚,最主要如何是通过时钟中断调用来确定表的时针、分针、和秒针的位置,并通过条用相关子程序画在屏幕上开始是不是很明白。解决步骤、方法:在此过程中我认真翻阅了课本,重点对
5、课本《中断》这一章做了详细的研究和学习,同时还借阅了王爽的《汇编语言》一书,特别是对其中的一些常用的中断进行了全面的学习和深入的研究,基本上弄懂了各个中断的作用和应用,通过对这些中断的学习,使我对中断有了更深一步的认识,因而在相关程序的设计方面就容易了很多。设计结果:程序设计完成后,通过编译器编译成可执行文件.exe后,双击即可运行此指针显示的程序,同时屏幕上会出现一个时钟表盘,表盘上会显示相应的系统时间,同时在程序运行过程中,按C键可改变钟表界面各个部分的颜色;按B键可扩大表盘;按S键可听简单的音乐;按Q建退出程序。附录1:程序运行截图(2张)第27页共27
6、页第27页共27页附录2:源程序列表第27页共27页extrnmusic:far,gensound:far;******************************************************;*堆栈段.286;******************************************************STACK_SEGSEGMENTSTACKSTACK_BUFDW120DUP(?)TOPEQU$-STACK_BUFSTACK_SEGENDS;***************************************
7、***************;*数据段;******************************************************DATA_SEGSEGMENTPARA;------------------------------------------------------;TODO:数据的定义及存储器的分配ts1DB0quitbufDB'welcomeyoutorunthisprogramme.'quitbuf2DB'C:changecolor;B:extendthecolck;S:reducetheclock'quitbuf3DB'
8、pressetosound;Press
此文档下载收益归作者所有