文档库

最新最全的文档下载
当前位置:文档库 > 基于labview的闹钟课程设计

基于labview的闹钟课程设计

目录

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 完成。程序运行期间会比较系统时间和设置的闹钟时间,当闹钟开关处于开启状态且闹钟时间到来时,指示灯会亮起,并且会发出警报声。如不关闭闹钟开关,提醒时间会持续两分钟。

时间设置模块主要由while循环中的输入控件和显示控件来实现,设置完成后通过与非门来最终完成设置。使用格式化日期/时间字符串器件通过时间格式代码%h;%m来定义时间的格式为小时和分钟。当系统时间和时间相同时,程序调用铃音文件,闹铃响起,过一分钟后停止或按停止按钮结束闹铃。

3 闹钟设计

3.1 时间设置模块

时间设置模块主要由while循环中的输入控件和显示控件来实现,设置完成后通过与非门来最终完成设置。接线如图1所示。

基于labview的闹钟课程设计

图1 时间设置

3.2 格式化时间

其中使用格式化日期/时间字符串器件通过时间格式代码%h;%m来定义时间的格式为小时和分钟,接线如图2所示。

基于labview的闹钟课程设计

图2 格式化时间

3.3 小睡延迟功

小睡延迟功能,选择小睡功能后,5分钟之后闹铃再响起。主要依靠选择元器件及其连线。接线如图3所示。

基于labview的闹钟课程设计

图3 小睡延迟

注释:

基于labview的闹钟课程设计

图4 比较函数

原件说明:依据s的值,返回连线至t活f输入的值。S为true时,函数返回连线至t值。S为false时,函数返回连线至f的值。

3.4 闹钟设置

闹钟的设置,用来设置闹钟的开关,把下载好的语音文件送到程序,达到设置时间,程序调用语音,进行闹铃,接线如图5所示。

基于labview的闹钟课程设计

图5 闹钟设置

注释:

基于labview的闹钟课程设计

图6 结构

结构说明:包含了多个子程序框图、分支、结构执行时,仅有一个子程序框图或分支执行。连线至选择线接线端的值可以是布尔、字符串、整数、枚举型。用于确定要执行的分支,右键单击结构边框,可添加或删除分支。通过标签工具可输入条件选择标签的值,并配置每个分值的值。

3.5 触发模块

闹钟触发模块是整个设计的核心,包括了时间的格式规定,时间的数据处理和小睡延时处理等。

根据s的值来决定输出是t还是f,当闹钟时间和系统时间相同时,便会触发闹钟。接线如图7所示。

基于labview的闹钟课程设计

图7 闹钟触发模块

注释:

基于labview的闹钟课程设计

图8 字符串/字符转换函数

字符串/字符转换函数功能:使数字转换为十进制数组组成的字符串,至少为宽度个字符,还可以适当的展宽。如数字为浮点数或定点数,转换之前可输入64位整数。

3.6 音乐播放模块

使用了条件结构,当条件为真时,即闹钟被触发,该模块进入工作。闹铃响后,有三种模式,用事件结构器件来解决,分为闹钟停止模式,超时模式和退出

闹钟模式,接线如图9所示。

基于labview的闹钟课程设计

图9 音乐模块

注释:

基于labview的闹钟课程设计

图10 文件i/o 和函数

文件i/o 和函数功能说明:是基础软件包,用于创建新路径。名称或相对路径是添加之路径的新路径的成分,如名称相对路径为空字符串或无效,函数可添加的路径。如基路径为空,名称或相对路径必须为绝对路径。

3.7 闹钟的总体设计

闹钟前面板如图11所示。

基于labview的闹钟课程设计

图11 闹钟前面板

闹钟总接线图如图12所示。

基于labview的闹钟课程设计

图12 闹钟总图

3.8 设计中遇到的问题

因为以前重来都没接触过labview的相关科目,上手觉得很陌生,简单的功能还比较容易理解,只要遇到难得要求就很难理解,理解时候会花费较长时间。

设计闹钟期间,由于对编程软件的不熟悉,导致在找相关控件时花费了许多时间,而且常常找到的是错误的控件,这直接造成程序运行失误。这一点在熟悉软件之后,好了很多。其次,在熟悉设计原理的时候,由于对相关逻辑关系以及函数关系的不太熟悉。后期,在总体完成电子时钟的设计后,基本功能都得到了实现,但是一直显得不太美观。闹钟钟功能很简单,实现起来也很简单,但要做得美观、简洁却不那么容易。比如让其显示更多生动的字体,在一个小窗口里实现更多的动画。程序要实现丰富的内容及完美的界面主要还是要靠扎实的基础,掌握各控件的使用及各类型的模块间的转换。本来把本次课程设计的界面显示做成各种字体的,但由于时间及能力的关系,没有做得更好。这一点很遗憾,但愿有机会可以弥补。

经验总结:要学好一门语言,需要长时间的练习,不断的磨练,发现自己不擅长的地方,通过理解他们的连接图,重而达到学习与积累的目的。短时间的学习是不会做真正地理解这门课程的。因此,以后若是有机会,要重基础的地方学起。

4 运行结果

4.1 初始界面

基于labview的闹钟课程设计

图13 初始化前

状态:两个指示灯都是熄灭的,系统没有进行时间初始化,闹铃时间没有设置,没有馈送闹铃音乐。

4.2 设置时间

基于labview的闹钟课程设计

图14 时间设置

设置过程:运行程序,点击图13的完成按钮,再点击时间设置按钮,进入图9界面。分别点击小时和分钟按钮进行时间设置,再按确定按钮,就完成对时间设置。

4.3 设置铃音

基于labview的闹钟课程设计

图15 铃音设置

设置过程:首先,去下载wav格式的音乐铃声,点击图13中的白色箭头,再在文件夹里面选择自己喜欢的铃音,再按确定按钮。就会进入图15界面,完成铃音的设置。

4.4 闹铃响起

基于labview的闹钟课程设计

图16 铃音响起

状态:系统时间达到设置时间,两个指示灯同时亮,电脑传来设置铃音音乐。一分钟之后,音乐自动停止,两灯再次熄灭,也可以按退出闹钟按钮进行终止闹钟。

参考文献

[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