资源描述:
《微机原理时钟课程设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、武汉理工大学《微机原理与接口技术》课程设计说明书计算机时钟模拟显示软件设计1.设计思路及方案说明1.1时钟模拟显示的设计思路本次课程设计需要设计一个可以运行于计算机上的时钟模拟显示软件,由于此次的设计不需要设计硬件,只需要设计能显示时钟的软件,因而考虑到进行调用系统的时间来进行时间显示,这样就可以省去硬件上的时钟信号的产生等问题,程序需要做的仅是将调用的系统时间在合适的界面上显示出来。1.2设计方案的确定在设计中考虑到了两种设计思路。一是运用七段数码管效果显示,二是旋转指针式指示效果。在最初进行构想时考虑的是运用旋转指针式指针效果,考虑到七段数码
2、管效果显示的时间更形象,在实际使用中用的更多,于是选用了七段数码管显示效果。在本次的课设中,在调用到系统的时间后,首先将调用的时间数值转换成十进制时间数值,再根据程序初始定义的每个十进制数据的5×7点阵坐标,在首先定义的位置上将构成时间的每个数字的点依次显示出来,这样经过几次循环后,就可以将十进制的时间完整的显示出来了。为了让时间显示不出现混乱,最后调用了一个延时子程序,使时间显示在软件界面上。在软件中,为了使软件更人性化,首先是在软件的开始界面说明了软件的实现功能,并在程序中采用了中断方式,在按下键盘上的Q键后可以安全退出软件。1.3模块的说明
3、程序有5个主要的模块:主程序模块,转换模块,显示模块,延时模块,中断模块。其中,转换模块时将调用的系统时间转换成十进制以用于显示;显示模块是将转换好的数值显示在软件界面上;延时模块是为了让系统界面更稳定;中断模块是为了能安全退出系统。-25-武汉理工大学《微机原理与接口技术》课程设计说明书2.程序框图设计2.1主程序框图设计在主程序中,在进行相关寄存器的初始化后,对系统时间进行调用,然后将说调用的时间转换成十进制,以便于显示,再经过一个延时程序就可以将时间完整的显示咋软件界面上为了。当检测到键盘有动作时,检查按下的键值是否为Q,若是,则退出程序,
4、不是则继续调用系统时间,如图2-1所示。开始初始化调用系统时间将时间转换成十进制调用显示程序,显示时间延时按下Q,q退出NY图2-1主程序框图2.2数据查表转换程序框图-25-武汉理工大学《微机原理与接口技术》课程设计说明书查表转换时首先从缓存中取时间数值,然后与数据表中的数据依次进行比较,然后返回对应的映射值,如图2-2所示。开始从缓存中取时间数值与表中数据依次进行映射返回对应的映射值图2-2数据查表转换程序框图2.3显示子程序框图显示子程序时首先定义光标的位置,然后映射相应的数值,再通过程序循环显示对应的点,最终就可以将相应的数值显示出来了,
5、如图2-3所示。开始定位光标位置映射数值循环显示对应的点显示对应的数值图2-3显示子程序框图2.4中断处理程序框图-25-武汉理工大学《微机原理与接口技术》课程设计说明书在程序中需要进行中断返回,保护现场后,进行一系列的读取时间,转换字符,显示字符,再进行恢复现场,最后中断返回,如图2-4所示。读取系统时间转换时间字符在指定位置写显存以显示时间中断返回恢复现场保护现场图2-4中断处理程序框图3.程序相关模块的说明3.1数据段显示数字的相关定义程序中需要用类似七段数码管显示电子表的显示效果,则首先需要将0~9的数字以及时间的点号用七段数码管效果表示
6、出来。比如数字“0”,我们可以按下列程序来定义:S0DB21DB2AH,23,0,0DB2AH,23,0,1DB2AH,23,0,1DB2AH,23,0,1DB2AH,23,0,1DB2AH,23,1,0DB2AH,23,1,0DB2AH,23,1,0DB2AH,23,1,0-25-武汉理工大学《微机原理与接口技术》课程设计说明书DB2AH,23,1,0DB2AH,23,1,0DB2AH,23,0,-1DB2AH,23,0,-1DB2AH,23,0,-1DB2AH,23,0,-1DB2AH,23,-1,0DB2AH,23,-1,0DB2AH,23
7、,-1,0DB2AH,23,-1,0DB2AH,23,-1,0DB2AH,23,-1,0首先定义的21为要构成数字“0”需要21个点存储空间,也是后面程序中程序需要循环的次数。其下面的21行程序即使对这21个存储空间的位置进行说明,“2AH,23”定义的是七段数码管的显示效果,此时显示的是“*”图形。程序后面的坐标反映的是构成数字0的每一笔构成,其反映的是相对位置,数码管效果我们运用的是5×7点阵。以第一行为第零行,第一列为第零列,则程序如上所示,正好可以由上述坐标定义了数字零。其余几个数字按上述方法不难得出。为了使界面更具有人性化,在界面上定义
8、了此软件实现的功能,也定义了如何退出软件。这些在程序开始都已定义了。此程序的一个关键位置就是如何进行将开始界面及时钟界面的位置正确的摆放