虚拟仪器课程设计基于LabVIEW上下位机的LED显示设计_第1页
虚拟仪器课程设计基于LabVIEW上下位机的LED显示设计_第2页
虚拟仪器课程设计基于LabVIEW上下位机的LED显示设计_第3页
虚拟仪器课程设计基于LabVIEW上下位机的LED显示设计_第4页
虚拟仪器课程设计基于LabVIEW上下位机的LED显示设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 电控学院课程设计(论文) 课程名称: LabVIEW程序设计教程 题 目: 基于LabVIEW上下位机的LED显示设计 院 (系): 电气与控制工程学院 专业班级: XXXXXXXXXXXXXXX 姓 名: XXXX 学 号: XXXXXX 指导教师: XXX XX 2014年 1 月 9 日目录1 设计任务12 系统方案选择12.1整体设计12.2 通信协议12.2.1 数据信号线22.2.2 控制信号线22.3 下位机总体设计32.4 上位机总体设计33 下位机设计33.1 硬件33.1.1 时钟晶振模块33.1.2 复位模块33.1.3 LED显示模块43.1.4 串口通信模块43.2

2、 软件设计53.2.1 主程序设计53.2.2 串口通信设计54 上位机设计65 系统调试76 结论77 总结88 参考文献99 附录10基于labview的上位机与下位机之间的通信1 设计任务此次设计所要完成的功能是使用AT89C52作为下位机,通过RS-232C串口与上位机相连,将编程所实现的跑马灯和端口设置数据显示在上位机上。上位机是通过LabVIEW软件绘制实现,上位机界面包括设置区、命令控件区、显示控件区、数据接收区。2 系统方案选择2.1整体设计下位机使用AT89C52进行流水灯设计,上位机使用LabVIEW进行界面设计,显示出端口设置数据和8个LED灯的显示,通过RS232进行串

3、口通讯传送数据到上位机中显示。AT89C52晶振时钟复位电路8位LED上位机显示控件区命令控件区端口设置区RS232串口图2.1 设计框架2.2 通信协议RS-232C标准定义了数据通信设备(DCE)与数据终端设备(DTE)之间进行串行数据传输的接口信息,规定了接口的电气信号和接插件的机械要求。RS-232C对信号开关电平规定如下:驱动器的输出电平为:逻辑“0”:+5+15V;逻辑“1”:-5-15V。接收器的输入检测电平为:逻辑“0”:+3V;逻辑“1”:-3V。RS-232C采用负逻辑,噪声容限可达2V。RS-232是个人计算机上的通讯接口之一,由电子工业协会(Electronic Ind

4、ustries Association,EIA) 所制定的异步传输标准接口。通常 RS-232 接口以9个引脚 (DB-9) 或是25个引脚 (DB-25) 的型态出现,一般个人计算机上会有两组 RS232 接口,分别称为 COM1 和 COM2。RS-232C接口定义了20条可以同外界连接的信号线,并对它们的功能作了具体规定。这些信号线并不是在所有的通讯过程中都要用到可以根据通信联络的繁杂程度选用其中的某些信号线。RS-232-C标准规定的数据传输速率为50、75、100、150、300、600、1200、2400、4800、9600、19200波特。RS-232C用作计算机与远程通信设备的

5、数据传输接口,如图2.2所示,图中信号线分为数据信号线和控制信号线,分别说明如下:图2.2 带RS-232C接口的通信设备连接 数据信号线“发送数据(TXD)”和“接收数据(RXD)”是一对数据传输信号。TXD用于发送数据,当无效数据发送时,TXD线上的信号为“1”。RXD用于接收数据,当无效数据发送或者接收数据间隔期间,RXD线上的信号也为“1”。 控制信号线“请求发送(RTS)”与“为发送清零(CTS)”信号线用于双工通信方式。半双工方式下发送和接收只能分时进行。当DTE有数据待发送时,先发“请求发送”,信号通知调制解调器,此时若调制解调器处于接收方式,则必须等到接收完毕转为发送方式时,才

6、向DTE回送“为发送清零”信号。在全双工方式下,发送和接收能同时进行,不使用这两条控制信号线。“DCE就绪”(DSR)和“DTE就绪”(DTR)信号线分别表示DCE和DTE是否处于可供使用的状态。“保护地”信号线一般连接设备的屏蔽地。2.3 下位机总体设计利用AT89C52芯片的P1口,以及软件编程实现跑马灯。2.4 上位机总体设计对于labview处理主要包括前后面板的设计,包括三部分:参数设置部分、命令控制部分及显示部分。其中参数设置主要包括通讯口、波特率、数据位、校验位、停止位及接收周期的设置;命令控制主要包括启停数据接收、显示数据清空及退出运行等;显示界面主要包括接收数据显示、接收数据

