您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 基于LABVIEW的跑马灯的设计
基于LABVIEW跑马灯的设计摘要:虚拟仪器(virtualinstrumention)是基于计算机的仪器。计算机和仪器的密切结合是目前仪器发展的一个重要方向。使用虚拟仪器用户可以通过操作显示屏上的“虚拟”按钮或面板,完成对数据的采集、传输、显示等功能。本文设计就是建立在VI基础上,在此平台上完成数据通信的功能。关键字:虚拟仪器;VI;数据通信Labview简介LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。与C和BASIC一样,LabVIEW也是通用的编程系统,有一个完成任何编程任务的庞大函数库。LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储,等等。LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等等,便于程序的调试。虚拟仪器(virtualinstrumention)是基于计算机的仪器。计算机和仪器的密切结合是目前仪器发展的一个重要方向。粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。另一种方式是将仪器装入计算机。以通用的计算机硬件及操作系统为依托,实现各种仪器功能。虚拟仪器主要是指这种方式。下面的框图反映了常见的虚拟仪器方案。虚拟仪器的主要特点有:编程简单;开发周期短;高效性;开放性;自定义性;性价比高,能一机多用。课题分析:随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯。彩灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰已经成为一种时尚。跑马灯是一种生活中比较常见的装饰,本文主要通过labview来设计了一个相对简单的对跑马灯的控制,实现了其有规律的亮灭,带来一定的观赏效果。本文主要是实现了跑马灯的单个流水灯正向闪烁、单个流水灯反向闪烁、由中间到两边对称式闪烁,由两边到中间的对称式闪烁,以此循环。本程序并控制闪烁的间隔时间,使其运行更具可观性。总体设计:采用单片机串口实现单片机跑马灯的运行状态对上位机的发送,并且由上位机接受并且实现状态的显示,使下位机跑马灯的运行状态能够直观的在LABVIEW中实现。设计总思路:1)下位机的设计:因为之前我们在电子实训中已经焊过51的最小系统,所以,在此次课设中,我们不需要做硬件电路,只需要将流水灯的程序和与下位机通信的程序结合修改一下即可。采用串口调试助手软件进行下位机的调试。2)上位机的设计:前面板界面包括设置区即端口IO的设置,命令控件区即启动按钮、停止按钮、退出按钮,显示控件区即8个LED。3)将上位机与下位机用RS232连接起来,统一进行调试。下位机调试:将调试好的程序下载到单片机中,用串口调试助手软件进行调试图一下位机调试画面上位机的设计:后面板的设计:采用字符形式来进行数据通信,在后面板中,先将传递出来的字符转化成十六进制,然后与特定的数据相与,进而判断灯的状态。在程序中用到了延时,单位是毫秒,延时的目的是使本程序更具有可观性。图二后面板设计画面图三后面板设计画面图四后面板设计画面前面板的设计:1)设置区:通信口的设置、波特率的设置、数据位的设置、校验位的设置、停止位的设置2)命令控件区:即发送按钮、停止按钮、数据清空按钮3)显示控件区:8个LED、数据接收显示图五前面板设计画面上位机调试单个流水灯正向闪烁图六单个流水灯正向闪烁画面单个流水灯反向闪烁图七单个流水灯反向闪烁画面由中间到两边对称式闪烁图八由中间到两边对称式闪烁画面由两边到中间的对称式闪烁图九由两边到中间对称式闪烁画面运行效果:单个流水灯正向闪烁→单个流水灯反向闪烁→由中间到两边对称式闪烁→由两边到中间的对称式闪烁运行控制:直接点击labview发送按钮进行数据的发送和跑马灯演示。点击清空按钮清空数据接收显示区的数字,点击停止按钮停止数据的发送。可自行设置发送周期、波特率等的设置总结与体会:本次设计是选择的一个比较熟悉的跑马灯做的课题。通过控制显示灯的亮灭来达到一定的视觉效果,单个流水灯正向闪烁、单个流水灯反向闪烁、由中间到两边对称式闪烁,由两边到中间的对称式闪烁。在程序中采用字符形式来进行数据通信,在后面板中,先将传递出来的字符转化成十六进制,然后与特定的数据相与,进而判断灯的状态。在程序中用到了延时,单位是毫秒,延时的目的是使本程序更具有可观性,最终实现了预定的实验现象。在这次的课程设计中,采用单片机串口实现单片机跑马灯的运行状态对上位机的发送,并且由上位机接受并且实现状态的显示,使下位机跑马灯的运行状态能够直观的在LABVIEW中实现。在此次课设中,我遇到的最大的困难就是上位机设计的问题。由于基础知识的不牢靠,以至于在上位机的调试时浪费了很多时间,但正是这种不断的调试也让我在不断的进步,这也是第一次我们进行上位机与下位机通信的实践,也为我们即将到来的毕业设计打好基础,虽然前面板看起来很简单,不过该程序后面板过于复杂,接线即框图太多,很多地方值得思考精简。通过这次的虚拟仪器课程设计,让我深深认识到了自己在很多方面还有不足之处。在这次课程设计期间,我遇到了很多平时在上课期间没有注意到的问题,让人束手无策,所幸的是经过自己不断的查找资料和老师同学的热心帮助,让我的设计达到了基本要求。附录一:程序清单#includereg52.h#defineucharunsignedchar#defineuintunsignedintucharflag,a;ucharcodePattern_P1[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfe,0xff,0x7e,0xbd,0xdb,0xe7,0xdb,0xbd,0x7e,0xff};voidDelayMS(uintx){uchari;while(x--){for(i=0;i120;i++);}}voidmain(){uchari;TMOD=0x20;//设置定时器1为工作方式2TH1=0xe6;TL1=0xe6;TR1=1;SM0=0;SM1=1;PCON=0x00;SCON=0x50;while(1){for(i=0;i33;i++){P1=Pattern_P1[i];DelayMS(600);SBUF=Pattern_P1[i];while(!TI);TI=0;}/*if(flag==1){ES=0;flag=0;SBUF=a;while(!TI);TI=0;ES=1;}*/}}/*voidser()interrupt4{RI=0;a=SBUF;;//P1=SBUFflag=1;}*/附录二:参考资料【1】电子技术论坛相关资料【2】百度文库相关labview操作资料【3】彭倩《虚拟仪器实验指导书》【4】江建军孙彪《LABVIEW程序设计教程》第二版电子工业出版社
本文标题:基于LABVIEW的跑马灯的设计
链接地址:https://www.777doc.com/doc-4774716 .html