沈阳理工大学LabVIEW课程设计0目录1目的及基本要求........................................02电子时钟原理..........................................12.1LabVIEW课程设计的原则...................................................22.2设计要求...................................................................22.3设计思路...................................................................23电子时钟设计和仿真....................................33.1具体设计步骤..............................................................33.2设计任务流程.............................................................143.3设计中遇到的问题.........................................................143.4课程设计的实验验收和答辩及报告的完成..................................144结果及性能分析.......................................154.1结果分析..........................................................154.2性能分析..........................................................16参考文献...............................................17沈阳理工大学LabVIEW课程设计11目的及基本要求虚拟仪器技术就是利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测量和自动化的应用。灵活高效的软件能帮助您创建完全自定义的用户界面,模块化的硬件能方便地提供全方位的系统集成,标准的软硬件平台能满足对同步和定时应用的需求。这也正是NI近30年来始终引领测试测量行业发展趋势的原因所在。只有同时拥有高效的软件、模块化I/O硬件和用于集成的软硬件平台这三大组成部分,才能充分发挥虚拟仪器技术性能高、扩展性强、开发时间少,以及出色的集成这四大优势。LabVIEW(LaboratoryVirtualInstrumentEngineeringWorkbench,实验室虚拟仪器集成环境)是一种图形化的编程语言(又称G语言),它是由美国NI公司推出的虚拟仪器开发平台,也是目前应用最广、发展最快、功能最强的图形化软件集成开发环境。使用这种语言编程时,基本上不用写程序代码,取而代之的是程序框图。熟悉LabVIEW开发环境,掌握基于LabVIEW的虚拟仪器原理、设计方法和实现技巧,运用专业课程中的基本理论和实践知识,采用LabVIEW开发工具,实现电子时钟的设计和仿真。要求通过本课程设计使学生熟悉LabVIEW开发环境,掌握基于LabVIEW的虚拟仪器设计原理、设计方法和实现技巧,使学生掌握通信系统设计和仿真工具,为毕业设计做准备,为将来的学习及今后从事科学研究、工程技术工作打下较坚实的基础。2电子时钟原理在熟悉虚拟仪器的设计思想、图形化编程语言的原理、方法和应用技术的同时,结合信号与系统,数字信号处理,通信原理等课程,以教学和实践相结合的原则安排课程设计内容。具体内容和要求如下:沈阳理工大学LabVIEW课程设计22.1LabVIEW课程设计的原则采用LabVIEW开发环境,紧密结合通信专业的相关课程来进行。本课程设计要求实现电子时钟的设计与仿真,即通过获取电脑的系统时间,并分离出给数字,在通过布尔显示显示。数字的显示主要是7个长条的布尔显示组成,原理与7段数码管相似。7段数码管显示不同的数字主要通过其7个布尔不同的真假值控制,将0-9对应的7段布尔显示值依次存入一个布尔数组里,只需提取此数组的不同段即可让其显示不同的值,如显示“0”提取数组的0-6位分别赋值给7段布尔显示。以此类推,可以实现九位数字即0到9的可视化显示。2.2设计要求要求学生掌握LabVIEW的虚拟仪器原理、设计方法和实现技巧,掌握简单通信系统设计和分析方法。由于电子时钟在现实生活、工作中,特别是在科学研究工作中有非常很重要的、广泛的应用。在这种情况下,对电子时钟的研究和制作、仿真是十分很重要。本文就对基于LabVIEW的电子时钟的设计与仿真做详细的说明。2.3设计思路电子时钟的基本设计思路是通过可以获取时间的控件来获取相关信息,如:年、月、日、星期、天数、时、分、秒等,可以回当前时间的时间标识。LabVIEW将时间标识计算为自1904年1月1日星期五12:00a.m(通用时间)以来的秒数。使用转换为双精度浮点数函数,将时间标识的值转换为精度较低的浮点数。取得的值最终为整型数据,利用除数取余即可分离个十位。为了获得更好的显示效果将背景改为黑色,布尔显示的颜色为绿色。如下图所示,即最终显示效果图:沈阳理工大学LabVIEW课程设计3图2-1电子时钟效果图3电子时钟设计和仿真首先熟悉虚拟仪器的设计思想,而后便可着手进行电子时钟的相关设计,控件架构以及函数设置。具体设计步骤如下:3.1具体设计步骤1.时间设置获取时间的各整型数据,软件中获取日期/时间(秒)控件从计算机系统中自动提取时间,并转换成日期、时间等,控件图如下:沈阳理工大学LabVIEW课程设计4图3-1时间设置控件图沈阳理工大学LabVIEW课程设计52.时间显示通过除10取余便可得到个位,商为十位,以此方法也可求出年的各个数字,取出各位数字后,并不可直接显示,要通过统一编码规范显示的格式,这样才能显示各位数。要显示数字时,只需将数字乘以7,再将乘积的值作为索引在那存放真值的数组里寻找对应显示的七个布尔显示控件的值。如显示‘2’,则从数组的第2*7=14位开始,依次取出7个(分别代表着七个布尔的真值),其他也同理。最后捆绑成簇,因为七段显示布尔已做成簇。如下数码管显示图,其包含七段显示布尔,即A、B、C、D、E、F、G,如显示“0”的时候,将其分别置为1111110,即可显示数字“0”(“1”代表真,“0”代表假),其他的同理。但在显示时间的时候,要用六个方形指示灯,对应时、分、秒,每个占用两个指示灯;用两个圆形指示灯表示时分秒之间的冒号间隔。这其中包括截取字符串,截取字符串即返回输入字符串的子字符串,从偏移量位置开始,包含长度个字符。连线板显示了该多态函数的默认数据类型。字符串是输入字符串,偏移量是起始位置并且必须为数值。字符串中第一个字符的偏移量为0。如没有连线或小于0,则默认值为0。长度必须为数值。如长度没有连线,则默认值为字符串长度减去偏移量。子字符串如偏移量大于字符串的长度,或长度小于等于0,则值为空。如长度大于或等于字符串长度减去偏移量,则子字符串是从偏移量开始的剩余部分。控件图如下所示:沈阳理工大学LabVIEW课程设计6如下图所示,数码管显示数字“5”,即对应的A、B、C、D、E、F、G分别置为1011011,这样就显示出了数字“5”。图3-2数码管显示沈阳理工大学LabVIEW课程设计7图3-3时间显示控件图沈阳理工大学LabVIEW课程设计83.时段显示即用电子时钟显示当前时段,一般可以分为四个时段,即:凌晨、上午、下午和晚上。控件图如下:图3-4时段显示控件图4.星期显示数字时钟具备显示星期的功能,一周分为七天,从星期一一直到星期天,相关控件如下:图3-5星期显示控件图沈阳理工大学LabVIEW课程设计95.日期显示即通过数字时钟显示当前年、月、日,由于年份要用四位数来表示,月份和日期各用两位数来表示,则就要用到八个方形指示灯来显示,需要先将由系统得到的时间转换为字符串数值然后输出,具体控件图如下:图3-6日期显示控件图沈阳理工大学LabVIEW课程设计106.闹钟设置为保证电子时钟功能多样性,可以加入闹钟,从而极大丰富时钟的功能和人性化程度,即通过定时,在定时时间到时,可以相应发出声音,从而起到闹钟的功能。具体控件图如下:图3-7闹钟设置控件图沈阳理工大学LabVIEW课程设计117.自定义时间设置在电子钟的设计过程中,除了能获取当前系统时间外,还可以自己自定义时间,即可以手动输入时、分、秒并通过电子时钟显示出来。在本设计中,即设计一个子.VI文件,并和主程序相连,从而实现此功能。相关控件图以及其前面板图如下:图3-8自定义时间设置沈阳理工大学LabVIEW课程设计12图3-9自定义时间设置前面板8.退出设置按Esc之后,停止并退出,如下图所示:图3-10退出控件图沈阳理工大学LabVIEW课程设计139.电子时钟系统整体连接图如下所示图3-11电子时钟系统整体控件连接图沈阳理工大学LabVIEW课程设计143.2设计任务流程(1)根据设计任务和指标要求,通过检索、查资料、调查研究、确定方案、画出组成系统结构方框图;(2)采用LabVIEW实现电子时钟系统;(3)系统调试与改进,调整系统参数,分析系统运行结果;(4)写出设计总结报告。3.3设计中遇到的问题由于是第一次进行LabVIEW的课程设计,缺乏相关的设计经验,因此一开始的时候确实无从下手。但是经过老师和同学的指点,包括自己独立思考与查阅相关资料,我渐渐对这个软件熟悉了,并且觉得图形化编程的好处实在是非常多的。设计电子时钟期间,我确实遇到了许多的问题。由于对编程软件的不熟悉,导致在找相关控件时花费了许多时间,而且常常找到的是错误的控件,这直接造成程序运行失误。这一点在熟悉软件之后,好了很多。其次,在熟悉设计原理的时候,由于对相关逻辑关系以及函数关系的不太熟悉,也绕了不少弯子。后期,在总体完成电子时钟的设计后,基本功能都得到了实现,但是一直显得不太美观。数字时钟功能很简单,实现起来也很简单,但要做得美观、简洁却不那么容易。比如让其显示更多生动的字体,在一个小窗口里实现更多的动画。程序要实现丰富的内容及完美的界面主要还是要靠扎实的基础,掌握各控件的使用及各类型的模块间的转换。本来把本次课程设计的界面显示做成各种字体的,但由于时间及能力的关系,没有做得更好。这一点很遗憾,但愿有机会可以弥补。总体来说,设计过程遇到的问题不少,但是收获也更多。在学习了信号与系统、通信原理等课程之后,这实在是一个极好的学习机会与动手机会,也算是为大四的毕业设计做了一个良好的准备,于我而言,受益良多。3.4课程设计的实验验收和答辩及报告的完成相关控件图连接完毕后,运行无误,就可以进行答辩与验收,课程设计报告是重要的一项,需要认真完成,为课程设计画上圆满的句号。沈阳理工大学LabVIEW课程设计154结果及性能分析4.1结果分析1.未运行的时候效果图如下:图4-1未运行时效果图2.从当前系统获取时间后,运行如下:图4-2运行效果图沈阳理工大学LabVIEW课程设计163.自定义时间设置效果图,如输入12时12分13秒,则系统显示时间如下:图4-3自定义时间显示效果图4.2性能分析从大体上说,本设计实现的电子时钟实现了大部分的功能,除了最基本的显示年、月、日、时、分、秒之外,还可以显示时段和星期,甚至还可以实现闹钟定时的功能,而且增加了自定义时间控制的功能。而且界面设计美观而简约,布局也还算合理,操作也足够简单。由于LabVIEW轶件的优越性,用它来制作和仿真数码管电子钟是很方便的,是其它轶件不可比拟的。这次制作数码管电子钟,所用的控件不多,主要用到了指示灯、获取日期/时间(秒)、格式化日期/时间字符串、截取字符串、While循环、条件结构(Case结构