LabVIEW与STC89C54单片机串口通信实现

来源 :电子世界 | 被引量 : 0次 | 上传用户:yuanchonghuanca
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘要】在单片机控制系统中,经常会涉及到上位机与下位机的通信。本文主要通过一个简单的实例来介绍labVIEW与单片机的串口通信实现过程,包括下位机单片机的硬件与软件设计,上位机LabVIEW的前面板和程序框图设计。
  【关键词】labVIEW;STC89C54;串口通信;VISA
  1.概述
  在现代测控系统中,我们经常会采用上位机和下位机的开发控制模式。下位机主要是用来采集数据,可以通过嵌入式控制器、单片机控制器、PLC等来实现。上位机主要是图形界面,用来实时显示采集数据,并进行数据分析及处理,同时可以控制下位机。上位机的实现可以通过各种高级语言,比如VB、Delphi等以及NI公司的图形化虚拟仪器软件开发环境LabVIEW。由于LabVIEW采用的是图形化的编程方法,所以无论你是否有过编程经验,都可以快速、高效地设计用户界面,实现与控制硬件的通信,并进行数据分析和处理。如今LabVIEW已经渗透到工业测量的各个领域,与此同时在嵌入式、FPGA、DSP、实时控制等领域也发挥着巨大的作用。
  2.本实例实现的功能
  首先利用单片机STC89C54通过串口发送“你好,LabVIEW”,LabVIEW将单片机发送到数据进行显示。通过这个实例来了解LabVIEW的串口通信设计。
  3.下位机硬件设计与软件设计
  (1)硬件设计
  单片机串口通信硬件电路设计比较简单,主要包括单片机STC89C54最小系统以及MAX232和九针串口。
  (2)软件设计
  设计源码如下:
  #include
  #define uchar unsigned char
  #define uint unsigned int
  void SendStr(unsigned char *s);//发送字符串
  void DelayMs(uint xms)//延时子函数
  {
  uint i,j;
  for(i=xms;i>0;i--)
  for(j=110;j>0;j--);
  }
  void InitUART(void) //串口初始化
  {
  SCON=0x50; //SCON:模式1,8-bitUART,使能接收
  TMOD|=0x20; //TMOD:timer 1,mode 2,8-bit重装
  TH1=0xFD; // TH1:重装值9600波特率 晶振11.0592MHz
  TR1=1; //TR1:timer 1打开
  EA=1; //打开总中断
  }
  void main(void)
  {
  InitUART();
  while(1)
  {
  SendStr(“你好!LabVIEW!”);
  DelayMs(240);
  DelayMs(240);
  }
  }
  void SendByte(unsigned char dat)
  {
  SBUF=dat;
  while(!TI);
  TI=0;
  }
  void SendStr(unsigned char *s)
  {
  while(*s!=’\0’)//\0表示字符串结束标志,//通过检测是否字符串末尾
  {
  SendByte(*s);
  s++;
  }
  }
  4.上位机LabVIEW前面板与程序框图
  (1)相关函数介绍
  在做LabVIEW串口通信的时候首先要安装VISA驱动,驱动可以从网上下
  载。LabVIEW对串口的操作主要是读操作和写操作。本实例主要是接受数据,也就是读操作,在这里首先介绍一下与此实例相关控件和函数。
  ①VISA资源名称
  在“新式”控件选项卡下“I/O”子选项卡下有“VISA资源名称”控件。安装好VISA驱动后,与硬件连接好后,该控件下可以列出相应的COM口,可以选择合适的COM口。
  ②VISA配置串口函数
  该函数位于函数选项卡下的“仪器I/O”子选项卡下,主要用来对串口进行参数配置,包括波特率、数据比特、奇偶校验等。
  ③VISA读取和VISA关闭函数
  VISA读取函数的功能是从VISA资源名称所指定的设备或接口中读取指定数量的字节,并将数据返回至读取缓冲区。VISA关闭函数的功能是关闭VISA资源名称指定的设备会话句柄或事件对象。
  (2)程序框图设计
  程序框图设计如图1所示。
  5.测试
  将硬件连接好后,上电,下载程序,运行labVIEW,我们可以看到在读取缓冲区里接收到了单片机发送来的字符串“你好!LavVIEW”。如图2所示。
  6.总结
  利用LabVIEW进行上位机设计,其界面美观,实现起来较容易,可以很方便的运用于各种测量监控系统中。
  参考文献
  [1]陈诚.基于LabVIEW的单片机串口通信设计[J].现代计算机,2009.
  [2]高顺凯,杨国志.基于LabVIEW和单片机的串行无线遥控系统设计[J].船舶电子工程,2011.
  作者简介:高亚(1972—),男,江苏洪泽人,扬州工业职业技术学院高级工程师,研究方向:计算机信息处理与虚拟仪器技术。
其他文献
【摘要】笔者结合安装和调试DX型发射机及多年维护本台DX-400中波发射机积累的工作经验,将DX型中波发射机备份板卡检测及调试方法进行总结阐述。  【关键词】DX型中波发射机;测量仪器;电位器;无感改锥;调试  1.前言  DX型中波发射机系美国哈里斯公司生产,根据冷却方式分为水冷式和风冷式两种,对大功率DX型发射机来讲,最小单元为PB200(DX-200),即额定功率200kW。通过相应的并机网
房地产代建模式是一种创新开发模式,其存在基础在于代建企业品牌与服务的同质化输出。定科学、合理、可行的人力资源战略规划是房地产代建企业管理的核心工作之一。集团化房
本文主要就农村职业学校校企合作人才培养模式的特点及改进等进行了分析,提出了观点与看法。
支气管肺泡灌洗术严格来讲是一种通过纤支镜进行肺段灌洗以获得肺泡内表面衬液中免疫效应细胞核非细胞成分的方法,根据中华医学呼吸病学分会2002年制定的支气管肺泡灌洗液细胞
目的:探讨实验室对急性心肌梗死(AMI)早期诊断指标,为临床诊断提供有价值的依据。方法:采用血清肌钙蛋白(cTnI)和肌红蛋白(Mb)免疫比浊定量测定法和肌酸激酶同工酶-MB(CK-MB)
针对车辆路径问题中传统硬时间窗过于刚性的问题,将软时间窗引入模型约束,建立基于总配送费用最小化的优化模型.同时,考虑到蚁群算法在求解该类问题上的不足,提出萤火虫算法
围绕程序设计基础能力的培养目标,提出了“C++程序设计”课程教学改革的方案并进行实施。细化了培养目标,调整了开课计划,丰富了教学内容,增加了实践环节的课时,设定了评价体
玉溪煤矿首采工作面在煤巷掘进过程中,突出指标参数频繁超标,瓦斯异常涌出,瓦斯超限,导致被迫停产、掘进速度慢。为解决安全快速掘进的生产技术难题,玉溪煤矿开展CO2气相压裂
随着电子技术的发展,国内变频器已经应用很广泛,涉及到一些电力拖动场合,包括各类纺织、印染、化工等行业中,使无极调速交流电动机得以实现,而且满足了各类工艺调速要求,节能效果非
本文通过对多台电流互感器投运前后产生高浓度氢气、甲烷为例,结合多年跟踪试验实际,分析产生氧气、甲烷的原因,提出在运行中含有高浓度氢气、甲烷电流互感器的一般处理意见,提高