1、 0 目目 录录 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 1 1 目的及基本要求目的及基本要求 熟悉 LabVIEW 开发环境,掌握基于 LabVIEW 的虚拟仪器原理、设计方法和实 现技巧,运用专业课程中的基
2、本理论和实践知识,采用 LabVIEW 开发工具,实现 Labview 实现闹钟程序的设计和仿真。 此次设计是基于 labview 的软件仿真 设计,仿真一个闹钟使它具有定点报时的功能,硬件需求是一台安装该软件的电 脑,软件设计需要实现它的所有功能包括以下: 1.可以显示系统时间,通过和系统连接获得。 2.可以显示闹钟定时的时间, 该时间可以手动设置, 定时后的时间可以修改, 整点报时。 3.闹钟具有小睡延时功能,过一定时间可再次响起。 4.当设定时间和系统时间相等时,触发闹铃铃声,还可以手动停止闹铃或者 自动停止。 2 2 闹钟闹钟原理原理 为保证数字钟的精度, 时间的获取可直接获取系统时间
3、, 并通过相应的系统函数转换为 年月日,时分秒等信息。由于转换后的时间信息为数字,为直观地通过布尔类型显示,需要 进行译码操作,译码操作的完成可通过独立的子 VI 完成,方便主程序调用。为实现闹钟功 能,需要有闹钟时间设置和闹钟提醒模块。为了直观地模仿数字钟的时间设置,在程序中不 提供数字输入的相关控件, 而是通过布尔类型的按钮完成。 当闹钟设置开关处于关闭状态时, 此时按下时、分设置按钮,相应的闹钟时间可以被调整。闹钟设置模块也通过独立的子 VI 完成。 程序运行期间会比较系统时间和设置的闹钟时间, 当闹钟开关处于开启状态且闹钟时 间到来时, 指示灯会亮起, 并且会发出警报声。 如不关闭闹钟
4、开关, 提醒时间会持续两分钟。 时间设置模块主要由 while 循环中的输入控件和显示控件来实现, 设置完成 后通过与非门来最终完成设置。使用格式化日期/时间字符串器件通过时间格式 代码%h;%m 来定义时间的格式为小时和分钟。当系统时间和时间相同时,程序 调用铃音文件,闹铃响起,过一分钟后停止或按停止按钮结束闹铃。 2 3 3 闹钟设计闹钟设计 3.1 时间设置模块时间设置模块 时间设置模块主要由 while 循环中的输入控件和显示控件来实现, 设置完成 后通过与非门来最终完成设置。接线如图 1 所示。 图 1 时间设置 3.3.2 2 格式化时间格式化时间 其中使用格式化日期/时间字符串器
5、件通过时间格式代码%h;%m 来定义时间 的格式为小时和分钟,接线如图 2 所示。 图 2 格式化时间 3 3.3.3 3 小睡延迟功小睡延迟功 小睡延迟功能,选择小睡功能后,5 分钟之后闹铃再响起。主要依靠选择元 器件及其连线。接线如图 3 所示。 图 3 小睡延迟 注释: 图 4 比较函数 原件说明:依据 s 的值,返回连线至 t 活 f 输入的值。S 为 true 时,函数 返回连线至 t 值。S 为 false 时,函数返回连线至 f 的值。 3.3.4 4 闹钟设置闹钟设置 闹钟的设置,用来设置闹钟的开关,把下载好的语音文件送到程序,达到设 置时间,程序调用语音,进行闹铃,接线如图
6、5 所示。 4 图 5 闹钟设置 注释: 图 6 结构 结构说明:包含了多个子程序框图、分支、结构执行时,仅有一个子程序框 图或分支执行。连线至选择线接线端的值可以是布尔、字符串、整数、枚举型。 用于确定要执行的分支,右键单击结构边框,可添加或删除分支。通过标签工具 可输入条件选择标签的值,并配置每个分值的值。 3.3.5 5 触发模块触发模块 闹钟触发模块是整个设计的核心,包括了时间的格式规定,时间的数据处理 和小睡延时处理等。 根据 s 的值来决定输出是 t 还是 f,当闹钟时间和系统时间相同时,便会触 发闹钟。接线如图 7 所示。 5 图 7 闹钟触发模块 注释: 图 8 字符串/字符转换函数 字符串/字符转换函数功能:使数字转换为十进制数组组成的字符串,至少 为宽度个字符,还可以适当的展宽。如数字为浮点数或定点数,转换之前可输入 64 位整数。 3.3.6 6 音乐播放模块音乐播放模块 使用了条件结构,当条件为真时,即闹钟被触发,该模块进入工作。闹铃响 后,有三种模式,用事件结构器件来解决,分为闹钟停止模式,超时模式和退出 6 闹钟模式,接线如图 9 所