7、个数显示、当前下位机流水灯状态实时显示等。3 下位机设计3.1 硬件在硬件设计中主要为下位机的AT89C52所设计的流水灯,其中包括基本的时钟晶振模块,复位电路模块,8位LED灯模块和最重要的串口通讯模块。 时钟晶振模块外接晶振给单片机提供一个时钟信号(一个非常稳定的频率信号),使单片机各内部组件同步工作,并且在和外部设备通信时是也能达到同步。图3.1 时钟晶振模块 复位模块手动开关复位使中央处理器CPU以及其他功能部件都恢复到一个确定的初始状态,并从这个状态开始工作。除此之外,当单片机程序运行出现错误或系统处于死循环状态时,需要对单片机进行复位以及重新启动。图3.2 复位电路 LED显示模块

8、8位LED发光二极管实现流水灯操作。根据软件设计可得到1位LED循环左移,花样灯等。图3.3 8位LED显示 串口通信模块MAX232是一种把电脑的串行口RS232信号电平(-10,+10v)转换为单片机所用到的TTL信号点平(0,+5)的芯片。串口通讯模块使上位机与下位机得以通信,进行数据传送。图3.4 串口通信3.2 软件设计 主程序设计下位机程序设计中主要执行功能为流水灯显示和串口发送,主程序首先对系统的定时器和串口进行初始化,然后通过程序SBUF接收P1口的信号,每接收到一个P1口信号就对上位机进行一次数据传送,通过上位机的设计界面显示数据。整个系统的主流程图如下图所示。图3.5 下位

9、机程序流程图 串口通信设计系统的串口部分十分重要,主要是初始化部分对相应的寄存器进行设置,发送数据的时候只需要将数据写入SBUF里面即可,由发送中断标志位TI检测其数据发送结束。而接收则有中断方式和等待方式两种,本系统因为单片机所要完成的简单,所以采用等待的方式。串口的初始化程序流程图如图所示。开 始结 束设置T1工作方式设置波特率设置串口工作方式允许串口中断图3.6 串口初始化程序流程图4 上位机设计端口设置区中包括五个部分,分别为:通讯口设置,波特率设置,数据位设置,校验位和停止位。通讯口中编辑项有COM1、COM2。波特率编辑项有300、600、1200、1800、2400、4800、7

10、200、9600、14400、19200、28800、38400、56000、76800、115200。数据位中编辑项有6、7、8。校验位中编辑项有无、偶校验、奇校验。停止位中编辑项有1、1.5、2。其前、后面板显示如图所示。图4.1 前面板设计图4.2 程序框图设计5 系统调试运行显示的过程是首先实现灯的左移右移,在实现等从中间点亮逐步向两边扩散再向中间聚拢,接着实现日期20140107与学号1006070108。其结果显示如下:图5.1 运行结果图6 结论本次课程设计题目是基于LabVIEW的跑马灯设计,主要进行的任务是用编程软件Keil编写跑马灯程序、烧写程序、使用LabVIEW设计上位

11、机、下位机发送数据在上位机显示。此次设计使得我们对课本LabVIEW程序设计教程上的理论知识进一步加深,将之应用于实践,充分发掘学生们的潜力。首先是熟悉Keil编程软件的使用,使用单片机C语言编写跑马灯的程序,其中出现了一些问题,比如想要实现一个LED的左移点亮,只将其左移一位,即LED<<=1,并未考虑到左移后数据的最右端会自动赋0,这样灯的点亮顺序将不会达到所想要实现的效果,应该使用该语句LED=(LED<<1)|0x01,将最右端赋值1。另外,编译链接后出现两个警告,其原因未选择Add Files to Group Source Group1,导致错误。使用Lab

12、VIEW软件绘制前面板和程序框图是一个很复杂的过程,首先是绘制前面板上的所要求的各显示和设置区,绘制完成后,在后面板上会主动生成一些相应的控件,然后补充所要用到的控件,并用导线将相应控件相连接。最终完成上位机的设计。最初绘制完成后运行时,数据显示区有数据,但LED灯显示区中无一LED亮,此问题的原因是为将接收到的数据经控件“字符串至字节数组转换”转换成字节数组,造成错误,鼠标放在数据接收区控件上,点右键选字符串选板中的“字符串至字节数组转换”控件,然后鼠标放在“字符串至字节数组转换”控件上,点击鼠标右键选择“索引数组”控件,用导线将对应的控件相连,再次运行,灯亮,数据显示区数据与下位机灯亮的顺

