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

发布者:PeacefulAura最新更新时间:2014-02-14 来源: dzsc关键字:LabVIEW  STC89C54  单片机  串口通信 手机看文章 扫描二维码
随时随地手机看文章

  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=0×50; //SCON:模式

  1,8-bitUART,使能接收

  TMOD|=0×20; //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++;

  }[page]

  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进行上位机设计,其界面美观,实现起来较容易,可以很方便的运用于各种测量监控系统中

关键字:LabVIEW  STC89C54  单片机  串口通信 引用地址:LabVIEW与STC89C54单片机串口通信实现

上一篇:一种简易数字电压表的设计与制作
下一篇:单片机智能照明调光系统的研究

推荐阅读最新更新时间:2024-03-16 13:35

看看这个关于AVR单片机的镕丝位配置的文章
简介:对AVR熔丝位的配置是比较细致的工作,用户往往忽视其重要性,或感到不易掌握。下面给出对AVR熔丝位的配置操作时的一些要点和需要注意的相关事项。 正确配置AVR熔丝位 (1)在AVR的器件手册中,对熔丝位使用已编程(Programmed)和未编程(Unprogrammed)定义熔丝位的状态,“Unprogrammed”表示熔丝状态为“1”(禁止);“Programmed”表示熔丝状态为“0”(允许)。因此,配置熔丝位的过程实际上是“配置熔丝位成为未编程状态“1”或成为已编程状态“0””。 (2)在使用通过选择打钩“√”方式确定熔丝位状态值的编程工具软件时,请首先仔细阅读软件的使用说明,弄清楚“√”表示设置熔丝位状态
[单片机]
AVR单片机实现了232到CAN转换
#include iom16v.h //寄存器定义; #include macros.h //宏定义; #define uchar unsigned char //数据类型定义 #define uint unsigned int //数据类型定义 #pragma interrupt_handler INT1_17:3 //定义INT1的中断服务程序 #pragma interrupt_handler Timer0:10 //定义定时计数器0的中断服务程序 #pragma interrupt_handler Usart_receive:12 /
[单片机]
单片机和CPLD实现步进电机的控制
步进电机是一种将脉冲信号转换成角位移的伺服执行器件。其特点是结构简单、运行可靠、控制方便。尤其是步距值不受电压、温度的变化的影响、误差不会长期积累,这给实际的应用带来了很大的方便。它广泛用于消费类产品(打印机、照相机)、工业控制(数控机床、工业机器人)、医疗器械等机电产品中。 通常的步进电机控制方法是采用CPU(PC机、单片机等)配合专用的步进电机驱动控制器来实现,这存在成本较高、各个环节搭配不便(不同类的电机必须要相应的驱动控制器与之配对)等问题。 CPLD器件具有速度快、功耗低、保密性好、程序设计灵活、抗干扰能力强、与外围电路接口方便等特点,越来越多的应用于各种工控、测量、仪器仪表等方面。同时单片机非常适合应用于需要复
[单片机]
用<font color='red'>单片机</font>和CPLD实现步进电机的控制
STM8S单片机入门4(串口通讯及蓝牙模块的使用)
串口通讯具有悠久历史的,最基本、最简单的通讯方式,即使在当前这个注重移动和无线互联的时代,也少不了串口通讯的身影。比如对小数据量数据的无线传输,虽然物理链路用蓝牙或WIFI传输,但最后到单片机数据交互上,可能还是用了串口通讯。 STM8S系列单片机有1~3个通用异步收发器(UART)支来持串口通讯,在这个部分里,将以STM8S单片机通过蓝牙与智能手机通讯,实现一个echo功能(单片机将收到来自于手机的数据原样返回给手机),来讲解如何使用单片机的串口功能。 1、电路设计 电路采用一款蓝牙转串口的模块实现蓝牙通讯,这款蓝牙模块有四个引脚,VCC、GND、TXD、RXD,只要将模块的VCC、GND引脚与电源
[单片机]
STM8S<font color='red'>单片机</font>入门4(串口通讯及蓝牙模块的使用)
PIC单片机浮点数格式及其与十进制数之间的转换和程序设计步骤
在我们设计的仪表中采用PIC系列单片机,碰到了浮点数的运算问题,查阅其有关资料发现,其浮点数的格式及其与十进制数之间的转换,与我们常用的MCS-51单片机所提供的三字节、四字节浮点数完全不同,本文将说明其浮点数的格式及其与十进制数之间的转换和程序设计步骤。 1 浮点数的格式 Microchip公司单片机所采用的浮点数格式是IEEE-754标准的变异型。32位浮点数格式为: 其中:×表示一位二进制数0或1;eb为指数的偏差;S为浮点数的符号位,S=0为正数,S=1为负数;小数点“·”在符号位S的右边;BY0BY1BY2为尾数的小数部分。 应特别注意: ⑴浮点数隐含其整数部分为1。 ⑵十进制数0的浮点数表示为00H,00H,00
[单片机]
PIC<font color='red'>单片机</font>浮点数格式及其与十进制数之间的转换和程序设计步骤
MSP430单片机的PWM操作
//******************************************************************************* // 描述:MSP430实现PWM。反映在LED灯上,可以看到LED灯的亮度不断变化 // // ACLK= n/a, MCLK= SMCLK= default DCO ~ 800k // // MSP430F13x // ------------------- // /|\| XIN|- // | | | 32kHz // --|RST XOUT|- // | | // | P1.2|-- LED // // // 硬件电路:MSP430F135核心实验板-I型 //
[单片机]
汽车芯片,正式过剩
去年一年,经济疲软,芯片行业遭受寒冬侵蚀,尤其在消费、工业领域,砍单、减产明显。彼时,汽车芯片是芯片行业的唯一救星,正值汽车行业电气化变革热潮,叠加汽车芯片缺乏,可以说,汽车芯片是那时候半导体行业“全村的希望”。 而自去年下半年开始,汽车芯片市场开始疯狂内卷,行业开始忧心行业前景,供需关系逐渐开始有失衡迹象。直到今年初,汽车芯片跌价严重,库存过大,巨头的汽车板块开始松动下滑。这标着,这一个市场,终于正式迎来过剩的结局。 巨头开始发出警示 汽车芯片行业,本来有着自己的“特权”,但随着库存水位逐渐升高,供应能力逐渐恢复,供应关系开始逆转,汽车芯片也不再是奇货可居。 回看疫情期间,芯片生产开始短缺,彼时汽车制造商不愿
[汽车电子]
汽车芯片,正式过剩
单片机实现的测温电路设计
利用单片机实现极简单的测温电路 单片机在电子产品中的应用已经越来越广泛,在很多的电子产品中也用到了温度检测和温度控制,但那些温度检测与控制电路通常较复杂,成本也高,本文提供了一种低成本的利用单片机多余I/O口实现的温度检测电路,该电路非常简单,且易于实现,并且适用于几乎所有类型的单片机。其电路如下图所示: 500) {this.resized=true; this.width=500; this.alt='这是一张缩略图,点击可放大。n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}"> 图中: P1.0、P1.1和P1.2是单片机的3个I/O脚; RK为10
[测试测量]
用<font color='red'>单片机</font>实现的测温电路设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved