LabVIEW课程设计基于LabVIEW软件平台的流水灯的设计原理及过程.docx
- 文档编号:9234712
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:15
- 大小:215.85KB
LabVIEW课程设计基于LabVIEW软件平台的流水灯的设计原理及过程.docx
《LabVIEW课程设计基于LabVIEW软件平台的流水灯的设计原理及过程.docx》由会员分享,可在线阅读,更多相关《LabVIEW课程设计基于LabVIEW软件平台的流水灯的设计原理及过程.docx(15页珍藏版)》请在冰豆网上搜索。
LabVIEW课程设计基于LabVIEW软件平台的流水灯的设计原理及过程
LabVIEW课程设计--基于LabVIEW软件平台的流水灯的设计原理及过程
摘要:
本文运用虚拟仪器的设计思想,介绍了一种基于LabVIEW软件平台的流水灯的设计原理及过程。
利用LabVIEW开发环境设计上位机的界面,上位机通过串行口与AT89C52单片机通信,从而实现对端口配置、流水灯的显示。
运用LabVIEW进行系统开发具有很强的灵活性,能较容易地实现系统的各项功能,并使系统具有很强扩展性。
关键字:
虚拟仪器AT89C52单片机串口通信流水灯。
第一章概述
1.1LabVIEW简介
LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:
其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。
与C和BASIC一样,LabVIEW也是通用的编程系统,有一个完成任何编程任务的庞大函数库。
LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储等等。
LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等等,便于程序的调试。
LabVIEW(LaboratoryVirtualInstrumentEngineeringWorkbench)是一种用图标代替文本行创建应用程序的图形化编程语言。
传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而LabVIEW 则采用数据流编程方式,程序框图中节点之间的数据流向决定了VI及函数的执行顺序。
VI指虚拟仪器,是LabVIEW 的程序模块。
LabVIEW 提供很多外观与传统仪器(如示波器、万用表)类似的控件,可用来方便地创建用户界面。
用户界面在LabVIEW 中被称为前面板。
使用图标和连线,可以通过编程对前面板上的对象进行控制。
这就是图形化源代码,又称G代码。
LabVIEW 的图形化源代码在某种程度上类似于流程图,因此又被称作程序框图代码。
1.2LabVIEW特点
⒈尽可能采用了通用的硬件,各种仪器的差异主要是软件。
⒉可充分发挥计算机的能力,有强大的数据处理功能,可以创造出功能更强的仪器。
⒊用户可以根据自己的需要定义和制造各种仪器。
1.3LabVIEW未来
虚拟仪器研究的另一个问题是各种标准仪器的互连及与计算机的连接。
目前使用较多的是IEEE488或 GPIB协议。
未来的仪器也应当是网络化的。
LabVIEW是一种图形化的编程语言的开发环境,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。
LabVIEW 集成了与满足GPIB、VXI、RS-232和RS-485协议的硬件及数据采集卡通讯的全部功能。
它还内置了便于应用TCP/IP、ActiveX等软件标准的库函数。
这是一个功能强大且灵活的软件。
利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。
图形化的程序语言,又称为“G”语言。
使用这种语言编程时,基本上不写程序代码,取而代之的是流程图或框图。
它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LabVIEW是一个面向最终用户的工具。
它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。
使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。
利用LabVIEW,可产生独立运行的可执行文件,它是一个真正的32位/64位编译器。
像许多重要的软件一样,LabVIEW提供了Windows、UNIX、Linux、Macintosh的多种版本。
它主要的方便就是,一个硬件的情况下,可以通过改变软件,就可以实现不同的仪器仪表的功能,非常方便,是相当于软件即硬件!
现在的图形化主要是上层的系统,国内现在已经开发出图形化的单片机编程系统(支持32位的嵌入式系统,并且可以扩展的)。
第二章设计方案
下位机使用AT89C52进行流水灯设计,上位机使用LabVIEW进行界面设计,显示出端口设置数据和8个LED灯的显示,通过RS232进行串口通讯传送数据到上位机中显示。
图2.1设计框架
2.1上位机
上位机是指人可以直接发出操控命令的计算机,一般是PC,屏幕上显示各种信号变化。
下位机是直接控制设备获取设备状况的计算机,一般是PLC、单片机之类的。
上位机发出的命令首先给下位机,下位机再根据此命令解释成相应时序信号直接控制相应设备。
下位机不时读取设备状态数据(一般为模拟量),转换成数字信号反馈给上位机。
简言之如此,实际情况千差万别,但万变不离其宗:
上下位机都需要编程,都有专门的开发系统。
通常上位机和下位机通讯可以采用不同的通讯协议,可以有RS232的串口通讯,或者采用RS485串行通讯,当用计算机和PLC通讯的时候不但可以采用传统的D形式的串行通讯,还可以采用更适合工业控制的双线的profibus-dp通讯,采用封装好的程序开发工具就可以实现PLC和上位机的通讯。
当然可以自己编写驱动类的接口协议控制上位机和下位机的通讯。
2.2下位机AT89C52
AT89C52是美国Atmel公司生产的低电压、高性能CMOS8位单片机,片内含8KB的可反复檫写的程序存储器和12B的随机存取数据存储器(RAM),器件采用Atmel公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内配置通用8位中央处理器(CPU)和Flash存储单元,功能强大的AT89C52单片机可灵活应用于各种控制领域。
AT89C52单片机属于AT89C51单片机的增强型,与Intel公司的80C52在引脚排列、硬件组成、工作特点和指令系统等方面兼容。
其主要工作特性是:
片内程序存储器内含8KB的Flash程序存储器,可擦写寿命为1000次;
片内数据存储器内含256字节的RAM;
具有32根可编程I/O口线;
具有3个可编程定时器;
中断系统是具有8个中断源、6个中断矢量、2个级优先权的中断结构;
串行口是具有一个全双工的可编程串行通信口;
具有一个数据指针DPTR;
低功耗工作模式有空闲模式和掉电模式;
具有可编程的3级程序锁定位;
AT89C52工作电源电压为5(1+0.2)V,且典型值为5V;
AT89C52最高工作频率为24MHz。
2.3RS232串口
RS232是个人计算机上的通讯接口之一,由电子工业协会(ElectronicIndustriesAssociation,EIA)所制定的异步传输标准接口。
通常RS-232接口以9个引脚(DB-9)或是25个引脚(DB-25)的型态出现,一般个人计算机上会有两组RS232接口,分别称为COM1和COM2。
RS232-C是美国电子工业协会EIA(ElectronicIndustryAssociation)制定的一种串行物理接口标准。
RS是英文“推荐标准”的缩写,232为标识号,C表示修改次数。
RS232-C标准设有25条信号线,包括一个主通道和一个辅助通道。
在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。
RS232-C标准规定的数据传输速率为50、75、100、150、300、600、1200、2400、4800、9600、19200波特。
串行通信接口标准经过使用和发展,目前已经有几种。
但都是在RS232标准的基础上经过改进而形成的。
所以,以RS232-C为主来讨论。
RS232-C标准是美国EIA(电子工业联合会)与BELL等公司一起开发的1969年公布的通信协议。
它适合于数据传输速率在0~20000b/s范围内的通信。
这个标准对串行通信接口的有关问题,如信号线功能、电器特性都作了明确规定。
由于通行设备厂商都生产与RS232-C制式兼容的通信设备,因此,它作为一种标准,目前已在微机通信接口中广泛采用。
第三章硬件设计
在硬件设计中主要为下位机的AT89C52所设计的流水灯,其中包括基本的时钟晶振模块,复位电路模块,8位LED灯模块和最重要的串口通讯模块。
3.1时钟晶振模块
外接晶振给单片机提供一个时钟信号(一个非常稳定的频率信号),使单片机各内部组件同步工作,并且在和外部设备通信时是也能达到同步。
图3.1时钟晶振模块
3.2复位模块
手动开关复位使中央处理器CPU以及其他功能部件都恢复到一个确定的初始状态,并从这个状态开始工作。
除此之外,当单片机程序运行出现错误或系统处于死循环状态时,需要对单片机进行复位以及重新启动。
图3.2手动开关复位
3.3LED显示模块
8位LED发光二极管实现流水灯操作。
根据软件设计可得到1位LED循环左移,花样灯等。
图3.38位LED显示
3.4串口通讯模块
MAX232是一种把电脑的串行口RS232信号电平(-10,+10v)转换为单片机所用到的TTL信号点平(0,+5)的芯片。
串口通讯模块使上位机与下位机得以通信,进行数据传送。
图3.4串口通讯
第四章软件设计
4.1AT89C52主程序设计
下位机程序设计中主要执行功能为流水灯显示和串口发送,主程序首先对系统的定时器和串口进行初始化,然后通过程序SBUF接收P1口的信号,每接收到一个P1口信号就对上位机进行一次数据传送,通过上位机的设计界面显示数据。
整个系统的主流程图如下图4.1所示。
图4.1主流程图
4.1.1串口工作原理部分
系统的串口部分十分重要,主要是初始化部分对相应的寄存器进行设置,发送数据的时候只需要将数据写入SBUF里面即可,由发送中断标志位TI检测其数据发送结束。
而接收则有中断方式和等待方式两种,本系统因为单片机所要完成的简单,所以采用等待的方式。
串口的初始化程序流程图如图4.4所示。
图4.2串口初始化程序流程图
4.2上位机设计
本次使用LabVIEW对程序进行设计,界面中包括端口设置区,命令控件区,显示控件区。
由于所学知识有限,设计中多数部分参考老师所给文件包中串口测试.vi。
4.2.1端口设置区设计
端口设置区中包括五个部分,分别为:
通讯口设置,波特率设置,数据位设置,校验位和停止位。
通讯口中编辑项有COM1、COM2。
波特率编辑项有300、600、1200、1800、2400、4800、7200、9600、14400、19200、28800、38400、56000、76800、115200。
数据位中编辑项有6、7、8。
校验位中编辑项有无、偶校验、奇校验。
停止位中编辑项有1、1.5、2。
其前、后面板显示如图4.3、图4.4所示。
图4.3端口设置区前面板设计图4.4端口设置区后面板设计
4.2.2命令控件区设计
命令控件区中包括:
自动发送选择项,发送按钮,数据清空按钮,停止按钮。
其前、后面板如图4.5、图4.6所示。
图4.5命令控件区前面板设计
图4.6命令控件区后面板设计
4.2.3显示控件区设计
现实空间区中包括数据发送区、数据接收区、发送周期显示、发送字节数、接收字节数和8位LED显示灯。
其前、后面板如图所示。
图4.7显示控件区前面板设计
图4.8后面板数据发送区、发送周期设计
图4.9后面板数据接收区、发送/接收字节数设计
图4.10后面板LED灯显示设计
参考文献
[1]江建军孙彪著.LabVIEW程序设计教程(第2版).电子工业出版社.2012年1月
[2]柴钰著.单片机原理及应用.西安电子科技大学出版社.2009年2月
[3]彭倩著.虚拟仪器实验指导书.西安科技大学.2012年
[4]XX百科
[5]XX资料
心得体会
通过各方面努力,本次实习基本完成。
在LabVIEW设计的学习下,设计出了上下位机的LED通讯灯动态显示方案。
通过这次系统的项目设计提高了我运用所学的专业基础知识来解决面临实际问题的能力,同时也提高了我查阅各种文献资料、使用LabVIEW软件的水平。
通过这次设计,我发现了自己的很多不足以及许多知识的漏洞。
在设计过程中遇到了不少困难,庆幸的是我得到了许多人的帮助。
首先我要感谢我的指导老师昝老师设计过程中,他给的指导,丰富的设计经验和严谨的制学态度,是我解决问题的关键所在。
同时,还要感谢帮助我的所有同学。
我想,本次实习对我们每个人都是影响很大的,它使我们基本掌握了LabVIEW通讯的设计方案,基本掌握了LabVIEW等软件的使用,并且对LabVIEW有了更深入的了解。
在解决问题的过程中,我们不仅学到了很多专业的知识,还学会了分析问题,解决问题的方法。
相信这些对我们以后的学习与工作都有很大的帮助。
通过对自己在大学时间里所学的知识的回顾,并充分发挥对所学知识的理解和对课程设计的思考及书面表达能力,最终完成了这项实习。
这次设计为我们今后进一步深化学习,积累了一定的宝贵经验。
撰写论文的过程也是专业知识的学习过程,运用已有的专业基础知识,对其进行设计,分析和解决一个理论问题或实际问题,把知识转化为能力的实际训练,并且为以后的课程设计论文做好准备及铺垫。
本次课题培养了我们运用所学知识解决实际问题的能力,确实也有所提高。
通过这次实习发现,只有理论水平提高,才能够将课本知识与实践相整合,理论知识服务于教学实践,以增强自己的动手能力。
通过这次设计,我们知道了理论和实际的距离,也知道了理论和实际想结合的重要性。
我们的学习不但要立足于书本,以解决理论和实际教学中的实际问题为目的,还要以实践相结合,理论问题即实践课题,解决问题即课程研究,学习就应该采取理论与实践结合的方式,理论的问题,也就是实践性的课题。
这种做法既有助于完成理论知识的巩固,又有助于带动实践,解决实际问题,加强我们的动手能力和解决问题的能力。
附录
附录1下位机程序
#include
#defineucharunsignedchar
#defineuintunsignedint
ucharflag,a;
ucharcodePattern_P1[]=
{0x7f,0x3f,0x1f,0x0f,0xfe,0xfc,0xf8,0xf0,0x0f,0xf0,0xe7,0xc3,0x81,0x00}
/********************延时子程序*******************/
voidDelayMS(uintx)
{
uchari;
while(x--)
{
for(i=0;i<120;i++);
}
/**********************主程序**********************/
voidmain()
{
uchari;
TMOD=0x20;//设置定时器1为工作方式2
TH1=0xe6;
TL1=0xe6;
TR1=1;
SM0=0;
SM1=1;
PCON=0x00;
while
(1)
{
for(i=0;i<107;i++)
{
P1=Pattern_P1[i];
DelayMS(200);
SBUF=Pattern_P1[i];
while(!
TI);
TI=0;
}
}
}
附录2上位机界面
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LabVIEW 课程设计 基于 软件 平台 流水 设计 原理 过程