android闹钟详细设计,基于LabVIEW的闹钟设计 详细文档+程序
熟悉LabVIEW开发环境,掌握基于 LabVIEW的虚拟仪器原理、 设计方法和实现技巧,运用专业中的基本理论和实践知识,采用 LabVIEW开发工具,实现LabVIEW 实现闹钟程序的设计和仿真。此次设计是基于 LabVIEW 的软件仿真设计,仿真一个闹钟使它具有定点报时的功能, 硬件需求是一台安装该软件的电脑,软件设计需要实现它的所有功能包括以下:
1.可以显示系统时间,通过和系统连接获得。
2.可以显示闹钟定时的时间,该时间可以手动设置,定时后的时间可以修改,整点报时。
3.当设定时间和系统时间相等时,触发闹铃铃声,还可以手动停止闹铃或者自动停止。
二、总体框图
170.001.jpg ()
2020-12-9 11:41 上传
图1 总体设计框图
三、设计思路
利用虚拟仪器技术LabVIEW设计的闹钟,可以用来模拟真实闹钟而进行工作。使用虚拟仪器技术,工程师可以利用图形化开发软件LabVIEW方便、高效的创建自定义的解决方案,以满足灵活多变的需求趋势。该设计的闹钟是利用虚拟仪器LabVIEW技术而完成的,通过获取系统时间,使LabVIEW前面板显示时钟,并实时更新。其中,时钟、月、日、小时、分钟、秒。另外,前面板上有模拟的时钟面板,其中有3个不同颜色的指针,分别为时针、分针和秒针。还有定时功能,可以设置定时时间和定时播放的铃音。
3.1总体设计思路
通过获取电脑的系统时间,并分离出数字,再通过脑中的指针实时显示和更新;通过预设时间和铃声,可以实现闹钟的定时功能。闹钟从电脑系统获取时间,然后时间和日期通过字符串数字显示,其中时间通过量表面板显示。通过设置定时时间和量表时间比较来决定闹钟提醒时间。具体的闹钟铃声有预设的铃声决定。
3.2总体结构层次
主VI调用相应的其他子VI,进行相应的运算,最后把结果显示在页面上。VI的层次结构如图2所示,其中的VI主要有:定时VI,时间VI,播放声音VI,时钟全局变量VI和主VI。
170.002.jpg ()
2020-12-9 11:41 上传
图2 VI层次结构
四、设计和实现
主要功能分子VI实现,方便程序的编写、调试和调用。
4.1模块化的设计和实现
4.1.1.量表时间的实现的VI
获取系统24进制时间转换成量表12进制时间,并转换成与定时时间比较的实时时间。表时间的程序如图3所示。
170.003.jpg ()
2020-12-9 11:41 上传
图3 量表时间
4.1.2预设时间VI
把预设定时时间24进制的转换成12进制的时间,和预设的铃声音乐一起送至时间全局变量。另外设置定时时间恢复默认值。定时时间或预设时间如图4所示。
170.004.jpg ()
2020-12-9 11:41 上传
图4 预设时间
4.1.3声音的读取子VI
声音的读取模块如图5所示。由确认按钮确认闹钟的定时铃声的响起和停止,而具体的铃声由路径提供铃声文件的位置所决定。
170.005.jpg ()
2020-12-9 11:41 上传
图5声音的读取
4.1.4主界面
闹钟主界面由图6所示,主界面主VI控制着整个程序的逻辑结构和运算过程。主要是对用户界面上的操作输入和运行结果的显示,其中,从主界面程序框图如图7所示,主VI通过调用相关的子VI来完成相关的操作。
170.006.jpg ()
2020-12-9 11:41 上传
图6 主界面
170.007.jpg ()
2020-12-9 11:41 上传
图7 系统主框图
4.2.关键技术
运用LabVIEW设计闹钟,有独特的技术特色。
4.2.1模块化编程
模块化编程方便于调试,修改和调用。一个模块都可以作为一个子模块被 其他模块调用,即主VI调用子VI,任何一个VI都可以设置成子VI或主VI被其他的VI调用。
4.2.2全局变量
全局变量如图8所示,它用于在多个VI直接访问和传递数据,非常便于不同程序间的数据传输。
把定时设置成全局变量,一是方便预设时间子VI,另一方面方便与预设时间数据传输给下一个子VI。也就是说,时间全局变量既可以作为输出数据接收数据,接收到数据后又可以设置成输入变量,把数据传输给下一个子VI。
170.008.jpg ()
2020-12-9 11:41 上传
图8 全局变量
4.2.3量表的设计
如图9所示,从LabVIEW元件库调出来的量表本来只有一个时针,通过添加十帧属性,添加到3个指针分别代表时、分、秒。但量表的输入要通过输出簇才能输入数据。
170.009.jpg ()
2020-12-9 11:41 上传
图9 量表的设计
4.3程序调试
本闹钟的定时铃声格式要wav格式的文件,若是别的格式定时前要转换成wav格式,又由于主程序分成很多子VI,所以程序的编写,调试调用和增加功能都特别方便。
4.4结束语
该闹钟的功能拓展非常方便。闹钟钟功能很简单,实现起来也很简单,但要做得美观、简洁却不那么容易。 比如让其显示更多生动的字体, 在一个小窗口里实现更多的动画。但这个闹钟的缺陷是只能在计算机上运行,无法在一般的手机或别的设备上运行,且闹铃声只能来源于wav格式的文件。
五、运行结果
5.1 点击运行按键。从系统获取时间。
170.010.jpg ()
2020-12-9 11:41 上传
图10 时间获取
5.2 点击定时按钮,手动定时设置。选择铃声路径。
170.011.jpg ()
2020-12-9 11:41 上传
图11 定时设置
5.3 点击定时完成,闹钟设置完毕。
5.4 闹钟响起。
2020-12-9 11:46 上传
点击文件名下载附件
定时时钟VI程序.zip
(497.5 KB, 售价: 2 工控币)
2020-12-9 11:46 上传
点击文件名下载附件
售价: 2 工控币
[购买]
1.png ()
2020-12-9 11:48 上传
android闹钟详细设计,基于LabVIEW的闹钟设计 详细文档+程序相关推荐
- 华为19级专家10年心血终成百页负载均衡高并发网关设计实战文档
负载均衡(LoadBalance)的字面意思是将工作负载分担到多个工作单元上进行执行,它建立在现有网络结构之上,是构建分布式服务.大型网络应用的关键组件. 近十几年来,负载均衡技术层出不穷,令人眼花缭 ...
- 华为19级大佬10年心血终成百页负载均衡高并发网关设计实战文档
说在前面的话 负载均衡(LoadBalance)的字面意思是将工作负载分担到多个工作单元上进行执行,它建立在现有网络结构之上,是构建分布式服务.大型网络应用的关键组件. 近十几年来,负载均衡技术层出不 ...
- 互联网产品设计常用文档类型-BRD、MRD、PRD、FSD
互联网产品设计常用文档类型-BRD.MRD.PRD.FSD 摘自:互联网产品设计常用文档类型-BRD.MRD.PRD.FSD 2017-03-16 1 BRD Business Requirement ...
- promethues+alertmanager+grafana监控docker容器和报警—基于手动配置和文件自动发现—详细文档
promethues+alertmanager+grafana监控docker容器和报警-基于手动配置和文件自动发现-详细文档 相关配套软件包网盘下载链接如下: 网盘地址: https://url28 ...
- android在线预览excel文件格式,Android打开doc、xlsx、ppt等office文档解决方案
原标题:Android打开doc.xlsx.ppt等office文档解决方案 1.Android端有什么控件可以直接显示office文档吗? 很抱歉没有,对于ios而言想要显示office文档,直接调 ...
- 太牛了!我把阿里、腾讯、字节跳动、美团等Android性能优化实战整合成了一个PDF文档
安卓开发大军浩浩荡荡,经过近十年的发展,Android技术优化日异月新,如今Android 11.0 已经发布,Android系统性能也已经非常流畅,可以在体验上完全媲美iOS. 但是,到了各大厂商手 ...
- Android应用内打开.docx/.pdf/.xlsx/.txt等文档——腾讯TBS
Android应用内打开.docx/.pdf/.xlsx/.txt等文档-腾讯TBS 1.功能借鉴:https://blog.csdn.n ...
- 基于C++的OpenCV项目实战——文档照片转换成扫描文件
基于C++的OpenCV项目实战--文档照片转换成扫描文件 一.背景 前段时间都是基于Python的OpecCV进行一些学习和实践,但小的知识点并没有应用到实际的项目中:并且基于Python的版本的移 ...
- 基于LABVIEW和热电偶设计一个温度测量系统
** **整个温度测量系统的设计为两个部分,一在LABVIEW2018上编程出温度测量系统,二在NI-DAQ上进行数据采集,把采集到的数据通过串口输入到LABVIEW的子面板程序中,输出得到波形,完成 ...
最新文章
- 【Pytorch】运用英伟达DALI加速技巧可使PyTorch运算速度快4倍
- 女性走夜路不安全?英国奇葩新招:无人机护航,关键时刻用光吓退张三
- php框架where条件使用,where条件
- UA MATH523A 实分析3 积分理论例题 控制收敛定理计算一元积分的极限
- 简单理解mysql事务_如何理解数据库事务中的一致性的概念?
- ARP***原理及解决方法与CMD命令分类(1)
- 《圣殿祭司的ASP.NET4.0专家技术手册》----导读
- iOS UIPickerView
- [UWP开发]NavigationView基础使用方法
- linux-LINUX试题
- 【路径规划】基于matlab帝国企鹅算法求解机器人栅格地图避障路径规划问题【含Matlab源码 784期】
- 反射--获取构造器,获取父类,获取带泛型的父类,获取实现的接口,获取所在的包,获取注解
- STM32蜂鸣器驱动程序
- 2006设计师必备网址全集
- 《系统集成项目管理》第七章 项目范围管理
- 家庭宽带搭建ipv6私人网盘
- Kali使用Aircrack-ng进行暴力破解WIFI密码
- 这篇博士毕业论文致谢句句诛心……
- 解决路由环路问题的方法
- VMware的下载安装
热门文章
- C# WINFORM的自动更新程序
- TCP/UDP网络编程入门教程之二:TCP Server端——socket与文件描述符
- IOS开发之UI基础LOL英雄展示-15
- 华为融合电信云解决方案包括_运营商这“一朵云”怎么建?使能者华为的解决之道...
- python和rpa有什么关系_什么是RPA_什么是RPA_产品简介_机器人流程自动化RPA - 阿里云...
- python多线程返回值_python获取多线程及子线程的返回值
- Log4j2解决方案与复现略图
- 嵌入式C语言编程课件,嵌入式系统C语言编程基础PPT课件
- python约瑟夫环单向循环链表_约瑟夫环的单向循环链表的实现代码
- Recyclerview删除数据后无法加载下一页数据(或者是漏了一条数据)