Labview电子时钟设计课程设计报告
- 格式:docx
- 大小:144.60 KB
- 文档页数:13
华侨大学厦门工学院Labview 课程设计报告题目:时钟计时器专业班级:11级通信工程一班学生:陈梓华指导教师:汪弦分数:年月日 0 0 (1) (1)2.总体设计 (2) (2) (3)3.程序描述 (4)3.1 子VI的调用 (4) (5) (5) (6)3.2.3 5个布尔灯的闪烁设置 (8) (8) (10)3.3.2 时间的时分秒转换 (11)4总结 (11)5参考资料 (12)LabVIEW是一种程序开发环境,由NI公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他电脑语言的显著区别是:其他电脑语言都是采用基于文本的语言产生代码,而LabVIEW 使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。
LabVIEW提供很多外观与传统仪器〔如示波器、万用表〕类似的控件,可用来方便地创建用户界面。
用户界面在LabVIEW中被称为前面板。
使用图标和连线,可以通过编程对前面板上的对象进行控制。
这就是图形化源代码,又称G代码。
LabVIEW的图形化源代码在某种程度上类似于流程图,因此又被称作程序框图代码。
相对于传统的标准仪器来说,LabVIEW由于是基于软件的,所以提供了更大的灵活性。
通过LabVIEW开发的虚拟仪器是由用户而不是仪器生产商定义仪器功能的。
一台电脑、数采板卡和LabVIEW 的结合就能够变成一个可配置的虚拟仪器来完成用户设定的任务。
通过LabVIEW就可以用传统仪器几分之一的价格创建一个用户所需要的虚拟仪器。
当需要改变这个虚拟仪器的时候,只几分钟的时间通过LabVIEW修改就可以了。
为了便于使用,LabVIEW还集成了大量的函数库以及子程序来帮助完成绝大多数的编程任务。
在使用这些子函数的时候,可以忘掉传统编程语言中的令人头痛的指针操作、内存分配等编程问题。
除此之外,LabVIEW还包含了针对应用的数据采集〔DAQ〕、GPIB、串口、数据分析、数据显示、数据存储以及Internet 网络通信的函数库。
工程学院课程设计课程名称单片机原理与应用课题名称电子时钟设计专业电气工程及其自动化目录1.课题的设计要求、目的、意义2.系统总体方案选择与说明3.系统结构框图与工作原理4.各单元硬件设计说明及计算方法5.软件设计与说明(包括流程图)6.调试结果与必要的调试说明7.使用说明8.程序清单9.总结10.参考文献一、课题设计要求、目的、意义要现功能:1)开机时,显示00:00:00的时间开始计时;2)要求有秒,分,时的调节。
3)具有复位功能。
目的:熟悉单片机编程的基本操作流程,熟悉单片机芯片,强化单片机语言编写,能够使用单片机与硬件相结合并进行仿真和实操模拟。
意义:通过编写一个简单的电子闹钟,使同学对单片机有更深入的了解。
熟悉单片机的操作流程,清楚单片机的作用。
二、系统总体方案选择与说明用定时/计数器T0,工作于定时,采用方式1,对12MHZ 的系统时钟进行定时计数,初值设为XXYY(自己计算)。
形成定时时间为50ms。
用片RAM的7BH单元对50ms计数,计20次产生秒计数器7BH单元加1,秒计数器加到60则分计数器79H 单元加1,分计数器加到60则时计数器7AH单元加1,时计数器加到24则时计数器清0。
然后把秒、分、时计数器分成十位和个位放到8个数码管的显示缓冲区,通过数码管显示出来。
显示格式为小时十位、小时个位---分十位、分个位---秒十位、秒个位。
在处理过程中加上了按键判断程序,能对按键处理。
三、系统结构框图和工作原理系统结构框图:本次设计时钟电路,使用了AT89C51单片机芯片控制电路,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂,使用开关键来调整时钟的时、分、秒,同时使用汇编语言程序来控制整个时钟显示,使得编程变得更容易,这样通过四个模块:键盘、芯片、LED 显示即可满足设计要求。
四、各单元硬件设计说明及计算方法AT89C51单片机部主要包括累加器ACC(有时也简称为A)、程序状态字PSW 、地址指示器DPTR 、只读存储器ROM 、随机存取存储器RAM 、寄存器、并行I/O 接口P0~P3、定时器/计数器、串行I/O接口以及定时控制逻辑电路等。
目录第一章前言 (1)第二章题目要求与方案论证 (2)2.1 题目要求 (2)2.2设计目的 (2)2.3方案论证 (2)2.3.1 思路 (2)2.3.2程序设计原理 (3)2.3.3 用到的DOS系统功能 (3)2.3.4 用到的BIOS系统功能 (4)第三章方案设计 ................................................... 错误!未定义书签。
3.1 流程图 (6)3.2程序代码设计 (8)3.2.1主程序模块的设计 (8)3.2.2 日期显示子程序模块 (9)3.2.3 时间显示子程序模块 (12)3.2.4 界面显示模块 (13)第四章结果与分析 ............................................. 错误!未定义书签。
4.1调试过程 (16)4.2 结果 (16)4.3分析 (18)第五章总结与体会 (19)参考文献 (20)附录 (21)第一章前言作为最基本的编程语言之一,汇编语言的重要性勿庸置疑,因为它能够完成许多其它语言所无法完成的功能。
尤其在和硬件关系非常密切的程序或要提高运算速度的程序,即使是 C 语言也会有些力不从心,而汇编语言则能够很好扬长避短,最大限度地发挥硬件的性能。
最重要的是微机原理和接口技术是一门实践性强的学科,不但要求有较高的理论水平,而且还要求有实际的动手能力,其中很多的原量、规则、现象等仅仅靠学习教科书是无法完全掌握的,必须通过实践才能比较直观和深刻的理解。
本课程设计的主要目的是提高实践能力,包括提高汇编等语言的编程能力及对接口等硬件的理解分析能力和设计接口电路的能力,在进行课程设计的过程中,可以让学生体验分析问题、提出解决方案、通过编程等手段实现解决方案、不断调试最终达到设计要求的全过程,从而帮助学生系统地掌握微机原理的接口技术的相关知识,达到将知识融会贯通的目的。
本次课程设计我们组做的是数字显示电子钟,要求和系统时钟一致。
华侨大学厦门工学院目录1、设计实现的功能 (2)2、前面板设计 (2)3、程序框图设计 (3)3.1方案论证 (3)3.2总体设计 (5)3.3使用控件说明 (5)3.4 选出该方案的优缺点 (7)3.5 程序框图 (7)4.调试过程 (9)4.1调试中遇到的问题 (9)4.2解决方法: (10)4.3、调试结果 (10)5、结论 (11)6、致谢 (12)7、参考文献 (12)附录:课程设计成绩评定表....................................................... 错误!未定义书签。
1、设计实现的功能本次设计要完成一个十字路口交通信号灯的设计,这个交通信号灯系统能为行驶的车辆指示能否通行。
主要分为4个模式:禁止通行模式、常规通行模式、东西方向通行模式、南北方向通行模式。
这个交通路口每一个方向上的红绿黄灯按绿—黄—红的顺序循环,其中可人为根据当下路面情况设置通行(绿灯)的时间,等待通行(黄灯)的时间,禁止通行(红灯)的时间为绿灯与黄灯所输入时间之和。
当停止键按下时,循环停止。
信号灯按一定规律循环点亮。
每个循环包括四个阶段。
第一阶段:南北绿灯和东西红灯点亮,时间根据为输入值。
第二阶段:南北黄灯和东西红灯点亮第三阶段:南北红灯和东西绿灯点亮,第四阶段:南北红灯和东西黄灯点亮东、南、西、北四个方向分别放置一个时间显示器来显示离下一个信号到来的时间。
、特殊通行情况分为:禁止通行(红灯全亮)、东西方向通行模式(东西绿灯亮,南北红灯亮)、南北方向通行(南北绿灯亮,东西红灯亮)。
时间设置为人为手动输入。
用计数器产生以秒为单位的计时信号,再将产生的时间信号进行分段,每到一个时间段时系统进行相应的动作。
2、前面板设计前面板是VI的用户界面。
创建VI时,通常应先设计前面板,然后在前面板上创建输入/输出任务。
本课程设计需要用二十个指示灯、四个时间显示器、一个停止按键、一个菜单下拉列表、七个数值输入控件和一些仿真真实路面的线条。
目录第一章概述bview整体介绍第二章设计题目与方案2.1 设计目标2.2设计方案第三章软件设计与调试3.1程序启动基本结构3.2产生布尔灯闪烁3.3 分针触发标志3.4 提取数字各位3.5七段布尔显示控件编码3.6 整点声音提醒3.7时间归零重置3.8 定时备忘便签第四章总结4.1实习心得附录1.程序框图前面板2.程序面板部分程序框图第一章绪论虚拟仪器技术就是利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测量和自动化的应用。
自1986年问世以来,世界各国的工程师和科学家们都已将NI labview 图形化开发工具用于产品设计周期的各个环节,从而改善了产品质量、缩短了产品投放市场的时间,并提高了产品开发和生产效率。
使用集成化的虚拟仪器环境与现实世界的信号相连,分析数据以获取实用信息,共享信息成果,有助于在较大范围内提高生产效率。
虚拟仪器提供的各种工具能满足我们任何项目需要。
美国国家仪器公司NI(National Instruments)最早提出的虚拟测量仪器(VI)概念,引发了传统仪器领域的一场重大变革,使得计算机和网络技术得以长驱直入仪器领域,和仪器技术结合起来。
“软件即是仪器”这是NI公司提出的虚拟仪器理念的核心思想。
从这一思想出发,基于电脑或工作站、软件和I/O部件来构建虚拟仪器。
I/O部件可以是独立仪器、模块化仪器、数据采集板(DAQ)或传感器。
虚拟仪器(virtual instrumention)是基于计算机的仪器。
计算机和仪器的密切结合是目前仪器发展的一个重要方向。
粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。
随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。
另一种方式是将仪器装入计算机。
以通用的计算机硬件及操作系统为依托,实现各种仪器功能。
虚拟仪器主要是指这种方式。
虚拟仪器的主要特点有:1.尽可能采用了通用的硬件,各种仪器的差异主要是软件。
一.目的及基本要求熟悉LabVIEW开发环境,掌握基于LabVIEW的虚拟仪器原理、设计方法和实现技巧,运用专业课程中的基本理论和实践知识,采用LabVIEW开发工具,实现电子时钟的设计和仿真。
二.LabVIEW介绍LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G 编写程序,产生的程序是框图的形式。
LabVIEW软件是NI设计平台的核心,也是开发测量或控制系统的理想选择。
LabVIEW开发环境集成了工程师和科学家快速构建各种应用所需的所有工具,旨在帮助工程师和科学家解决问题、提高生产力和不断创新。
三.软件设计3.1获取时间的各整型数据软件中获取日期/时间(秒)控件从计算机系统中自动提取时间,并转换成日期、时间等,控件图如下:图3-1 获取时间控件在获取时间后,将数据使用截取字符串vi可分别获得年、月、日、时间等。
3.2截取字符串通过截取字符串VI,可以获得时间和日期各个位数对应的数字,其中偏移量表示截取字符串的起始位,长度表示截取的数字位数。
如下图:图3-2 截取字符串控件3.3 七段布尔显示控件编码取出各位数字后,并不可直接显示,要通过统一编码规显示的格式,这样才能显示各位数,编码各段如下:图3-3 指示灯控件A、B、C、D、E、F、G分别对应着七段布尔显示控件,要显示“0”时A~G的赋值分别为:1 1 1 1 1 1 0(1代表真,0为假),显示其他数字也是按此做法的。
最后将此7个值串接起来存入一个布尔数组里。
3.4 布尔显示数字要显示数字时,只需将截取字符串得到的数字传输到对应的条件判断结构中。
再寻找对应的条件分支,将结果显示出来。
例如希望得到时间12:07:03中的时间数“1”,将第一位提取出来后,传给时间分支对应的第一个时间条件VI,便可得到相应的显示值。
目录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 完成。
程序运行期间会比较系统时间和设置的闹钟时间,当闹钟开关处于开启状态且闹钟时间到来时,指示灯会亮起,并且会发出警报声。
西安建筑科技大学理学院电子信息科学与技术专业LABVIEW仿真实验课程学生实验报告书院系理学院专业班级电子信息科学与技术0801实验名称虚拟仪器——数字时钟姓名学号2011年 5 月17日西安建筑科技大学理学院电子信息科学与技术专业LABVIEW仿真实验课程学生实验报告书学生姓名:学生学号:实验项目名称:虚拟仪器——数字时钟实验计划学时:3学时实验项目类型:综合、设计实验时间:主要协作者:一〖实验目的〗1、熟悉Labview各组件,深入学习研究课程所学知识。
2、通过自己编制Labview综合程序,提高编程能力。
3、综合所学Labview知识,了解Labview开发程序的一般过程。
4、在Labview环境下,利用按钮等组件,实现虚拟仪器——数字时钟的模拟,并且可以定时。
二〖实验仪器〗安装有LABVIEW的计算机三〖实验内容〗1、利用移位寄存器的性质,实现将一个字符串“Xi'An University of Architecture & Technology”(西安建筑科技大学)循环左移显示。
2、利用按钮等组件,实现虚拟仪器——数字时钟,并显示当前日期。
3、实现闹钟功能,可以定时,到指定时间发出蜂鸣音。
四〖方案步骤〗1、前面板的设计(1)新建一个VI,在前面板上先放置一个作为黑色背景的按钮,再放置需要循环左移显示的字符串“Xi'An University of Architecture & Technology”。
(2)然后放置多个布尔方形指示灯,用于显示数字“0、1、2、3、4、5、6、7、8、9”,即显示时间的时分秒。
并放置布尔圆形指示灯,用于显示时分秒之间的点。
(3)放置时间组件,用于定时。
最后,加注释。
(4)前面板设计图,如图1-1图1-1 数字时钟前面板设计图2、程序框图的设计新建一个VI,在前面板上放置一个while循环结构框,利用一位寄存器、字符串移位(函数)等组件,实现字符串“Xi'An University of Architecture & Technology”(西安建筑科技大学)的定时向左移位。
【摘要】
时间是人类生活必不可少的重要元素,从古代的沙漏、十二天干地支,到后来的机械钟表以及当今的石英钟,都充分显现出了时间的重要性。
随着社会的发展,人们对时间计量的精度要求越来越高,应用越来越广,功能要求越来越多。
普通的机械钟表与半机械钟表对于当代人忙碌的生活显然早已不太适应,随着科技的进步,电子时钟应运而生,它不仅给人们生产生活带来了极大的方便,而且大大地扩展了时钟原先的功能。
本课题研究的主要目的就是设计一个基于Labview的时钟系统,通过获取电脑的系统时间,并分离出给数字,在通过布尔显示显示它以指示灯、获取日期/时间(秒)、格式化日期/时间字符串、截取数组、局部变量、真常量、假常量等等,通过连接就基本制作好一个数码管电子钟了。
关键词:虚拟仪器;Labview;时间;电子时钟。
第一章概述第二章总体设计
2.1 时钟显示的结构
2.2 设计总思路第三章软件设计
3.1 获取时间的各整型数据
3.2 提取数字的各位
3.3 七段布尔显示控件编码
3.4 译码、布尔显示数字
3.5 显示时间的区段
3.6 闪烁第四章程序调试总结附录
程序框图前面板
程序面板程序框图10
第一章概述
虚拟仪器技术就是利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测量和自动化的应用。
灵活高效的软件能帮助您创建完全自定义的用户界面,模块化的硬件能方便地提供全方位的系统集成,标准的软硬件平台能满足对同步和定时应用的需求。
这也正是NI 近30 年来始终引领测试测量行业发展趋势的原因所在。
只有同时拥有高效的软件、模块化I/O 硬件和用于集成的软硬件平台这三大组成部分,才能充分发挥虚拟仪器技术性能高、扩展性强、开发时间少,以及出色的集成这四大优势。
LabVIEW (Laboratory Virtual Instrument
Engineering Workbench,实验室虚拟仪器集成环境)是一种图形化的编程语言(又称G语言),它是由美国NI公司推出的虚拟仪器开发平台,也是目前应用最广、发展最快、功能最强的图形化软件集成开发环境。
使用这种语言编程时,基本上不用写程序代码,取而代之的是程序框图。
LabVIEW的特点如下:
编程简单;
开发周期短;
高效性;
开放性;
自定义性;
性价比高,能一机多用。
第一章总体设计
2.1时钟显示的结构
本课题要求设计一个数字时钟。
通过获取电脑的系统时间,并分离出给数字,在通过
布尔显示显示。
数字的显示主要是7个长条的布尔显示组成,原理与7段数码管相似。
7
段数码管显示不同的数字主要通过其7个布尔不同的真假值控制,将0-9对应的7段布尔
显示值依次存入一个布尔数组里,只需提取此数组的不同段即可让其显示不同的值,如显示“ 0”提取数组的0-6位分别赋值给7段布尔显示。
2.2设计总思路
获取时间的控件可以获取的信息有:年、月、日、星期、天数、时、分、秒、秒小数等,取得的值为整型数据,利用除数取余即可分离个十位。
为了获得更好的显示效果将背景改为黑色,布尔显示的颜色为绿色。
a ;
丈钦D :!!n 回SrqQl in CD B 口凶
己0 !卜ng第旳周
□5: 3 !星期5
第三早软件设计
3.1获取时间的各整型数据
软件中获取日期/时间(秒)控件从计算机系统中自动提取时间,并转换成日期、时间等,控件图如下:
图3-1
在获取时间后,将数据解除捆绑即分别取得年、月、日时间等,如下图:
图3-2
3.2提取数字的各位
通过除10取余便可得到个位,商为十位,以此方法也可求出年的各个数字, 如下图:
图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表达如下:
nn u I 11
3.5显示时间的区段
显示的时间被分成7段,即凌晨、早上、上午、中午、下午、傍晚、晚上,只 需通过表达式节点计算出此时属于哪一段(1-7),再通过七个布尔文本分别显示 即可,布尔显示控件叠加在一起,程序及显示效果如下图:
图3-6
3.6闪烁
闪烁时只要判断其是否秒数大于 0.5S ,大于则显示(为真),小于则熄灭(为 假),图3-7为程序框图,3-8为实际效果:
图3-5
融午 庚上
耳F
T T- F
Fm|
中午 下午 聞1慌晚 |曲|雄
0,5
图3-7
3-8
第四章程序调试
程序很容易上手,没有C 语言那么复杂的语法等,图形界面让人更直观的对各部分进行操作。
此课程设计重点及难点在于布尔显示数字,开始时感觉其数据量非常大,由于簇的特点使得程序的复杂性大大降低,而且程序更加清晰。
显示的主要借助于平时常用的数码管,它的显示原理就如本课程设计的要求是一样的,主要有统一的编码,显示时通过解码即可显示出数字。
开始做好7 段布尔显示后,不管怎么看都很生硬,完全不是数字时钟的模样,研究了半天,原来是背景的缘故,当我换背景成黑色,且布尔显示位绿色后,显示效果大不一样,让人感觉到它就是一个电子手表一样。
不过它还是有一点不足:显示的字还是那么生硬,不生动,字体台统一、死板了。
不过由于是布尔显示,它有它的局限性,只能做到这点了。
显示的时间原来为24小时制,但为了更直观些,所以把一天分成7 个区,分别为凌晨、早上、上午、中午、下午、傍晚、晚上,使得其更人性化。
总结
Labview 是一个很强大的软件,学好它很难,但学会就很简单,所以只要多做此类的程序就能做出一个好的labview 程序。
数字时钟功能很简单,实现起来也
很简单,但要做得美观、简洁却不那么容易。
比如让其显示更多生动的字体,在一个小窗口里实现更多的动画。
程序要实现丰富的内容及完美的界面主要还是要靠扎实的基础,掌握各控件的使用及各类型的模块间的转换。
本来把本次课程设计的界面显示做成各种字体的,但由于时间及能力的关系,没有做得更好。
•阀*■micM i^QB ajifi is)va 锁us: i^ws 險i* 恥疋.
5竺3*哥
■輝*■
||
micM i^QB ajifi is)va 锁u 卍 i^ws 砂(■卫押e :
!zE :EE!:c"!
士电
叩!■曾
II
■ ■ ■ ■
I I I 」l_
程序面板程序框图
囤怙
I L — 』
a
I
s
丄
*——
10
I 月"1^21
一-CT)—~
科■'■w ■-■-■■■ • W'-.. —ilQU .
fcXjJ
i0fa
直餉 ; 巴_ 7 -^-inB^z-o^j^T^TI ■=I
jyL 価團
r
…-10
亠—匸7^
訶|| 国
sIW
•胆
I "A"** J ^3
P
■TO B ^—:
EZZ]
j L —
I if(h< 5)5=1:
I el 汕
if(h<B()q=i :
AT?7E]]垂長 亜
早上 I 上牛
I 中土
-jpTZl 下午
” [OT]Pth
电气信息工程学院课程设计评分表
指导教师签名:
期:
注:①表中标*号项目是硬件制作或软件编程类课题必填内容;
②此表装订在课程设计说明书的最后一页。
课程设计说明书装订顺序:封面、任务书、目录、正文、评分表、附件(非16K大小的图纸及程序清单)。