电子时钟labview-()
- 格式:doc
- 大小:730.00 KB
- 文档页数:19
目录1 概述 (1)2 课题简介及意义 (2)2.1 设计时钟意义 (2)2.2 时钟简介 (2)3 虚拟仪器概述 (3)4 LabVIEW简介 (4)4.1 LabVIEW的运行机制 (4)4.1.1 LabVIEW应用程序的构成 (4)4.1.2 LabVIEW的操作模板 (6)4.2 LabVIEW的具体操作 (11)4.2.1 显示对象(Indicator)、控制对象(Control)和数值常数对象 (11)4.2.2 关于连线 (11)5 虚拟时钟系统设计的实现 (12)5.1 总体设计 (12)5.2 子vi的相关介绍 (14)5.3 功能及实现 (15)5.3.1 获得系统时间 (15)5.3.2 时、分、秒的获取 (16)5.3.3 数据的运算 (16)5.3.4 记录坐标变换 (18)5.3.5 图像的绘制 (19)5.3.6 While循环实现秒针的跳变 (20)5.3.7 程序结构介绍 (21)5.3.8 图像采集与图像处理 (22)5.3.9程序设计总体 (24)6. 结束语 (25)参考文献 (26)致谢 (27)1 概述随着科学技术的快速发展,各种功能的软件的都得到迅速的开发与应用。
虚拟仪器成为计算机技术和仪器科学领域完美结合的产特,代表了仪器仪表的发展方向。
LabVIEW 作为虚拟仪器开发的平台,是一个具有革命性的图形化开发环境,在工业测量和控制领域中掀起了一场变革。
它具有功能强大、编程灵活、人机界面友好的特点,在测量技术与仪器工程科学领域中得到了非常广泛的应用。
本文基于LabVIEW软件,设计一个虚拟的时钟程序,使之在桌面可以直接显示,形象、直观、方便。
通过对本设计的研究应该能够比较熟练的掌握Labview 软件的使用,并能在此平台上进行应用程序的开发。
下面我将由时钟开始,对虚拟仪器、LabVIEW 以及整个设计做详细的介绍。
2课题简介及意义2.1 设计时钟意义时钟,自从它被发明的那天起,就成为人们生活中必不可少的一种工具,尤其是在现在这个讲究效率的年代,时钟更是在人类生产、生活、学习等多个领域得到广泛的应用。
华侨大学厦门工学院目录1、设计实现的功能 (2)2、前面板设计 (2)3、程序框图设计 (3)3.1方案论证 (3)3.2总体设计 (5)3.3使用控件说明 (5)3.4 选出该方案的优缺点 (7)3.5 程序框图 (7)4.调试过程 (9)4.1调试中遇到的问题 (9)4.2解决方法: (10)4.3、调试结果 (10)5、结论 (11)6、致谢 (12)7、参考文献 (12)附录:课程设计成绩评定表....................................................... 错误!未定义书签。
1、设计实现的功能本次设计要完成一个十字路口交通信号灯的设计,这个交通信号灯系统能为行驶的车辆指示能否通行。
主要分为4个模式:禁止通行模式、常规通行模式、东西方向通行模式、南北方向通行模式。
这个交通路口每一个方向上的红绿黄灯按绿—黄—红的顺序循环,其中可人为根据当下路面情况设置通行(绿灯)的时间,等待通行(黄灯)的时间,禁止通行(红灯)的时间为绿灯与黄灯所输入时间之和。
当停止键按下时,循环停止。
信号灯按一定规律循环点亮。
每个循环包括四个阶段。
第一阶段:南北绿灯和东西红灯点亮,时间根据为输入值。
第二阶段:南北黄灯和东西红灯点亮第三阶段:南北红灯和东西绿灯点亮,第四阶段:南北红灯和东西黄灯点亮东、南、西、北四个方向分别放置一个时间显示器来显示离下一个信号到来的时间。
、特殊通行情况分为:禁止通行(红灯全亮)、东西方向通行模式(东西绿灯亮,南北红灯亮)、南北方向通行(南北绿灯亮,东西红灯亮)。
时间设置为人为手动输入。
用计数器产生以秒为单位的计时信号,再将产生的时间信号进行分段,每到一个时间段时系统进行相应的动作。
2、前面板设计前面板是VI的用户界面。
创建VI时,通常应先设计前面板,然后在前面板上创建输入/输出任务。
本课程设计需要用二十个指示灯、四个时间显示器、一个停止按键、一个菜单下拉列表、七个数值输入控件和一些仿真真实路面的线条。
华侨大学XX工学院Labview 课程设计报告题目:时钟计时器专业班级:11级通信工程一班学生:陈梓华指导教师:汪弦分数:年月日1.引言11.1项目背景11.2项目目的21.3定义22.总体设计32.1需求概述32.2程序结构43.程序描述53.1 子VI的调用53.2时钟模块63.2.1总体设计63.2.2时间采集与显示73.2.3 5个布尔灯的闪烁设置93.3计数器模块93.3.1时间的获取113.3.2 时间的时分秒转换124总结125参考资料131.引言1.1项目背景LabVIEW是一种程序开发环境,由NI公司研制开发的,类似于C 和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。
LabVIEW提供很多外观与传统仪器(如示波器、万用表)类似的控件,可用来方便地创建用户界面。
用户界面在LabVIEW中被称为前面板。
使用图标和连线,可以通过编程对前面板上的对象进行控制。
这就是图形化源代码,又称G代码。
LabVIEW的图形化源代码在某种程度上类似于流程图,因此又被称作程序框图代码。
相对于传统的标准仪器来说,LabVIEW由于是基于软件的,所以提供了更大的灵活性。
通过LabVIEW开发的虚拟仪器是由用户而不是仪器生产商定义仪器功能的。
一台计算机、数采板卡和LabVIEW的结合就能够变成一个可配置的虚拟仪器来完成用户设定的任务。
通过LabVIEW就可以用传统仪器几分之一的价格创建一个用户所需要的虚拟仪器。
当需要改变这个虚拟仪器的时候,只几分钟的时间通过LabVIEW修改就可以了。
为了便于使用,LabVIEW还集成了大量的函数库以及子程序来帮助完成绝大多数的编程任务。
在使用这些子函数的时候,可以忘掉传统编程语言中的令人头痛的指针操作、内存分配等编程问题。
除此之外,LabVIEW还包含了针对应用的数据采集(DAQ)、GPIB、串口、数据分析、数据显示、数据存储以及Internet 网络通信的函数库。
LABIVEW中的时间节点函数07电本0712020110 黄国营LABVIEW专门提供了时间类型的控件---时间标识(TIMESTAMP),时间控件是8.X的新增数据类型,内部用18位整数或者19位浮点数表示时间,以秒为单位,开始时间是1904年1月1日星期5 12:00 am(UTC)。
LABVIEW在函数面板中有几个时间相关的节点函数时间计数器----获得计算机启动以来的毫秒数等待(MS)-----线程休眠指定的毫秒数,让出控制权等待下一个整数倍毫秒----与等待类似,等待到当时间计数器的值是设定值的整数倍,可以保持循环间同步。
这几个函数我在LABVIEW的软件定时器中介绍过.今天主要探讨的是几个日期时间相关的函数节点1、获取日期时间(秒)---------取得当前的时间日期,返回一个时间标识2、日期时间转换成时间标识类型3、时间标识转换成日期时间簇LABVIEW有两种数据类型用来描述时间日期:时间标识和时间日期簇其中时间标识和DBL是等价的(精度稍微有些损失),二者之间可以直接转换,单位是秒。
反之,时间簇结构、DBL也可以转换成时间标识。
LABVIEW同时也提供了时间标识转换成字符串的节点,这样就可以特色制作自己的时间显示了使用时间格式代码指定格式,按照该格式将时间标识的值或数值显示为时间。
时间格式代码包括:%a(星期名缩写),%b(月份名缩写),%c(地区日期/时间),%d (日期),%H(时,24小时制),%I(时,12小时制),%m(月份),%M (分钟),%p(am/pm标识),%S(秒),%x(地区日期),%X(地区时间),%y(两位数年份),%Y(四位数年份),%u(小数秒,位精度)。
有关时间标识的一个非常重要的技巧是+ 、-运算符号的问题。
时间标识本质是浮点数,支持带单位的加减操作上图构造了10个元素的时间标识数组,时间间隔1分钟TIMESTAMP 精度测试。
(完整版)labview的介绍编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整版)labview的介绍)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整版)labview的介绍的全部内容。
(完整版)labview的介绍编辑整理:张嬗雒老师尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布到文库,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是我们任然希望 (完整版)labview的介绍这篇文档能够给您的工作和学习带来便利.同时我们也真诚的希望收到您的建议和反馈到下面的留言区,这将是我们进步的源泉,前进的动力.本文可编辑可修改,如果觉得对您有帮助请下载收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为 <(完整版)labview的介绍> 这篇文档的全部内容。
虚拟仪器系统及其开发程序LabVIEW介绍引言虚拟仪器是将仪器装入计算机,通过计算机的开发软件来实现仪器的功能的一种仪器测试测量系统。
目前开发虚拟仪器的软件程序为LabVIEW,用户只需通过软件技术和相应数值算法,就能实时、直接地对测试数据进行各种分析与处理,透明地操作仪器硬件,方便地构建出模块化仪器.从目前虚拟仪器的发展方向和广泛应用来看,不久的将来,虚拟仪器将广泛应用在气象观测和气象科普中,因此有必要对该系统作一番介绍。
一、电子测量仪器的发展电子测量仪器发展至今,大体可分为四代:模拟仪器、数字化仪器、智能仪器和虚拟仪器。
第一代模拟仪器,如指针式万用表、晶体管电压表等。
第二代数字化仪器,这类仪器目前相当普及,如数字电压表、数字频率计等。
LabVIEW深入探索之绝对时间、通用时间和相对时间2011-04-29 07:47加入收藏作为一种面向工程应用的编程语言,LV提供了非常丰富的时间操作函数。
8.X后又提出了新的有关时间的数据类型,时间标识(TIMESTAMP)。
时间标识早期通常翻译成“时间戳”,实际上是一种改进型的数值控件,从时间标识控件所在的控件选板就可以初步判断出,时间标识就是特殊的数值控件。
一、时间标识的内存映射要想真正了解一种数据类型,首要的问题是要搞清楚该数据类型在内存中或者文件中是如何存储的。
我们知道数值型控件可以选择控件所包含的数据类型,比如双精度浮点数、整型数、32位整型数、16位整型数等等。
时间标识控件是不允许选择它所包含的数据类型的,这说明时间标识所包含的数据类型是固定的。
从帮助文件中,我们可以找到时间标识在内存中的存储方式--映射。
LabVIEW将时间标识保存为一个含四个整数的簇,其中前两个带符号整数(64位二进制)表示自1904年1月1日周五凌晨[01-01-1904 00:00:00]以来无时区影响的所有秒数。
后两个不带符号整数(64位二进制)表示小数秒部分。
LV利用16个字节(128位)表示时间信息,其中前8个字节(64位)由两个I32构成,表示从0时刻开始经历过的秒数。
后面8个字节为U64数据,表示秒的小数部分。
二、时间标识与双精度数之间的相互转换在时间标识出现以前,经常用双精度数表示从0时刻经历过的秒数。
我们知道双精度数所占的内存空间也是8个字节,与时间标识相同。
但是时间标识实际上是定点数,它的小数点位置是确定的,因此实际上双精度数表示时间与时间标识相比,不如时间标识精确。
采用数值转换函数就可以实现时间标识和双精度数之间的相互转换,如下图所示:三、强制转换时间标识至数值既然我们已经知道了时间标识在内存中的存储方式,我们自然就可以通过强制转换函数分解出时间标识的两个组成部分,秒和秒的小数部分。
因为时间标识占有8个字节的内存空间,并分成前后各4个字节,因此可以创建一个簇或者数组来表示它,下面的例子创建一个簇,包含3个元素。
目录1 目的及基本要求 (1)2 闹钟原理 (1)3 闹钟设计 (2)3.1 时间设置模块 (2)3.2 格式化日期/时间 (2)3.3 小睡延迟功 (3)3.4 闹钟设置 (3)3.5 触发模块 (4)3.6 音乐播放模块 (5)3.7 闹钟的总体设计 (7)3.8 设计中遇到的问题 (9)4 运行结果 (9)4.1 初始界面 (10)4.2 设置时间 (11)4.3 设置铃音 (12)4.4 闹铃响起 (13)参考文献 (14)1 目的及基本要求熟悉LabVIEW开发环境,掌握基于LabVIEW的虚拟仪器原理、设计方法和实现技巧,运用专业课程中的基本理论和实践知识,采用LabVIEW开发工具,实现Labview实现闹钟程序的设计和仿真。
此次设计是基于labview的软件仿真设计,仿真一个闹钟使它具有定点报时的功能,硬件需求是一台安装该软件的电脑,软件设计需要实现它的所有功能包括以下:1.可以显示系统时间,通过和系统连接获得。
2.可以显示闹钟定时的时间,该时间可以手动设置,定时后的时间可以修改,整点报时。
3.闹钟具有小睡延时功能,过一定时间可再次响起。
4.当设定时间和系统时间相等时,触发闹铃铃声,还可以手动停止闹铃或者自动停止。
2 闹钟原理为保证数字钟的精度,时间的获取可直接获取系统时间,并通过相应的系统函数转换为年月日,时分秒等信息。
由于转换后的时间信息为数字,为直观地通过布尔类型显示,需要进行译码操作,译码操作的完成可通过独立的子VI完成,方便主程序调用。
为实现闹钟功能,需要有闹钟时间设置和闹钟提醒模块。
为了直观地模仿数字钟的时间设置,在程序中不提供数字输入的相关控件,而是通过布尔类型的按钮完成。
当闹钟设置开关处于关闭状态时,此时按下时、分设置按钮,相应的闹钟时间可以被调整。
闹钟设置模块也通过独立的子VI 完成。
程序运行期间会比较系统时间和设置的闹钟时间,当闹钟开关处于开启状态且闹钟时间到来时,指示灯会亮起,并且会发出警报声。
基于labVIEW的可定时闹铃时钟基于LabVIEW的可定时闹铃时钟引言计算机技术的发展,使传统仪器发生了革命性的变化,虚拟仪器应运而生。
虚拟仪器是90年代提出的新概念,短短的几年间,获得了突飞猛进的发展,说明虚拟仪器大势所趋,是21所谓虚拟仪器就是世纪自动测试与电子测量仪器领域技术发展的重要方向。
何为虚拟仪器?基于计算机平台,利用其强大的软件和硬件资源,实现传统仪器的全部功能。
从表现形式上看,虚拟仪器没有传统仪器那样具体的物理结构,取而代之的是用计算机的软件系统实现的虚拟面板和插在计算机插槽内的电路板插卡。
因为软件是虚拟仪器的真正核心,通过软件设计可以实现和改变仪器的功能,故使得虚拟仪器在性能、易用性、用户可定制性等方面具有很多优点。
在一些大的测控场合,组成以计算机为核心的虚拟测控系统,更体现了虚拟仪器无与伦比的优越性:体积小、功能强、易组合,便于对多元信息系统的处理,使测控系统向小型化、测量功能多样化、信息处理多元化的方向发展。
开发和设计虚拟仪器,可使用LabWindows,CVI,LabVIEW,?sualBasic等语言[1J。
采用图形化编程语言kb?W7(0,设计出了任意波形发生器。
在现代电子测量仪器中,任意波形发生器(arbitrary waveformgenerator,AwG)作为当代最新的一类信号源,正日益引起人们的重视。
它不仅能产生传统函数发生器所有的正弦、余弦、方波、三角波、斜波等常见波形以及衰减振荡正弦、指数形脉冲等复杂波形,而且能根据实际测试需要产生用户想要的任意波形。
通常在靶场测试中,评价测试设备性能的方法是进行大量重复性的射击实验来获取数据,然后利用这些数据对设备进行检验。
但在某些特殊场合,例如弹丸造价昂贵,不适合进行大量的重复实验。
基于这种背景下提出了一种利用虚拟信号源来模拟现场复杂的弹丸信号,以此对靶场设备进行测试评定的方法,并根据这种需要设计了任意波形发生器。
基于LabVIEW的闹钟程序编写目的:用LabVIEW软件编写一个小的闹钟程序,要满足有以下功能:●可以实现时钟即时显示●添加万年历显示●添加闹钟自动屏蔽周末●可手动设置闹铃工作日仪器设备简介:LabVIEW(Laboratory VirtualInstrumentEngineeringWorkbench)是一种用图标代替文本行创建应用程序的图形化编程语言。
传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而LabVIEW 则采用数据流编程方式,程序框图中节点之间的数据流向决定了VI及函数的执行顺序。
VI指虚拟仪器,是LabVIEW 的程序模块。
LabVIEW是图形化编程语言,也是第三代的编程语言,LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。
LabVIEW提供很多外观与传统仪器(如示波器、万用表)类似的控件,可用来方便地创建用户界面。
用户界面在LabVIEW中被称为前面板。
使用图标和连线,可以通过编程对前面板上的对象进行控制。
这就是图形化源代码,又称G 代码。
LabVIEW的图形化源代码在某种程度上类似于流程图,因此又被称作程序框图代码。
步骤及内容:1)实时时间的显示实时时间的显示采用表盘式,表盘式的采用LabVIEW自带的转盘控件具体如下图所示。
图1 表盘式时钟在这里需要说明的是,软件自带的量表控件只有一根指针,需在属性中添加指针变成三个指针(分针、时针、秒针),但是指针长短是一样的,这样便无法区分时针分针,这里采用一种简单的办法来实现区分时针、分针的转盘,原理就是建立两个转盘控件,一个作为秒针以及分针,另一个作为时针,同时时针控件通过自定义删除除指针之外的所有东西,然后将之覆盖在分针、秒针表盘上面,变成为如上所示的时钟转盘。
电子时钟labview-()————————————————————————————————作者:————————————————————————————————日期:目录1目的及基本要求 02 电子时钟原理 (1)3电子时钟设计和仿真 (2)3.1 具体设计步骤 (3)3.2 前后面板 (12)3.3 设计中遇到的问题 (14)4结果及性能分析 (14)4.1 运行结果 (14)4.2 性能分析 (15)参考文献 (16)1 目的及基本要求熟悉LabVIEW开发环境,掌握基于LabVIEW的虚拟仪器原理、设计方法和实现技巧,运用专业课程中的基本理论和实践知识,采用LabVIEW开发工具,实现电子时钟的设计和仿真。
要求通过本课程设计使学生熟悉LabVIEW开发环境,掌握基于LabVIEW的虚拟仪器设计原理、设计方法和实现技巧,使学生掌握通信系统设计和仿真工具,为毕业设计做准备,为将来的学习及今后从事科学研究、工程技术工作打下较坚实的基础。
本课程设计要求实现电子时钟的设计与仿真,即通过获取电脑的系统时间,并分离出给数字,在通过布尔显示显示。
数字的显示主要是7个长条的布尔显示组成,原理与7段数码管相似。
7段数码管显示不同的数字主要通过其7个布尔不同的真假值控制,将0-9对应的7段布尔显示值依次存入一个布尔数组里,只需提取此数组的不同段即可让其显示不同的值,如显示“0”提取数组的0-6位分别赋值给7段布尔显示。
以此类推,可以实现九位数字即0到9的可视化显示。
而且要求实现时钟功能多样化,比如加入显示时段、星期,甚至实现闹钟功能,可以自定义时间显示等,做到界面简约而生动,方便操作和用户理解。
2 电子时钟原理由于电子时钟在现实生活、工作中,特别是在科学研究工作中有非常很重要的、广泛的应用。
在这种情况下,对电子时钟的研究和制作、仿真是十分很重要。
本文就对基于LabVIEW的电子时钟的设计与仿真做详细的说明。
本课程设计要求实现电子时钟的设计与仿真,即通过获取电脑的系统时间,并分离出给数字,在通过布尔显示显示。
数字的显示主要是7个长条的布尔显示组成,原理与7段数码管相似。
7段数码管显示不同的数字主要通过其7个布尔不同的真假值控制,将0-9对应的7段布尔显示值依次存入一个布尔数组里,只需提取此数组的不同段即可让其显示不同的值,如显示“0”提取数组的0-6位分别赋值给7段布尔显示。
以此类推,可以实现九位数字即0到9的可视化显示。
电子时钟的基本设计思路是通过可以获取时间的控件来获取相关信息,如:年、月、日、星期、时、分、秒等,可以返回当前时间的时间标识。
LabVIEW将时间标识计算为自1904年1月1日星期五12:00 a.m(通用时间)以来的秒数。
使用转换为双精度浮点数函数,将时间标识的值转换为精度较低的浮点数。
取得的值最终为整型数据,利用除数取余即可分离个十位。
设计中要用到自动获取时系统时间的控件、指示灯、获取日期/时间(秒)、格式化日期/时间字符串、截取字符串、While循环、条件结构(Case结构)、常量、局部变量、真常量、假常量等等,通过基本的连接就制作好一个电子时钟了。
自动获取时系统时间的控件主要是用来获取时间和分离时间,格式化日期/时间字符串:使用时间格式代码指定格式,按照该格式将时间标识的值或数值显示为时间。
时间格式代码包括:%a(星期名缩写),%b(月份名缩写),%c(地区日期/时间),%d (日期),%H(时,24小时制),%I(时,12小时制),%m(月份),%M (分钟),%p(am/pm标识),%S(秒),%x(地区日期),%X(地区时间),%y(两位数年份),%Y(四位数年份)等。
并利用常量和偏移量截取字符串由七段数码管输出,时间输出和日期输出都同理。
为方便用户操作和时钟功能多样化,可以自定义时间显示与输出,基本原理就是创建一个子.VI文件,与主程序相连,运行时,先运行子.VI文件,再运行主程序,即可完成自定义时间的显示与输出。
为了获得更好的显示效果将背景改为黑色,布尔显示的颜色为绿色。
如下图所示,即最终显示效果图:图1 电子时钟效果图3 电子时钟设计和仿真首先熟悉虚拟仪器的设计思想,而后便可着手进行电子时钟的相关设计,控件架构以及函数设置。
3.1 具体设计步骤1.时间设置获取时间的各整型数据,软件中获取日期/时间(秒)控件从计算机系统中自动提取时间,并转换成日期、时间等,控件图如下:图2 时间设置控件图2.时间显示通过除10取余便可得到个位,商为十位,以此方法也可求出年的各个数字,取出各位数字后,并不可直接显示,要通过统一编码规范显示的格式,这样才能显示各位数。
要显示数字时,只需将数字乘以7,再将乘积的值作为索引在那存放真值的数组里寻找对应显示的七个布尔显示控件的值。
如显示‘2’,则从数组的第2*7=14位开始,依次取出7个(分别代表着七个布尔的真值),其他也同理。
最后捆绑成簇,因为七段显示布尔已做成簇。
如下数码管显示图,其包含七段显示布尔,即A、B、C、D、E、F、G,如显示“0”的时候,将其分别置为1111110,即可显示数字“0”(“1”代表真,“0”代表假),其他的同理。
但在显示时间的时候,要用六个方形指示灯,对应时、分、秒,每个占用两个指示灯;用两个圆形指示灯表示时分秒之间的冒号间隔。
这其中包括截取字符串,截取字符串即返回输入字符串的子字符串,从偏移量位置开始,包含长度个字符。
连线板显示了该多态函数的默认数据类型。
字符串是输入字符串,偏移量是起始位置并且必须为数值。
字符串中第一个字符的偏移量为0。
如没有连线或小于0,则默认值为0。
长度必须为数值。
如长度没有连线,则默认值为字符串长度减去偏移量。
子字符串如偏移量大于字符串的长度,或长度小于等于0,则值为空。
如长度大于或等于字符串长度减去偏移量,则子字符串是从偏移量开始的剩余部分。
控件图如下所示:如下图所示,数码管显示数字“5”,即对应的A、B、C、D、E、F、G分别置为1 0 1 1 0 1 1,这样就显示出了数字“5”。
图3 数码管显示图4 时间显示控件图3.时段显示即用电子时钟显示当前时段,一般可以分为四个时段,即:凌晨、上午、下午和晚上。
控件图如下:图5 时段显示控件图4.星期显示数字时钟具备显示星期的功能,一周分为七天,从星期一一直到星期天,相关控件如下:图6 星期显示控件图5.日期显示即通过数字时钟显示当前年、月、日,由于年份要用四位数来表示,月份和日期各用两位数来表示,则就要用到八个方形指示灯来显示,需要先将由系统得到的时间转换为字符串数值然后输出,具体控件图如下:图7 日期显示控件图6.闹钟设置为保证电子时钟功能多样性,可以加入闹钟,从而极大丰富时钟的功能和人性化程度,即通过定时,在定时时间到时,可以相应发出声音,从而起到闹钟的功能。
具体控件图如下:图8 闹钟设置控件图7.自定义时间设置在电子钟的设计过程中,除了能获取当前系统时间外,还可以自己自定义时间,即可以手动输入时、分、秒并通过电子时钟显示出来。
在本设计中,即设计一个子.VI文件,并和主程序相连,从而实现此功能。
相关控件图以及其前面板图如下:图9 自定义时间设置图10 自定义时间设置前面板8.退出设置按Esc之后,停止并退出,如下图所示:图11 退出控件图3.2 前后面板1.前面板图12 前面板 2.程序框图图13 系统程序框图3.3 设计中遇到的问题由于是第一次进行LabVIEW的课程设计,缺乏相关的设计经验,因此一开始的时候确实无从下手。
但是经过老师和同学的指点,包括自己独立思考与查阅相关资料,我渐渐对这个软件熟悉了,并且觉得图形化编程的好处实在是非常多的。
设计电子时钟期间,我确实遇到了许多的问题。
由于对编程软件的不熟悉,导致在找相关控件时花费了许多时间,而且常常找到的是错误的控件,这直接造成程序运行失误。
这一点在熟悉软件之后,好了很多。
其次,在熟悉设计原理的时候,由于对相关逻辑关系以及函数关系的不太熟悉,也绕了不少弯子。
后期,在总体完成电子时钟的设计后,基本功能都得到了实现,但是一直显得不太美观。
数字时钟功能很简单,实现起来也很简单,但要做得美观、简洁却不那么容易。
比如让其显示更多生动的字体,在一个小窗口里实现更多的动画。
程序要实现丰富的内容及完美的界面主要还是要靠扎实的基础,掌握各控件的使用及各类型的模块间的转换。
本来把本次课程设计的界面显示做成各种字体的,但由于时间及能力的关系,没有做得更好。
这一点很遗憾,但愿有机会可以弥补。
总体来说,设计过程遇到的问题不少,但是收获也更多。
在学习了信号与系统、通信原理等课程之后,这实在是一个极好的学习机会与动手机会,也算是为大四的毕业设计做了一个良好的准备,于我而言,受益良多。
4 结果及性能分析4.1 运行结果1.从当前系统获取时间后,运行如下:图14 运行效果图2.自定义时间设置效果图,如输入12时12分13秒,则系统显示时间如下:图15 自定义时间显示效果图4.2 性能分析从大体上说,本设计实现的电子时钟实现了大部分的功能,除了最基本的显示年、月、日、时、分、秒之外,还可以显示时段和星期,甚至还可以实现闹钟定时的功能,而且增加了自定义时间控制的功能。
而且界面设计美观而简约,布局也还算合理,操作也足够简单。
由于LabVIEW轶件的优越性,用它来制作和仿真数码管电子钟是很方便的,是其它轶件不可比拟的。
这次制作数码管电子钟,所用的控件不多,主要用到了指示灯、获取日期/时间(秒)、格式化日期/时间字符串、截取字符串、While循环、条件结构(Case结构)、常量、局部变量、真常量、假常量等等,通过基本的连接就制作好一个电子时钟了。
在仿真时,通过和计算机时间的对比,完全符合要求,仿真性能很好,达到了这次研究和制作数码管电子钟的目的。
此电子时钟能运用于人们的工作中,特别是科学研究的一些仿真实验中,也可以为广大的科学工作者提供方便。
但是这次制作的数码管电子时钟有点大,这是为了大家更好地了解电子时钟。
在实际应用中,从制作成本上讲,这样的数码管电子时钟是比较小的,这一点上可以做得更好。
参考文献[1] labview入门与提高.赵品编著.人民邮电出版社.2000.11[2] labview 高级应用.赵品编著.人民邮电出版社.2000.11[3] labview印刷电路板设计教程.肖玲妮编著.清华大学出版社.2003.8[4] labview完全自学手册.龙马工作室编著.人民邮电出版社.2005.10.2[5] 虚拟仪器设计基础教程.黄松岭,吴静著.清华大学出版社.2008[6] AMTLAB和 LabVIEW仿真技术及应用实例.聂春燕,张猛,张万里著.清华大学出版社.2008[7] 测试工程与LabVIEW应用.戴鹏飞,王胜开,王格芳,马欣著.电子工业出版社.2006。