微机原理课设_指针式屏显电子钟

微机原理课设_指针式屏显电子钟

ID:38714625

大小:83.50 KB

页数:13页

时间:2019-06-18

微机原理课设_指针式屏显电子钟_第1页
微机原理课设_指针式屏显电子钟_第2页
微机原理课设_指针式屏显电子钟_第3页
微机原理课设_指针式屏显电子钟_第4页
微机原理课设_指针式屏显电子钟_第5页
资源描述:

《微机原理课设_指针式屏显电子钟》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、湖南文理学院芙蓉学院微机原理课程设计报告题目指针式的屏显电子钟学生姓名唐杰学号10170106专业班级计算机科学技术1101班指导老师杨红杰设计时间2014.6.15评阅意见:评定成绩:指导老师签名:年月日12目录一、实验目的…………………………………………..3二、实验内容及要求……………………………………3三、课设基本思想………………………………………3四、程序流程图…………………………………………4五、实验结果…………………..……………………….6六、程序源代码…………………………………………

2、6七、课设心得体会………………………………………14八、参考文献……………………………………………1412一、实验目的1)学习系统驻留的方法。2)了解BIOS中时间参数的调用方法。3)了解屏幕画图的方法对于本次应用的科目微机原理与接口技术来说,因为需要应用Win32汇编语言技术来编写代码实现功能,所以要掌握这门语言。并且要用到WindowsAPI接口的许多函数,所以要掌握一部分函数的调用方法及实现的功能。检验和提高汇编语言程序设计能力,和微机原理与接口技术应用方面的分析问题与解决问题的能力,掌握32位

3、汇编语言,完成软件的设计要求、编码和测试等。二、实验内容及要求1)在屏幕上显示一个适当大小的椭圆形界面,椭圆形轨道上,均匀的分布着60个“点”,代表1秒~60秒的位置,凡是5倍数的“点”,应当比其他的“点”稍大。2)以椭圆的中心为轴,画一条线代表“秒针”,采用定时中断的方式,每过一秒钟,秒钟移动一个位置,同时系统发出“嘀——嗒”的声音,如果相应的“点”能改变颜色,则动感更强。3)定时源可以使用系统的定时源。4)按下“Esc”键之后,结束演示。三.课设基本思想1)屏幕应设置为图形方式,采用模块化编程模式

4、,主模块显示椭圆形表盘,并且处理时钟中断,每过一秒钟,转入一次子模块,子模块负责秒针移动的位置。2)在着手本课题设计之前,学习掌握真设计方法,掌握顺时针方向画圆的技术,灵活运用,就可以设计出秒针的移动程序。3)系统驻留的方法及BIOS中时间参数的调用方法见统驻留时间程序。屏幕设置为图形方式,采用模块化编程,主模块显示界面信息,每个子模块负责一个功能,然后通过模块调用来实现。圆及画线子模块显示圆形表盘,及时、分、秒针,然后调用秒针移动子模块式电子钟能够运行。动子模块中,首先通过cos和sin两个功能模块

5、来确定秒针移动的度数,其次分别对秒、分、时进行擦除重写操作,再分别对表盘及圆心进行刷新,这样就实现了时、分、秒针的动态变化。四.程序流程图12开始显示信息调用画线子模块画出时分秒针调用系统实时时钟显示模块Clk显示系统时间调用擦除、重写及角度确定子模块进行指针移动调用renovate及enovate进行表盘及圆心的刷新接收键盘字符是否为q结束YN12五、实验结果六、程序源代码包含的库文件及数据段的定义如下:.386.modelflat,stdcalloptioncasemap:noneincludew

6、indows.inc;Include文件定义includeuser32.incincludelibuser32.libincludekernel32.incincludelibkernel32.libincludeGdi32.incincludelibGdi32.lib.data?hInstancedd?hWinMaindd?dwCenterXdd?;圆心X12dwCenterYdd?;圆心YdwRadiusdd?;半径ICO_MAINequ1000h;Equ等值定义ID_TIMERequ1.cons

7、tszClassNamedb'指针式屏显电子钟',0(2)计算时钟的位置、大小的_CalcClockParam子程序:_CalcClockParamproclocal@stRect:RECTinvokeGetClientRect,hWinMain,addr@stRectmoveax,@stRect.rightsubeax,@stRect.left;eax=宽度movecx,@stRect.bottomsubecx,@stRect.top;ecx=高度.ifecx>eax;比较客户区宽度和高度,以小的值

8、作为时钟的直径movedx,eax;高度>宽度subecx,eaxshrecx,1movdwCenterX,0movdwCenterY,ecx.elsemovedx,ecxsubeax,ecxshreax,1movdwCenterX,eaxmovdwCenterY,0.endifshredx,1movdwRadius,edxadddwCenterX,edxadddwCenterY,edxret_CalcClockParamendp(3)计算时钟圆周上某个

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。