Labview课程设计电子数字时钟.docx
《Labview课程设计电子数字时钟.docx》由会员分享,可在线阅读,更多相关《Labview课程设计电子数字时钟.docx(8页珍藏版)》请在冰豆网上搜索。
![Labview课程设计电子数字时钟.docx](https://file1.bdocx.com/fileroot1/2023-2/9/f90d450f-1ccd-4536-bbd9-64fdb08316c3/f90d450f-1ccd-4536-bbd9-64fdb08316c31.gif)
Labview课程设计电子数字时钟
Labview课程设计-电子数字时钟
————————————————————————————————作者:
————————————————————————————————日期:
第一章概述
虚拟仪器技术就是利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测量和自动化的应用。
灵活高效的软件能帮助您创建完全自定义的用户界面,模块化的硬件能方便地提供全方位的系统集成,标准的软硬件平台能满足对同步和定时应用的需求。
这也正是NI近30年来始终引领测试测量行业发展趋势的原因所在。
只有同时拥有高效的软件、模块化I/O硬件和用于集成的软硬件平台这三大组成部分,才能充分发挥虚拟仪器技术性能高、扩展性强、开发时间少,以及出色的集成这四大优势。
LabVIEW(LaboratoryVirtualInstrumentEngineeringWorkbench,实验室虚拟仪器集成环境)是一种图形化的编程语言(又称G语言),它是由美国NI公司推出的虚拟仪器开发平台,也是目前应用最广、发展最快、功能最强的图形化软件集成开发环境。
使用这种语言编程时,基本上不用写程序代码,取而代之的是程序框图。
LabVIEW的特点如下:
◆编程简单;
◆开发周期短;
◆高效性;
◆开放性;
◆自定义性;
◆性价比高,能一机多用。
第二章总体设计
2.1时钟显示的结构
本课题要求设计一个数字时钟。
通过获取电脑的系统时间,并分离出给数字,在通过布尔显示显示。
数字的显示主要是7个长条的布尔显示组成,原理与7段数码管相似。
7段数码管显示不同的数字主要通过其7个布尔不同的真假值控制,将0-9对应的7段布尔显示值依次存入一个布尔数组里,只需提取此数组的不同段即可让其显示不同的值,如显示“0”提取数组的0-6位分别赋值给7段布尔显示。
2.2设计总思路
获取时间的控件可以获取的信息有:
年、月、日、星期、天数、时、分、秒、秒小数等,取得的值为整型数据,利用除数取余即可分离个十位。
为了获得更好的显示效果将背景改为黑色,布尔显示的颜色为绿色。
第三章软件设计
3.1获取时间的各整型数据
软件中获取日期/时间(秒)控件从计算机系统中自动提取时间,并转换成日期、时间等,控件图如下:
图3-1
在获取时间后,将数据解除捆绑即分别取得年、月、日、时间等,如下图:
图3-2
3.2提取数字的各位
通过除10取余便可得到个位,商为十位,以此方法也可求出年的各个数字,如下图:
图3-3
3.3七段布尔显示控件编码
取出各位数字后,并不可直接显示,要通过统一编码规范显示的格式,这样才能显示各位数,编码各段如下:
图3-4
A、B、C、D、E、F、G分别对应着七段布尔显示控件,要显示“0”时A~G的赋值分别为:
1111110(1代表真,0为假),显示其他数字也是按此做法的。
最后将此70个值串接起来存入一个布尔数组里,如图3-4右。
3.4译码、布尔显示数字
要显示数字时,只需将数字乘以7,再将乘积的值作为索引在那存放真值的数组里寻找对应显示的七个布尔显示控件的值。
如显示‘2’,则从数组的第2*7=14位开始,依次取出7个(分别代表着七个布尔的真值),其他也同理。
最后捆绑成簇,因为七段显示布尔已做成簇。
Labview表达如下:
图3-5
3.5显示时间的区段
显示的时间被分成7段,即凌晨、早上、上午、中午、下午、傍晚、晚上,只需通过表达式节点计算出此时属于哪一段(1-7),再通过七个布尔文本分别显示即可,布尔显示控件叠加在一起,程序及显示效果如下图:
图3-6
3.6闪烁
闪烁时只要判断其是否秒数大于0.5S,大于则显示(为真),小于则熄灭(为假),图3-7为程序框图,3-8为实际效果:
图3-7
图3-8
第四章程序调试
程序很容易上手,没有C语言那么复杂的语法等,图形界面让人更直观的对各部分进行操作。
此课程设计重点及难点在于布尔显示数字,开始时感觉其数据量非常大,由于簇的特点使得程序的复杂性大大降低,而且程序更加清晰。
显示的主要借助于平时常用的数码管,它的显示原理就如本课程设计的要求是一样的,主要有统一的编码,显示时通过解码即可显示出数字。
开始做好7段布尔显示后,不管怎么看都很生硬,完全不是数字时钟的模样,研究了半天,原来是背景的缘故,当我换背景成黑色,且布尔显示位绿色后,显示效果大不一样,让人感觉到它就是一个电子手表一样。
不过它还是有一点不足:
显示的字还是那么生硬,不生动,字体台统一、死板了。
不过由于是布尔显示,它有它的局限性,只能做到这点了。
显示的时间原来为24小时制,但为了更直观些,所以把一天分成7个区,分别为凌晨、早上、上午、中午、下午、傍晚、晚上,使得其更人性化。
总结
Labview是一个很强大的软件,学好它很难,但学会就很简单,所以只要多做此类的程序就能做出一个好的labview程序。
数字时钟功能很简单,实现起来也很简单,但要做得美观、简洁却不那么容易。
比如让其显示更多生动的字体,在一个小窗口里实现更多的动画。
程序要实现丰富的内容及完美的界面主要还是要靠扎实的基础,掌握各控件的使用及各类型的模块间的转换。
本来把本次课程设计的界面显示做成各种字体的,但由于时间及能力的关系,没有做得更好。
附录
程序框图前面板
中午
傍晚
晚上
程序面板程序框图
程序框图前面板