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