13、序一致,但在前面板中的灯亮与灯灭正好与实际相反,为改正错误,在程序框图中的LED显示控件区中的各LED前加一个非门,从而将错误改正。此外,对于自身来说,此次设计中仍有些不足,如程序框图中有些控件仍不是太明白其含义和功能,希望自己以后会多加练习,争取更进一步地掌握LabVIEW软件的使用。7 总结通过各方面努力,本次实习基本完成。在LabVIEW设计的学习下,设计出了上下位机的LED通讯灯动态显示方案。通过这次系统的项目设计提高了我运用所学的专业基础知识来解决面临实际问题的能力,同时也提高了我查阅各种文献资料、使用LabVIEW软件的水平。通过这次设计,我发现了自己的很多不足以及许多知识的漏洞。

14、在设计过程中遇到了不少困难,庆幸的是我得到了许多人的帮助。首先我要感谢我的指导老师昝老师设计过程中,他给的指导,丰富的设计经验和严谨的制学态度,是我解决问题的关键所在。同时,还要感谢帮助我的所有同学。我想,本次实习对我们每个人都是影响很大的,它使我们基本掌握了LabVIEW通讯的设计方案,基本掌握了LabVIEW等软件的使用,并且对LabVIEW有了更深入的了解。在解决问题的过程中,我们不仅学到了很多专业的知识,还学会了分析问题,解决问题的方法。相信这些对我们以后的学习与工作都有很大的帮助。通过对自己在大学时间里所学的知识的回顾,并充分发挥对所学知识的理解和对课程设计的思考及书面表达能力,最终

15、完成了这项实习。这次设计为我们今后进一步深化学习,积累了一定的宝贵经验。撰写论文的过程也是专业知识的学习过程,运用已有的专业基础知识,对其进行设计,分析和解决一个理论问题或实际问题,把知识转化为能力的实际训练,并且为以后的课程设计论文做好准备及铺垫。本次课题培养了我们运用所学知识解决实际问题的能力,确实也有所提高。通过这次实习发现,只有理论水平提高,才能够将课本知识与实践相整合,理论知识服务于教学实践,以增强自己的动手能力。通过这次设计,我们知道了理论和实际的距离,也知道了理论和实际想结合的重要性。我们的学习不但要立足于书本,以解决理论和实际教学中的实际问题为目的,还要以实践相结合,理论问题即

16、实践课题,解决问题即课程研究,学生自己就是一个专家,通过自己的手来解决问题比用脑子解决问题更加深刻。学习就应该采取理论与实践结合的方式,理论的问题,也就是实践性的课题。这种做法既有助于完成理论知识的巩固,又有助于带动实践,解决实际问题,加强我们的动手能力和解决问题的能力。8 参考文献1 虚拟仪器实验指导书,彭倩编.西安科技大学出版社.2 杨乐平,李海涛,赵勇等.LabVIEW高级程序设计.北京:清华大学出版社,2003.3 王磊,陶梅.精通LabVIEW8.0.北京:电子工业出版社,2007.9 附录图1 下位机原理图程序清单#include<reg51.h> #define uc

17、har unsigned char #define uint unsigned int uchar code LED1=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/定义流水灯点亮顺序uchar code LED2=0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0x7e; uchar code LED3=0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x3e,0x7c; uchar code LED4=0xe7,0xc3,0x81,0x00,0x00,0x81,0xc7,0xe7; uchar code LED5=0xf

18、b,0xfe,0xfd,0xef,0xfe,0xfd,0xfe,0x7f; uchar code LED6=0xfe,0xff,0xff,0xc0,0xff,0x80,0xff,0xfe,0xff,0x00; void delay(uint x) /延迟函数 uchar i; while(x-) for(i=0;i<120;i+); void Port(char c) /定义单片机向串口输出数据子函数 SBUF=c; while(TI=0); TI=0;void main(void) SCON=0x50; /设置串口工作于方式1 TMOD=0x20; /设置定时器工作于方式2 PCON=0x00; /设置SMOD TH1=0xfd; /设置波特率 TL1=0xfd; TI=0; /允许向串口发送数据 TR1=1; /启动TI while(1) uchar i; for(i=0;i<8;i+) /正向点亮流水灯并将流水灯状态发送至串口 P1=LED1i; Port(LED1i); delay(300); for(i=7;i>0;i-) /反向点亮流水灯并将流水灯状态发送至口 P1=LED1i; Port(LED1i); delay(300); for(i=0;i<8;i+) P1=LED2i; Port(LED2i); delay(300); fo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论