1、LabVIEW课程设计目 录1 目的及基本要求12 电子时钟原理13 电子时钟设计和仿真23.1 具体设计步骤33.2 前后面板123.3 设计中遇到的问题144 结果及性能分析144.1 运行结果144.2 性能分析15参考文献161 目的及基本要求 熟悉LabVIEW开发环境,掌握基于LabVIEW的虚拟仪器原理、设计方法和实现技巧,运用专业课程中的基本理论和实践知识,采用LabVIEW开发工具,实现电子时钟的设计和仿真。要求通过本课程设计使学生熟悉LabVIEW开发环境,掌握基于LabVIEW的虚拟仪器设计原理、设计方法和实现技巧,使学生掌握通信系统设计和仿真工具,为毕业设计做准备,为将
2、来的学习及今后从事科学研究、工程技术工作打下较坚实的基础。 本课程设计要求实现电子时钟的设计与仿真,即通过获取电脑的系统时间,并分离出给数字,在通过布尔显示显示。数字的显示主要是7个长条的布尔显示组成,原理与7段数码管相似。7段数码管显示不同的数字主要通过其7个布尔不同的真假值控制,将0-9对应的7段布尔显示值依次存入一个布尔数组里,只需提取此数组的不同段即可让其显示不同的值,如显示“0”提取数组的0-6位分别赋值给7段布尔显示。以此类推,可以实现九位数字即0到9的可视化显示。而且要求实现时钟功能多样化,比如加入显示时段、星期,甚至实现闹钟功能,可以自定义时间显示等,做到界面简约而生动,方便操
3、作和用户理解。2 电子时钟原理由于电子时钟在现实生活、工作中,特别是在科学研究工作中有非常很重要的、广泛的应用。在这种情况下,对电子时钟的研究和制作、仿真是十分很重要。本文就对基于LabVIEW的电子时钟的设计与仿真做详细的说明。本课程设计要求实现电子时钟的设计与仿真,即通过获取电脑的系统时间,并分离出给数字,在通过布尔显示显示。数字的显示主要是7个长条的布尔显示组成,原理与7段数码管相似。7段数码管显示不同的数字主要通过其7个布尔不同的真假值控制,将0-9对应的7段布尔显示值依次存入一个布尔数组里,只需提取此数组的不同段即可让其显示不同的值,如显示“0”提取数组的0-6位分别赋值给7段布尔显
4、示。以此类推,可以实现九位数字即0到9的可视化显示。电子时钟的基本设计思路是通过可以获取时间的控件来获取相关信息,如:年、月、日、星期、时、分、秒等,可以返回当前时间的时间标识。LabVIEW将时间标识计算为自1904年1月1日星期五12:00 a.m(通用时间)以来的秒数。使用转换为双精度浮点数函数,将时间标识的值转换为精度较低的浮点数。取得的值最终为整型数据,利用除数取余即可分离个十位。设计中要用到自动获取时系统时间的控件、指示灯、获取日期/时间(秒)、格式化日期/时间字符串、截取字符串、While循环、条件结构(Case结构)、常量、局部变量、真常量、假常量等等,通过基本的连接就制作好一
5、个电子时钟了。自动获取时系统时间的控件主要是用来获取时间和分离时间,格式化日期/时间字符串:使用时间格式代码指定格式,按照该格式将时间标识的值或数值显示为时间。时间格式代码包括:%a(星期名缩写),%b(月份名缩写),%c(地区日期/时间),%d (日期),%H(时,24小时制),%I(时,12小时制),%m(月份),%M (分钟),%p(am/pm标识),%S(秒),%x(地区日期),%X(地区时间),%y(两位数年份),%Y(四位数年份)等。并利用常量和偏移量截取字符串由七段数码管输出,时间输出和日期输出都同理。为方便用户操作和时钟功能多样化,可以自定义时间显示与输出,基本原理就是创建一个
6、子.VI文件,与主程序相连,运行时,先运行子.VI文件,再运行主程序,即可完成自定义时间的显示与输出。 为了获得更好的显示效果将背景改为黑色,布尔显示的颜色为绿色。如下图所示,即最终显示效果图:图1 电子时钟效果图3 电子时钟设计和仿真首先熟悉虚拟仪器的设计思想,而后便可着手进行电子时钟的相关设计,控件架构以及函数设置。 3.1 具体设计步骤1.时间设置获取时间的各整型数据,软件中获取日期/时间(秒)控件从计算机系统中自动提取时间,并转换成日期、时间等,控件图如下: 图2 时间设置控件图 2.时间显示 通过除10取余便可得到个位,商为十位,以此方法也可求出年的各个数字,取出各位数字后,并不可直
7、接显示,要通过统一编码规范显示的格式,这样才能显示各位数。要显示数字时,只需将数字乘以7,再将乘积的值作为索引在那存放真值的数组里寻找对应显示的七个布尔显示控件的值。如显示2,则从数组的第2*7=14位开始,依次取出7个(分别代表着七个布尔的真值),其他也同理。最后捆绑成簇,因为七段显示布尔已做成簇。如下数码管显示图,其包含七段显示布尔,即A、B、C、D、E、F、G,如显示“0”的时候,将其分别置为1111110,即可显示数字“0”(“1”代表真,“0”代表假),其他的同理。但在显示时间的时候,要用六个方形指示灯,对应时、分、秒,每个占用两个指示灯;用两个圆形指示灯表示时分秒之间的冒号间隔。这
8、其中包括截取字符串,截取字符串即返回输入字符串的子字符串,从偏移量位置开始,包含长度个字符。连线板显示了该多态函数的默认数据类型。字符串是输入字符串,偏移量是起始位置并且必须为数值。 字符串中第一个字符的偏移量为0。如没有连线或小于0,则默认值为0。长度必须为数值。如长度没有连线,则默认值为字符串长度减去偏移量。子字符串如偏移量大于字符串的长度,或长度小于等于0,则值为空。如长度大于或等于字符串长度减去偏移量,则子字符串是从偏移量开始的剩余部分。控件图如下所示: 如下图所示,数码管显示数字“5”,即对应的A、B、C、D、E、F、G分别置为1 0 1 1 0 1 1,这样就显示出了数字“5”。
9、图3 数码管显示 图4 时间显示控件图 3.时段显示即用电子时钟显示当前时段,一般可以分为四个时段,即:凌晨、上午、下午和晚上。控件图如下: 图5 时段显示控件图 4.星期显示 数字时钟具备显示星期的功能,一周分为七天,从星期一一直到星期天,相关控件如下: 图6 星期显示控件图 5日期显示即通过数字时钟显示当前年、月、日,由于年份要用四位数来表示,月份和日期各用两位数来表示,则就要用到八个方形指示灯来显示,需要先将由系统得到的时间转换为字符串数值然后输出,具体控件图如下:图7 日期显示控件图 6闹钟设置为保证电子时钟功能多样性,可以加入闹钟,从而极大丰富时钟的功能和人性化程度,即通过定时,在定
10、时时间到时,可以相应发出声音,从而起到闹钟的功能。具体控件图如下: 图8 闹钟设置控件图 7自定义时间设置在电子钟的设计过程中,除了能获取当前系统时间外,还可以自己自定义时间,即可以手动输入时、分、秒并通过电子时钟显示出来。在本设计中,即设计一个子.VI文件,并和主程序相连,从而实现此功能。相关控件图以及其前面板图如下: 图9 自定义时间设置 图10 自定义时间设置前面板 8退出设置按Esc之后,停止并退出,如下图所示: 图11 退出控件图3.2 前后面板 1.前面板 图12 前面板 2.程序框图 图13 系统程序框图3.3 设计中遇到的问题 由于是第一次进行LabVIEW的课程设计,缺乏相关
11、的设计经验,因此一开始的时候确实无从下手。但是经过老师和同学的指点,包括自己独立思考与查阅相关资料,我渐渐对这个软件熟悉了,并且觉得图形化编程的好处实在是非常多的。 设计电子时钟期间,我确实遇到了许多的问题。由于对编程软件的不熟悉,导致在找相关控件时花费了许多时间,而且常常找到的是错误的控件,这直接造成程序运行失误。这一点在熟悉软件之后,好了很多。其次,在熟悉设计原理的时候,由于对相关逻辑关系以及函数关系的不太熟悉,也绕了不少弯子。后期,在总体完成电子时钟的设计后,基本功能都得到了实现,但是一直显得不太美观。数字时钟功能很简单,实现起来也很简单,但要做得美观、简洁却不那么容易。比如让其显示更多
12、生动的字体,在一个小窗口里实现更多的动画。程序要实现丰富的内容及完美的界面主要还是要靠扎实的基础,掌握各控件的使用及各类型的模块间的转换。本来把本次课程设计的界面显示做成各种字体的,但由于时间及能力的关系,没有做得更好。这一点很遗憾,但愿有机会可以弥补。总体来说,设计过程遇到的问题不少,但是收获也更多。在学习了信号与系统、通信原理等课程之后,这实在是一个极好的学习机会与动手机会,也算是为大四的毕业设计做了一个良好的准备,于我而言,受益良多。4 结果及性能分析4.1 运行结果 1.从当前系统获取时间后,运行如下: 图14 运行效果图2自定义时间设置效果图,如输入12时12分13秒,则系统显示时间
13、如下: 图15 自定义时间显示效果图4.2 性能分析从大体上说,本设计实现的电子时钟实现了大部分的功能,除了最基本的显示年、月、日、时、分、秒之外,还可以显示时段和星期,甚至还可以实现闹钟定时的功能,而且增加了自定义时间控制的功能。而且界面设计美观而简约,布局也还算合理,操作也足够简单。由于LabVIEW轶件的优越性,用它来制作和仿真数码管电子钟是很方便的,是其它轶件不可比拟的。这次制作数码管电子钟,所用的控件不多,主要用到了指示灯、获取日期/时间(秒)、格式化日期/时间字符串、截取字符串、While循环、条件结构(Case结构)、常量、局部变量、真常量、假常量等等,通过基本的连接就制作好一个
14、电子时钟了。在仿真时,通过和计算机时间的对比,完全符合要求,仿真性能很好,达到了这次研究和制作数码管电子钟的目的。此电子时钟能运用于人们的工作中,特别是科学研究的一些仿真实验中,也可以为广大的科学工作者提供方便。但是这次制作的数码管电子时钟有点大,这是为了大家更好地了解电子时钟。在实际应用中,从制作成本上讲,这样的数码管电子时钟是比较小的,这一点上可以做得更好。参考文献1 labview入门与提高.赵品编著.人民邮电出版社.2000.112 labview 高级应用.赵品编著.人民邮电出版社.2000.113 labview印刷电路板设计教程.肖玲妮编著.清华大学出版社.2003.84 labview完全自学手册.龙马工作室编著.人民邮电出版社.2005.10.25 虚拟仪器设计基础教程.黄松岭,吴静著.清华大学出版社.20086 AMTLAB和 LabVIEW仿真技术及应用实例.聂春燕,张猛,张万里著.清华大学出版社.20087 测试工程与LabVIEW应用.戴鹏飞,王胜开,王格芳,马欣著.电子工业出版社.200616