Labview的数字钟设计

  • 格式:doc
  • 大小:192.00 KB
  • 文档页数:6

基于Labview的数字钟设计
1 设计要求
使用Labview设计一个数字时钟,能够在前面板显示系统时间,并支持闹钟功能。
2 设计流程
2.1 界面设计
本课题要求设计一个电子时钟。通过获取电脑的系统时间,并分离出数字后,通过布尔
类型的方形指示灯显示。数字的显示主要是由7个方形指示灯组成,原理与7段数码管相似。
为实现闹钟功能,提供布尔类型闹钟设置开关及闹钟时分设置按钮,并通过闹钟开关控
制闹钟的开启与关闭。用圆形指示灯指示闹钟状态。
界面如下:

2.2 设计思路
为保证数字钟的精度,时间的获取可直接获取系统时间,并通过相应的系统函数转换为
年月日,时分秒等信息。由于转换后的时间信息为数字,为直观地通过布尔类型显示,需要
进行译码操作,译码操作的完成可通过独立的子VI完成,方便主程序调用。为简化程序框
图,将7个布尔类型指示灯打包成簇。
为实现闹钟功能,需要有闹钟时间设置和闹钟提醒模块。为了直观地模仿数字钟的时间
设置,在程序中不提供数字输入的相关控件,而是通过布尔类型的按钮完成。当闹钟设置开
关处于关闭状态时,时、分对应的“数码管”显示系统当前时间,当闹钟设置开关处于开启
状态时,时、分对应的“数码管”显示设置的闹钟时间,此时按下时、分设置按钮,相应的
闹钟时间可以被调整。闹钟设置模块也通过独立的子VI完成。
程序运行期间会比较系统时间和设置的闹钟时间,当闹钟开关处于开启状态且闹钟时间
到来时,指示灯会亮起,并且会发出警报声。如不关闭闹钟开关,提醒时间会持续两分钟。

2.3 软件设计

2.3.1 系统时间获取和解除捆绑
获取系统时间,并分离出时分秒、年月日等信息。从十进制数字分离出十位和个位数字,
可通过简单的除法运算完成。

2.3.2译码子VI
对译码子VI模块,设计时使其输入为一个数字,输出为一个由七个布尔类型方形指示
灯组成的簇。设计时使用条件结构,依据输入的数字点亮相应的指示灯,实现模拟数码管的
效果。
2.3.3闹钟设置子VI
对闹钟设置子VI,其输入应包括以下内容,即系统时间,闹钟设置开关,时间调整按
钮,以及60或24进制的限制数字,用于判断是小时还是分钟。输出项包括数字输出,及闹
钟时间保存量。数字输出用于送“数码管”显示,保存量保存设置的闹钟时间。
当闹钟设置开关被打开时,输出量为设置的闹钟时间,且当设置按钮每被按下一次,设
置的闹钟时间相应加1,当超过限定值时被置0 ,设置的时间通过反馈节点完成。闹钟设置
开关被关闭时,输出量为系统时间。
由于使用了反馈节点,且用于设置小时和分钟,故应将此VI设置为可重入执行。
2.3.4 闹钟提示
闹钟开关处于开启状态且闹钟时间到来时,指示灯会亮起,并且会发出警报声。如不关
闭闹钟开关,提醒时间会持续两分钟。
2.3.5完整程序
完整程序如下所示:
3 总结
通过Labview数字钟的设计,我对Labview的程序设计有了基本的了解,熟悉了前面板
控件和程序框图中函数的使用。Labview时图形化的编程语言,它和传统的程序设计语言有
极大的不同,因而开始的时候不太习惯,只有多加尝试,多练习才能很好地掌握。