基于LabVIEW的数字钟研究与设计.docx
《基于LabVIEW的数字钟研究与设计.docx》由会员分享,可在线阅读,更多相关《基于LabVIEW的数字钟研究与设计.docx(24页珍藏版)》请在冰豆网上搜索。
基于LabVIEW的数字钟研究与设计
内容摘要:
本文从虚拟仪器的起源和发展讲述虚拟仪器,并简单概括了它的功能。
然后将它与传统仪器的区别做了一个简单的比较,之后全面的讲解了虚拟仪器设计技术,和LabVIEW的运用。
详细的阐述了数字钟的原理与构成,以及数字钟的发展前景。
并运用基于LabVIEW的虚拟仪器,研究与设计数字钟,使虚拟仪器在实验操作中的优势得到充分的体现。
通过分析虚拟仪器技术在数字钟研究与设计中得到实际的运行效果,表明了该虚拟仪器设计过程简单、方便,而且具有性能稳定、使用方便灵活以及节约成本等特点,在研究中可以得到广泛的应用。
关键词:
LabVIEW;虚拟仪器;数字钟
Abstract:
This article is a general introduction of the origin and development of the virtual instrument, and a brief introduction, comprehensive introduction to the technology of virtual instrument design, and the use of LABVIEW virtual instrument, as well as more traditional instruments and virtual instrument. Describes in detail the principle and structure of the digital clock. And the use of LABVIEW based virtual instruments, research and design, digital clock, so that the advantages of virtual instrument in the experimental operation to be fully reflected. Actual operating results through virtual instrument technology in the research and design of the digital clock, indicating that the virtual instrument design process is simple, convenient, and with stable performance, easy to use and flexible, and cost-saving features in the study can be widely application.
Keywords:
LabVIEW;virtualinstruments;digitalclock
1绪论
仪器与计算机结合是必然的体现,这里有两种方法。
一种是在仪器中装入计算机,我们知道,就现在这个社会,计算机的发展是飞速的,这种结合也同样使仪器飞速发展,目前已经出现含嵌入式系统的仪器。
另一种正好相反,是在计算机里面装入仪器,这种方法以计算机为基础,从而实现各种仪器,我们所说的虚拟仪器(virtualinstruments)就是这样的,利用计算机强大的功能,与计算机的软硬件,实现多种仪器组合,达到一般仪器无法实现的功能。
1.1仪器的发展
1.1.1仪器的发展
科技在不断的前进,生活也随着科技的发展而提高,仪器必然也有它的发展:
1、第一代仪器:
模拟仪器。
这种仪器主要通过模电技术去实现,最后的结果通过指针的方式来表现。
2、第二代仪器:
数字化仪器
就现状来看,使用比较广泛的是数字化仪器,如数字电压表等。
这种仪器其主要的功能就是实现模数转换,将原本是模拟信号的测量最终转化为数字信号的测量,并输出结果。
3、第三代仪器:
智能仪器
智能仪器中包含了微处理器,它不仅可以进行自动测量,而且还具有一定的数据处理方面的能力,因而可以取代部分脑力方面的劳动,这是它的优点。
只是这种智能仪器无论是应用方面还是开发方面,灵活性很不足,因为它全部功能都是以固态的形式而存在,不能像软件那样随便的拓展。
4、第四代仪器:
虚拟仪器
由现代计算机技术和测量技术相结合的而成的产物,从而诞生了我们现在所称的虚拟仪器,它的诞生可以说得上是在传统仪器的基础上一次巨大的变革,从而奠定了将来仪器的发展方向。
1998年,虚拟仪器产品陆续上市,从此以后,虚拟仪器产品更是快速的增多。
纵观仪器的发展史,我们可以发现仪器领域已经历了两次伟大的技术革命。
分别是:
由数字电子的发展从而引起的一次革命,和由微型处理器的应用从而引起的另一次革命。
第一次仪器革命使仪器的形态从模拟仪器时代进入了数字化仪器时代;第二次仪器革命使数字化仪器时代仪进入了智能仪器时代。
就目前看来,仪器将进入虚拟仪器时代,这次仪器革命是由计算机的发展而引起,计算机的进步就体现在它的软件和硬件之上。
1.1.2虚拟仪器的发展
从1970年起,那时国防领域和航天领域的计算机测控方面已经有了相当大的发展。
而后,自从PC机出现,计算机化仪器级成为了很大的可能,甚至美国国家仪器公司(NI)已经在Macintosh计算机上推出了LabVIEW,时间是在微软公司的Windows系统诞生之前。
美国国家仪器公司(NI)对虚拟仪器以及LabVIEW认真、全面、透彻的研发,使得他们的公司成为了虚拟仪器业界公认的权威。
逐渐走向成熟的虚拟仪器从提出想法到目前技术上有很大的发展,直接表现出传统工业的革命中计算机技术的重大突破。
大致说来,纵观虚拟仪器的历史,经历了三次革命,但是也发展成为一并进行的三个进程。
使用计算机增强传统仪器的功能是第一进程。
由于树立了GPIB总线标准,使计算机不再拥有独立的功能,让它和其他计算机之间的交流得以实现。
如果用户需要用计算机操作仪器,达到两者之间协同工作,仅仅需要将GPIB和RS-232将其与计算机联结就可以实现操作。
随着计算机系统性能不断上升,计算机的应用也越来越普遍,这种发展是必然的趋势。
在这一阶段虚拟仪器几乎是直线上升的发展。
开放式的仪器构成是第二进程。
其中插入式计算机数据处理卡和VXI仪器总线标准的确立,这两大技术性的发展出现在仪器硬件上。
这些新技术使虚拟仪器的发展有了很大的提高,不仅处理了在上一个阶段内在供应方面以及设定仪器功能方面的不同,并且开放了仪器的构成,使之为广大用户所了解。
虚拟仪器框架得到了广大群众的认同与好评,最终采用是第三阶段。
因为软件领域一般采用面向对象的编程思想,所以开发了框架封装任何用户构建虚拟仪器需要知道的东西,使用户的操作更为便捷。
硬软件所涉及的行业直接导致了很多的行业有了自己的准则,某些虚拟仪器平台也就成为了该行业的权威准则工具并得到认可。
至此,人们也逐渐认识到了框架对于虚拟仪器的重要性,若想要实现一般仪器所具有的功能,例如:
数据采集方面,框架就是实现目的的重点。
1.2虚拟仪器的分类
微型计算机在不断的随着时代的发展而发展,虚拟仪器的关键部分也随着微型计算机而发展,另外它所采用总线方式的不同,可将虚拟仪器分为五种类别:
一、PC总线——插卡型虚拟仪器
这个种类是由数据采集卡插入计算机内再加上专用的软件形成的,如LabVIEW相配合的图形化界面的编程工具,它可以自已自由的组建各种需要的仪器。
Labview/cvi是一种让文本编程更高效的编程开发工具,它让计算机的硬件和性能得到了充分的利用。
但是也有很多缺点。
例如:
由于受个人电脑机箱的限制,首先机箱内的噪声比较大,然后是插槽数目太少而且尺寸不符合等。
另外,PCI总线虚拟仪器的价格比较昂贵。
二、并行口式虚拟仪器
这一类是一种测试装置。
这种装置是联结到计算机的并行口进行的,然后在一个采集盒中集成它的仪器硬件。
在计算机上安装仪器软件,一般可以完成对各种仪器测量测试的功能。
美国LINK公司开发的虚拟仪器,功能比较丰富,对并行口运用恰到好处。
他们让虚拟仪器既可以与台式电脑相连,还能够和笔记本电脑相连,非常方便。
而且这种虚拟仪器的价格比较低,比较受广大群众的欢迎,从而比较广泛的适用于研发人员和各个实验室。
三、GBIB总线方式的虚拟仪器
这种虚拟仪器的出现直接实现了计算机对仪器的控制,替代传统的人工操作方式,而且我们可以将以前的传统方式的电子测量进一步发展,将多台仪器组合,让人工操作单台的系统向大规模自动测试系统发展。
测量系统的结构和命令简单这些是GPIB的特色,而且这种方式不要求长期应用处于高速传输状况的计算机,只是对台式机器的精准度要求比较高。
四、VXI总线方式虚拟仪器
不会随意变动的电源,十分强悍的冷却能力以及完美无缺的RFI/EMI屏蔽能力,这是VXI总线具有的特征。
它是一种VI领域的扩展的高速计算机总线VME总线。
VXI系统历经十多年的发展也越来越成熟,它的组建大、中规模自动测量系统也越来越得到广大群众的认可,特别是对速度、精度要求高的场合,这中优势是其他仪器无法比拟的。
但是它的造假比较高,而且组装VXI总线方式虚拟仪器有一定的困难。
五、PXI总线方式虚拟仪器
PCI在仪器领域的扩展直接形成了PXI。
它将PCI总线技术扩展成适合于实验、适合于数据采集和电气、软件、仿真方面的全新标准,以全面形成新的虚拟仪器的标准结构。
制订PXI规范的目的就是为了将台式的个人电脑的性价比优充分体现,并全面运用台式个人的电脑的硬件设施,最后将PCI总线对虚拟仪器方面的扩展结合起来,形成一种完美、实用的虚拟仪器平台,这必然是虚拟仪器在未来发展的主流方向。
1.3与传统仪器的比较
独立的传统仪器,例如数字信号示波器,与虚拟仪器做比较,只能显示波形,虽然性能强大,但是价格昂贵,而且功能只有一方面,只能完成一种类型的工作。
因此,传统仪器都无法扩展他的功能和效果,仪器的整体结构,电路布局,开关按钮都是固定点,用户无法修改的。
我们不妨把虚拟仪器与传统仪器加以比较。
比较结果如下表1-1所示:
传统仪器
虚拟仪器
主要是硬件
主要是软件
开发和维护的费用较高
开发和维护的费用较低
技术更新的周期长
技术更新的周期短
价格高
价格低,并且可重用性与可配置性强
厂商定义仪器功能
用户设计功能
系统封闭、固定
系统开放、灵活
不易与其他设备连接
容易与其他设备连接
表1-1
从表1-1中可见,传统仪器与虚拟仪器二者之间的主要区别在于:
后者在使用时可以自己设计开发功能,而前者的功能却是由厂商定义好的。
从这方面看来,那些仪器如果是功能已经固定了,不管是否有其他特点,都不能被我们叫做虚拟仪器。
而且,没有面向科技与工程人员的图形化开发平台就难以涉及虚拟仪器。
但是一些很显而易见的缺点在一般的个人电脑上存在,例如:
用它来建立虚拟仪器的效果可能比较低。
由于微机化仪器的一个重要发展方向是开发了VXI标准,这种标准相当于让每一种仪器是一个插卡,而且要保证仪器的性能和使用较多的硬件。
只是这种卡式仪器采用的显示方式,还是在计算机屏幕上以虚拟形式出现。
只是VXI仪器的价格十分高,而后,为了解决这个问题,又推出了一种PXI标准仪器,相比较而言,这种仪器的价格就稍微低廉一些了。
2虚拟仪器软件体系
2.1虚拟仪器概述
利用计算机的硬硬件资源和软件资源,使本来需要硬件实现的技术虚拟化,以至于不仅仅增强系统的性能与功能,而且降低系统成本,是虚拟仪器技术最核心的思想。
美国国家仪器有限公司基于软件在VI系统中的重要作用,提出了"软件就是仪器"的口号。
VISA库、仪器驱动程序、应用软件这三部分都是虚拟仪器软件的框架。
VISA(VirtualInstrumentationsoftwareArchitecture)虚拟仪器软件体系结构,实质就是标准的I/O函数库及其相关规范的总称。
一般称这个I/O函数库为VISA库。
它是一个个可以随便调用的函数集合,是为了让计算机对仪器的远程控制。
像这样必须把计算机与仪器之间的软件层联结起来,才能达到想要的要求,它是存在与计算机的系统之中的VISA库去施行仪器总线的一种比较特别的功能。
仪器驱动程序是完成对某一特定仪器控制与通信的软件程序集。
它是应用程序完成仪器控制的必需品,仪器厂商会把其驱动程序以开源形式处理,他们会把源代码给客户。
应用软件是直接面对客户的,前提是装好驱动程序,并且提供丰富多彩的界面,形象的图标给用户使用,借以完成自动测试任务。
2.2LabVIEW简介
LabVIEW的概念,是将前面板与流程图结合得以勾践虚拟仪器的工具。
LabVIEW是一种在业界领先的工业标准图形化编程工具,是专门为程序员和科学家设计的直观图形化编程工具,它的全称为实验室虚拟仪器开发平台。
它所建立的虚拟仪器系统是基于软件和计算机及各种不同的测量仪器硬件集成在一起,用来形成用户自定义的解决方案,成为专门数据采集与仪器控制,数据分析和数据表达而设计的图形化编程软件,使创建的程序模块化,易于调试,理解和维护,而且程序编程简单、直观,因此特别适用于数据采集处理系统。
LabVIEW的前面板是它的一大特色,它是一种扩展,因为它不仅仅具有传统仪器的效果,更是创建了一种的接口,类似定义一种标准,不管用户怎么去实现、定义,都是按照这个标准而来的。
并且,不像硬件前面板,硬件前面板只有一个定死的功能,但是软件前面板包含了不同的应用场合不同的参数,用户可以把整个系统看作一个虚拟仪器,由一对多,从一台控制多台。
LabVIEW集成了很多仪器硬件库,如GPIB/VXI/PXI/基于计算机的仪器、RS232/485协议、插入式数据采集、模拟/数字/计数器、I/O、信号调理、分布式数据采集、图像获取和机器视觉、运动控制、PLC/数据日志等。
与传统的编程方式相比,使用LabVIEW效率会有很大的提高。
2.3LabVIEW的开发环境
LabVIEW的开发环境分为三部分:
前面板(panel)、框图程序(DiagramProgramme)和图标/连接端口(Icol/rerminal)。
用来设置输入数值和输出数值的前面板,也称为图形化用户界面。
我们可以在前面板中看到,Control代表工作量,Indicator代表输出量,他们通过各种图标如开关、按钮、旋钮、图标等出现在前面板上,借此来模拟真实仪器。
数据连线(Wire)和节点(Node)组成框图程序,前面板上的控制对象即输入量和输出量由它通过图形语言来进行控制,函数和功能调用通过节点来实现,程序执行过程中的数据流是由数据连线来表示,它定义了程序框图内的数据流向。
为为了实现模块化编程的思想,是将LabVIEW的程序定义成一个子程序,而且这个子程序是由图标/连接端口实现去实现的,其他程序框图中调用子程序的节点表示形式是图标,而且节点数据的输入、输出口的是通过连接端口来表示的。
工具模板(ToolPalette)、控件模板(ControlsPalette)和功能模板(FunctionPalette)分别是LabVIEW的3个可移动的图形化工具模板。
定位、连线、断电、标注、文字注释等用于图形操作的各种工具都位于工具模板;前面编辑所需要的图像图标、一些特殊的图形均位于空间模板;其他功能函数和有些基本的数学函数则由功能模板提供。
这三个模板是LabVIEW编程的主要工具。
2.4LabVIEW的程序构成与模块简介
LabVIEW的核心是VI(G语言编写的程序)。
该环节包含三个部分:
程序前面板(FrontPanel)、程序框图(BlockDiagram)以及图标/连接端口(Icon/Connector)。
2.4.1前面板(FrontPanel)
我们与用户交流要通过前面板来实现,前面板就类似于传统仪器的面板,当然面板上就会有开关,旋钮,表头,图形,图表等对象,这些对象可分为两类:
用户输入和显示输出。
前面板的界面如下,图2-1:
图2-1
前面板的控件如图2-2:
图2-2
如图2-3所示的是一个正弦函数VI的前面板。
图2-3
2.4.2程序框图(BlockDiagram)
程序框图和前面板是一一对应的,前面板上的输出与输入功能都由后台的程序框图控制操作着,程序框图中VI的源代码是实现程序的核心,程序框图由节点、端口和连线等主要元素组成。
如图2-4,所示的是一个正弦函数产生和显示VI的程序图。
图2-4
程序框图的部分功能模块,如图2-5:
图2-5
2.5用LabVIEW设计虚拟仪器的步骤
LabVIEW编程一般要经过以下几个步骤。
1、总体设计:
根据用户需求,进行VI总体结构设计,确定面板布局与程序流程,并保证所使用的虚拟仪器硬件在LabVIEW函数库中有相应的驱动程序。
2、前面板设计:
在LabVIEW的前面板编辑窗口内,利用工具模板和控件模板进行VI前面板的设计。
3、方框图编程:
在LabVIEW的方框图编辑窗口内,利用工具模板和函数模板进行方框图编程。
4、程序调试:
单击前面板编辑窗口或方框图编辑窗口工具条中的运行按钮,执行VI程序;同时可利用LabVIEW工具模板中的断点工具和探针工具调试缩编程序。
3数字钟原理及设计概要
3.1数字钟的简介
数字钟是一种利用数字显示的时钟,不同于以前的机械时钟用硬件组成。
数字钟是通过电路来实现的,而且实用性更加方便,价格也更加便宜。
它有很多种设计方案,例如:
可以用单片机构成数字钟显示,或者用数字钟芯片并为它配以显示设备构成数字钟。
这些方法各有千秋,其中单片机数字钟更为广泛和实用。
数字钟已经成为了我们生活不可或缺的物品,例如在公交车站、公园、某些公众场合的显示都有数字钟的存在,数字钟给我们的生活带来了极大的方便。
像我们平常所见到的定时自动报警、自动电铃、定时广播等,这些日常生活的设备,全部是以数字钟为基础进行开发和研究的。
因此,研究数字钟的功能,是一件很有意义的事。
当前市场上已有现成数字钟集成电路芯片出售,价格较便宜。
由于现在科技的发展,特别是数字集成电路的飞速发展,使数字钟具有性能稳定,携带方便,易于维修,时间精确等特色,是目前人们日常生活中必不可少的报时用品。
3.2数字钟的发展前景
在这个高速发展的摩登时代。
新产品、新技术层出不穷,电子技术的发展更是日新月异。
在这样的生活中,我们也越来越重视数字产品,更加注重时间,同样也关注时间与数字产品的结合之物——数字钟。
在这个时代,时间对于我们是一个很非常重要的物品,直接关系着我们生活的每一步。
因而数字钟更加体现了它的价值,数字钟有着无可限量的前景!
随着生活质量的提高,人们对数字钟的要求也越来越高,不仅仅是以前的LED数字钟,还有更多的产品,例如数字闹钟,数字备忘录、单片机数字钟等。
单片机数字钟是一种应用极广、产业链以及供应链庞大的数字钟,只不过单片机数字钟的底层结构和它所实现的原理、具备了何种技术等这些方面,知道的人却寥寥无几。
以单片机作为核心,控制数字钟,并将信号输出到显示屏上,显示屏可由LED或者液晶屏幕实现,最后由键盘可对数字钟进行校对与定时。
3.3单片机在数字钟中的应用
精准度较高的时间系统绝大部分均采用了石英晶体振荡器,电子时钟,石英表,石英钟正是因为采用了这种技术,故时间显示准确,性能平稳,简单易用,且长时间无需校准。
数字式电子钟摆脱了“动力驱动式”的方式,由ASIC精确计算时间和解析码元序列,以电子显示装置取代原有的针式指示方式,极大地降低了时间显示的不准确性,这类时钟将时分秒的特性以数字的形式显示出来,并能对时间进行自动的校准。
如今随着技术的不断深入,使用者对计时系统的要求也逐渐提升,计时装置从内部技术到组成机构都发生了质得飞跃,更能满足使用者的需求。
在多功能计时器中,采用单片机技术也是相当常见的,单片机扮演着定时器心脏的重要角色,由它本身的电子时钟频率去实现计时系统的时间计算功能,并将结果输出以数字形式显示在显示设备上,并能通过外设对时间定位、校准。
单片机由于优质的性能和合理的价格广受使用者的青睐,它体积微小、适用广泛、价格合理、性能稳定,故被普遍的应用于各种电器、自助监控、电子设备中。
51单片机中最常见最基本的一种,如89C51芯片则齐聚了硬件设备的基本功能,输入输出端口齐全,只需导入程序,便可实现微处理器的控制功能和数据处理功能,为追求灵活的数据处理机制,单片机还设置了加减乘除的指令集。
在单片机的实际应用中,使用者可以根据自己的实际需求,配置相应级别的芯片级电路,从而保证系统稳定的运行。
3.4数码管在数字钟中的应用
数码管分为七段数码管和八段,其中八段的比七段多一个小数点;数码管也有共阳极和共阴极之分。
其中共阳数码管是指将全部的二极管的阳极连接在一起,在应用时应将公共极COM接到+5V,当相应的阴极接通时,而且阳极处于高电平,阴极处于低电平时,那一段就会亮。
共阴数码管正好与共阳极数码管相反,共阴极是将全部的二极管的阴极连接在一起,在应用是将阴极COM接到地线GND上,当相应的阳极接通时,而且阳极处于高电平,阴极处于低电平时,那一段就会亮。
七段数码管的引线如图3-1。
图3-1
七段数码管价格低,耐用性高。
对于数码管的显示,在单片机的应用中一般分为静态显示与动态显示。
静态显示就是指数码管的显示为固定,不会随便的改变;而动态显示则是因为某些因素使数码管的显示会有变化。
一般来说我们都是采取动态显示。
3.5设计描述
数字钟一般是由振荡器、分频器、计数器、显示器等几部分组成。
数字钟可采用多谐振荡器产生振动为1s的脉冲,并将脉冲信号进行计算,最后将结果累加,并以“时”、“分”、“秒”的形式显示出来。
所有的计时结果由七段数码管显示,如图3-2为数字钟电路系统的组成框图。
图3-2
4数字钟的设计方案
4.1界面构成
图4-1
数字显示使用布尔方形指示灯,模仿7段数码管结构,构成数字显示如图4-1。
4.2格式化日期/时间字符串
图4-2
使用代码指定时间与日期的格式,按照该格式将时间标识的值显示出来,如图4-2。
程序中使用两个时间格式代码,分别是:
%H-%M-%S:
24小时-分钟-秒
%Y-%m-%d:
四位数年份-月份-日期
4.3截取字符串
图4-3
返回输入字符串的截取后字符串,从偏移量开始,包括长度个字符。
如图4-3:
从偏移量7开始,包括1个长度字符。
4.4十进制数字符串至数值转换
图4-4
该器件的作用为类型转换,把字符串转换成数值型,如图4-4。
前面获取的系统时间,得到的格式为字符串类型。
为了让后面指示灯的输入值应该为数值型,这里必须有一个转换的过程。
4.5条件结构
图4-5
如图4-5,使用条件结构,控制某一数位上数字0~9的显示情况。
4.6时间闪烁信号
图4-6
如图4-6,获取时间秒后一位小数,与0.5进行大小判断,输出0或者1。
即让4个布尔指示灯,0.5秒进行闪烁。
4.7结构循环
图4-7
如图4-7,使框框里面的整个程序循环。
While循环是Labview中用的最多的程序结构,理解好While循环是用好Labview的必要基础。
以下是while循环的正式解释:
“重复执行内部的子程序框图,直到条件接线端(输入端)接收到特定的布尔值。
While循环至少执行一次。
”
简单的理解就是先执行完框内的所有程序,再判断循环条件,并以此往复!
在while循环的左下角有个型为i的端口,即循环的计数端口,表示已完成的循环次数,可以当输出接线端。
右下角的红色圆是条件接线端口,可以通过右键快捷菜单选取真(T)时停止或继续,来设定循环结束条件。
while循环是先执行后判断,所以至少要执行一次。
由于labview中程序一般从左到右执行,所以从左边连入while循环的相当于输入,右侧连出的相当于