LabVIEW与单片机通讯

合集下载

基于labview的计算机与单片机的通信系统设计

基于labview的计算机与单片机的通信系统设计

www�ele169�com | 79应用技术0 引言在计算机分布测控系统中,数据的收集和分析分别是由下位机和上位机实现。

由于单片机成本较低且功能强大,被广泛的运用到分布测控系统中,因此,一般情况下单片机都被作为分布测控系统的下位机,同时,由于计算机具有很好的人机交互功能和数据处理功能,所以被作为分布测控系统的上位机。

而上位机与下位机,即:计算机和单片机,两者之间的数据传输通常是采用串口通信的模式,虽然其传输速度慢,但因其成本低、运行可靠等特点,仍然是数据通信的主流模式。

目前,针对串行通信程序的开发,主要采用的是VC++、VB、VF 等语言进行编写,但这些以文本语言编写为主的串口通信程序较为复杂、花费时间较长。

同时,在实现串口通信的过程中,存在一个问题,就是在发送方与接收方信息传输的过程中如何保持一致性。

虽然串口能够将所收到的数据信息进行缓存,但受到缓存容量的限制,当缓存装满后,收到的数据就会溢出,导致数据丢失。

LabVIEW 是一款以数据流为基础的图形化编程软件,有软件与硬件两种握手协议,通过握手,信息发送方与接收方就能在缓存即将存满时,进行相互通报,这样发送方就能及时的停止数据的传送,直到接收方清空缓存并做好接收新数据的准备后,再次发送消息,这样能够有效解决上下位机之间通信时序冲突问题,且在人机交互过程中具有一定的优势。

因此,利用 LabVIEW 开发计算机与单片机的通信系统不失为一种有效方案。

1 基于LabVIEW 的计算机与单片机的通信系统硬件设计计算机与外部仪器设备连接比较常见的接口主要有三种:串口、并口及USB 接口,其中,USB 接口目前成为计算机的标准接口。

因此,在本论文的设计中,采用USB 接口转串口的方式来实现计算机与单片机之间的数据通信,即:将单片机的串口经过USB 转芯片后,变成USB 接口。

基于此,本论文设计的计算机与单片机的线路结构如图1所示。

图1 计算机与单片机通信系统的线路结构图由图可知,通信系统硬件主要由四个部分组成:计算机(上位机,实现发送通信数据和人机交互功能)、单片机(下位机,实现串口数据接口功能)、USB 接口、CH340转换芯片(USB 转接芯片,实现USB 转串口功能)。

labview实现PC与单片机之间的串口通信

labview实现PC与单片机之间的串口通信

labview实现PC与单片机之间的串口通信使用Proteus 进行单片机仿真,仿真硬件连接,串口通信部分使用keil 与labview 编写程序,实现:PC 通过串行口将数字(00,01,02,03...,FF,十六进制)发送给单片机,单片机收到后回传这个数字,PC 接收到回传数据后显示出来,若发送的数据和接收到的数据相等,则串行通信正确,否则有错误。

启始符是数字00,结束符是数字FF。

实验中注意PC 的串口名compim 与VISA 资源名称要相同,compim 中的参数值要调对,最好不要用虚拟的串口。

keil 中的程序为:# pragma db code# include# define uchar unsigned charvoid rece(void);void init(void);uchar re[17];void main(void){uchar temp;init();do{while(RI==0);temp=SBUF;if(temp==0x00){rece();}elsebreak;}while(1);}void init(void){TMOD=0x20;//定时器1--方式2PCON=0x80;//电源控制SCON=0x50;//方式1TL1=0xF3;TH1=0xF3;//22.1184MHz 晶振,波特率为4800 0xf396000xfa19200 0xfdTR1=1;}void rece(void){chari;i=0;do{while(RI==0);re[i]=SBUF;RI=0;SBUF=re[i];while(TI==0);TI=0;i++;}while(re[i-1]!=255);}labview 的前面板跟程序框图以及Proteus 图为tips:感谢大家的阅读,本文由我司收集整编。

仅供参阅!。

基于LabVIEW的监控界面设计与单片机的串行通信

基于LabVIEW的监控界面设计与单片机的串行通信
许 5 8位 数据 , - 默认 值为 8位 。
编程 流程 :
首 先进 行 串 口初始 化 , 般 的计 算 机上 有 2个 COM 口 , 一 所
s p b s 一 帧信 息 中 的停 止 位 的位 数 , 选 的值 为 0 2 t i: o t 可 -,
分别 对应 1位 、 1位半或 2位 , 默认 值 为 0 。 p ry 奇偶 校验 设置 。 可选 的值 为 0 4, n a i ( 校 ai : t - 0:o p ry 无 t
பைடு நூலகம்
另外 , 还做 了一 个 时 间和 1期 的小 程序 , 原理 如 下 :a — 3 其 L b
VlW x rs E 7 E p e s中有 自带 的读取 1期 和 时间 的 函数 ,在 面 板 3 上创 建两 个对 象分 别显 示时 间和 1 , 3期 每一秒 做一 次更 新 。
2 单片机 通信
图2 时 间 程 序 框 图
通 信功 能 , 设计 了电平 转换 电路 。 其工 作过 程为 : T g 8单 片 A me a 机 将 数 据 以 T L电 平 的 数 据 信 号送 到 R 4 5接 口芯 片 , T S一 8 而 R 4 5接 口芯 片将 兀 L电平 的 数 据转 换 成 差模 信 号 输 出 , S一 8 通 过 R 一8 S 4 5传输线 送到 R 一 8 / S 2 2转换 器 ,差模 信号 转 S 45 R 一 3 换 成共 模信 号 ,并通 过 电平转 换送 到 P 机 串行 口 C C OM 中 , 在 P C显 示器 中显 示 出来 。 同理 , C 机发 出信 号经 C P OM 口输 出一 串共模 信 号 , R 一 8 / S 2 2转 换 器后 变成 T L电平 的差 经 S 45 R 一 3 T 模 信 号输 出 ,并 通 过 R 4 5传 输 线 送 到 R 4 5接 口 , S一 8 S一 8 经

LabVIEW与单片机实验仪通信的实现及教学应用

LabVIEW与单片机实验仪通信的实现及教学应用

活 , 始化成 功后 向端 口发 送命令 字 . 初
维普资讯
第 2 卷第 1 l ຫໍສະໝຸດ 期 20 0 7年 1 0月
常熟理 工学院学报 ( 自然科 学版 ) Ju a 。 h nsuIstt f eh 。 g( a rl c ne) or l f agh ntue。 cn1 y N t a Si cs n C i T 。 u e
V - N- 。2 。 0 , 7
L b I W 与 单片 机 实验 仪 通信 的 实现 及教 学应 用 aVE
陈 飞 , 谢 启
250 ) 150
( 常熟 理工学 院 信息 与控 制工 程系 , 江苏 常熟

要 : 绍 了利 用 L b I W x rs 介 aV E 7 E pes开发 P C机 和 下载 式 单片机 实验 仪 串行 通信软 件 的编程 实现 ,
件 里面 .
( )数据 的写操作 3 写操作 主要是 向串 口发送 一个命 令 串并 在 观察 窗 口显 示 , 发送 以后 等 待单 片机 的处 理并 且 等 待接 收 数
据 .ei i ( S r l t 写端 口 V )放在一 个 C s t c r 中. a Wre I aeS ut e框 r u 当按 下前 面板 中发 送按 钮 之后 , aeS c r C s t t e激 u r u
( a ̄, M t C等) l 嵌套 , 有一个可完成任何编程任务的庞大的函数库. aVE 的函数库包括数据采集 、PB 串 Lb IW G I、 口控制、 数据分析 、 数据显示及数据存储等…. 通过串口控制使基于 Lb IW 的 P aVE c机与下载式单 片机实验仪 进行通信, 使实验室现有的计算机作为电压表 、 示波器等虚拟仪器, 充分发挥计算机的作用. 同时在实验过程 中 , 学生 了解计算 机作 为上位机控 制下位机 ( 片机 ) 让 单 的整个过 程 , 拓宽学 生 的知识 面 , 发学 生的学 习兴趣 . 激

Labview与C51单片机实现串口通信

Labview与C51单片机实现串口通信

Labview与C51单片机实现串口通信
Labview 串口通信学会两种方法,一种是利用visa(虚拟仪器软件构架),另一种是调用activeX 控件。

第一种方法(VISA)程序如图
首先,设置串口参数,串口初始化,循环内利用VISA WITE 实现对串口的写操作,延时200 毫秒,用VISA READ 实现读操作,中间有个端口属性节点的作用是计算端口的总的字节数。

非常简单,但我花了一天时间搞懂。

第二种方法调用active X 程序图如下所示
ACTIVE X 串口通信的最大优点是可以利用中断实现数据的传送或对下位机的控制,MSCOMM32 控件实现串口通信主要是通过对其属性节点的设置来实现的。

并利用到了事件回调方法实现中断程序。

tips:感谢大家的阅读,本文由我司收集整编。

仅供参阅!。

基于LabVIEW的PC机与单片机串口通信

基于LabVIEW的PC机与单片机串口通信
串行通信是一种常用的数据传输方法,虽然它的传输速度慢,但由于它占用的通信线路少、成本低、容易实现等优点,在数据通信方式上仍占有重要地位。目前,串口通信程序的开发,在Windows操作系统下一般用VB、VC、VF Delphi等等许多高级语言编写。当用VB、VC、VF,开发串行通信程序时,开发人员不得不面对非常烦琐的API函数编程;而Delphi没有自带的串口通信控件,在它的帮助文档里也没有提及串口通信,这也给编程人员带来许多不便,其他高级语言也是如此。可见,用文本语言编串口通信程序较为复杂,花费的时间较长。利用LabVIEW7.0开发PC机与单片机的串口通信程序是一种更为简捷的方法。
系主任(或责任教师)签名:______________年 月日
摘 要
介绍一种基于LabVIEW 7.0语言的AVR AT90系列单片机与PC机的串口通信技术,在体温检测中得到应用,并取得良好效果。
关键词: LabVIEW 7.0语言;AVR AT90系列中一片机;PC机;串口通信技术
Abstract:We introducethe application of serial portcommunication technology based on PC machinewith LabVIEW 7.0 language and AVR AT90series SCM in body temperature examination.And it has good effect.
确定定时器1的工作方式——写TMOD寄存器。
计算定时器1的初值——装载TH1、TL1。
启动定时器1——写TCON中的TR1位。
确定串口的控制——写SCON。
使用串口中断方式时,开CPU和中断源——写IE寄存器。

运用LabVIEW实现单片机MCS-51和PC机的串行通讯

运用LabVIEW实现单片机MCS-51和PC机的串行通讯

3662001嵌入式系统覆单片机国际学术交流会论文集——————————————~————————————————————————~CI-RTI;清TI标志,允许再次发送RE,rEND4.2PC机部分LabVIEW串口通讯程序波特率为9600,禁止软、硬件握手・无奇偶校验.数据位为8位,停止位设置为。

,有1位停止位。

前台面板如图5所示。

方框图如图6所示。

田5前台面板围6串口初始化方框图串El初始化方框图中需要对SerialPortInit.vi的~些参数进行设置。

双击SerialPortlnit.vi可以看到参数设置对话框。

串El读的方框图如图7所示,一方面将串El读出的一帧字符信息显示在前面板,另一方面将所有从串口读出的信息转换为数据,并以二维数组的形式显示在前面板。

5结束语I,abVIEW是一种简单易学的图形化高级语言.利用其开发产品可以大大提高开发效率。

本文详细介绍了运用LabVIEW从MCS-51单片机到PC机的串行通讯。

该程序在本文作者所开发的近红外光谱肌血氧仪中运行良好。

同样运用SerialPortWrite.yi也可以实现从PC机到单片机的串行通讯。

第四篇网络、通信与数据传送367———————————————————————————————————————————————————————————————————————一——————————————————————一圈7串口读的方框图参考文献1运用VisualBasic实现PC与89C51单片机之间的串行通讯.计算机自动测量与控制.1999(2)2VB5.0实现与单片机串行通信的程序设计.微计算机信息,1999(3)3用VisualBasic实现工控机与单片机间的通信.电子产品维修与制作.1999(4)4用vc++5.0实现PS2003与PC机的串口通信.电子技术,1999(7)5李朝青.单片机原理以及接口技术.北京:北京航空航天大学出版社,19946王福瑞,等.单片微机测控系统设计大全.北京:北京航空航天大学出版社,1998SerialCommunicationbetweenMCS-51andPCUsingLabVIEWXiangShaoxiaLiGangCollegeofPrecisionInstrument&Opto-ElectronicEngineering,TianjinUniversityTianjin,300072,P.R.ChinaAbstractLabVIEWisanpopulargraphicallanguagethatiswelcometoengineer.Acquisitiondatausingsystem(MCS-51)withmicrocomputersystemisalsoanpopularmethod.SerialcommunicationmicrocompulerPCusingthefunctionsinLabVlEWsuchasSerialPortInit.vi,SerialPortWrite.viandSerialPortRead・vietc・isintroducedinthispaper.Wordsserialcommunication,subVI,baudrateKey。

弹上通信系统的LabVIEW与单片机的通信技术

弹上通信系统的LabVIEW与单片机的通信技术

T ECH N OL OG Y RE VI E W技术纵横弹上通信系统的LabVIEW与单片机的通信技术樊龙龙1,常远2,王明亮1(1.海军装备部,太原030027;2.海军工程大学)摘要:结合某型信息化弹药弹上电子器件通信问题研究,以C8051F340单片机为例,介绍了单片机与LabVIEW进行USB通信的3种方法。

针对LabVIEW,实现U SB通信的方式有:利用CIN(代码接口节点),调用DL L(动态链接库),通过V ISA(虚拟仪器软件架构)。

对这3种方式进行详细的介绍和比较,并给出结论。

关键词:信息化弹药;LabVIEW;U SB;C8051F340;DL L;VISA中图分类号:T P36 文献标识码:AC ommu nication Between LabVIEW and MCU Based on Ammunition C omunication SystemFan Longlong1,Chang Yuan2,Wang Mingliang1(1.Navy Equipment Department,T aiyuan030027,China;2.Naval University of Engineering)Abstract:T his paper takes C8051F340microcontroller as an example,for the problems of electronic devices of a certain type of ammun-i t ion shells,introduces three methods of USB communication betw een LabVIEW and MCU.T he det ailed description and comparison of USB communication of LabVIEW using CIN(Code Interface Node),the DLL(dynam ic link library)and t he VISA(Virtual Instrument Software Archit ecture),and the conclusions are given.Key words:inform atizat ion amm unition;LabVIEW;USB;C8051F340;DLL;VISA引 言某型信息化弹药通过对目标的基准弹道与飞行中的攻击弹道进行比较后,给出有限次不连续的修正量来修正攻击弹道,以减少弹着点误差,提高弹丸对付高速机动飞行目标的命中精度,或提高远程打击精度。

基于LabVIEW的PC机与单片机串口通信

基于LabVIEW的PC机与单片机串口通信

课程设计任务书学生姓名:李晓宁郁金华彭亚斌吴冰专业班级 0882022 0882021指导教师:杨谊华工作单位:南昌航空大学题目:基于LabVIEW的PC机与单片机串口通信初始条件:要求对单片机课程知识有所了解,同时熟悉labview软件的运用,同时了解基本的串口通信原理。

指导教师签名:________________年月日系主任(或责任教师)签名:______________ 年月日摘要介绍一种基于LabVIEW 7.0语言的A VR AT90系列单片机与PC 机的串口通信技术,在体温检测中得到应用,并取得良好效果。

关键词: LabVIEW 7.0语言;A VR AT90系列中一片机;PC机;串口通信技术Abstract:We introduce the application of serial port communication technology based on PC machine with LabVIEW 7.0 language and A VR AT90 series SCM in body temperature examination.And it has good effect.Key words:LabVIEw 7.0 language;A VR AT90 series SCM;PC machine;Serial port communication technology目录第一章绪论 (1)第二章软件实现 (2)2.1 LabVIEW应用软件概述 (2)2.2 LabVIEW串口通信模块 (2)2.3 LabVIEW通信模块的属性 (3)2.4 串口通信程序结构 (3)第三章程序设计 (4)3.1 单片机通信的设计 (4)3.2 PC机通信的设计 (4)3.3 输入显示程序设计 (4)3.3.1 LED 显示流程图 (6)3.4 单片机收发程序 (7)3.5 PC机收发程序 (8)3.6 硬件连接 (9)第四章利用LabVIEW实现PC与单片机串口通信任务 (12)4.1 建立新VI程序 (12)4.2.程序前面板设计 (12)4.3.框图程序设计——添加函数与连线 (12)4.4.运行程序 (15)致谢 (16)参考文献 (17)第一章绪论在计算机分布式测控系统中,经常要利用串行通信方式进行数据通信。

基于LabVIEW的计算机与单片机串口通信系统

基于LabVIEW的计算机与单片机串口通信系统

te h ol gy f r c n o o di t bu d t st s s m i t mai t ea i t s fi 1 . L bVl W— as d c m ut r s ri te e y te s he ns r m n hi ed a E b e op e s ri po and s e al rt eri co muni ati n s te us ng al m c o ys m i co ute MCS po rf dat pro mp r 5l we ul a ces ng si c pa li e an t e s n se i c m ni a o p t o1 s th t o pl x a k a e . a bi ti s d he xi ti g r al o mu c ti n ro oc . o a c m e t s e si r K w d vi tu l n t um nt: La Vl W: M 51: s i c m ni ti p t c ey or s r a i s r e b E CS er al o mu ca on ro o ol Au h ’ s d e s i h R t or a dr s R z ao adi a d T U v rsi y, Ri h o. S an o , Ch n 2 6 6 0 n V ni e t za h d ng i a 7 82
刘 文 君
日照广播 电视大学 山东 日照
2 62 786
摘 要 计 算机被 广泛 运用 到测 试领域 ,虚 拟仪 器技术 的分 布式 测试 系统 是这 一领域 的主 流 。基于L b IW aV E 的计算 机 串 口与M S 1 口通信 系统利 用计 算机 强大 的数据 处理 功能和 现有 的 串 口通信 协议 ,从 而使 复杂 的工作 简 易化 。 C5 串 关键 词 虚拟 仪器 ;Lb IW C 5 ;串 口通信 协议 a VE ;M S 1 中图分 类号 :T 315 P 1. 2 文献 标识 码 :B 文章 编号 : 17—8 X 2 1)60 1~ 2 6 14 9 (02 0— l4 O

基于Labview的计算机与单片机的通信设计与实现

基于Labview的计算机与单片机的通信设计与实现

文中所设计的通信硬件主要包括 <部分,图 4为
收稿日期:-34563763- 稿件编号:-3453733.
计 算 机 和 单 片 机 的 线 路 设 计 结 构 ,计 算 机 属 于 上 位
基金项目:-348年陕西省教育厅科研项目(489:3;<;)
作者简介:刘 璐(4;5-—),男,陕西咸阳人,硕士研究生,讲师。研究方向:计算机软件。
晶的显示时序冲突问题,具有一定的工程实际使用价值。
关键词:?@AB)#C;计算机;单片机;通信
中图分类号:D2;;
文献标识码:E
文章编号:4.8<6.-1.(-345)-16333863<
"#$$%&'()*'#&+,-'.&)&+'$/0,$,&*)*'#&#1(#$/%*,2)&+-'&.0,(3'/(#$/%*,2
需求,所以分布式系统逐渐备受重视。在分布式系 境,其被广泛应用到控制领域和检测方面。因为程
统数据收集过程中主要是通过下位机实现,将收集 序属于图形化框图的形式,在人机交互过程中具有
数 据 实 现 进 一 步 分 析 及 处 理 是 通 过 上 位 机 实 现 。 =4> 一定的优势,并且其逐渐成为上位机的编程软件 。 =1>
首 先 对 系 统 硬 件 结 构 进 行 全 面 的 分 析 ,之 后 实 现 其 软 件 设 计 。 软 件 主 要 包 括 通 信 协 议 、单 片 机 程
序、?@AB)#C程序的设计。最后对系统的运行进行调试和测试,通过测试结果表示,基于 ?@AB)#C的

基于LabVIEW的计算机与单片机串口通信系统

基于LabVIEW的计算机与单片机串口通信系统

Key words virtual instrument; LabVIEW; MCS51; serial communication protocol
Author’s address Rizhao Radio and TV University, Rizhao, Shandong, China 276826
时,设备就会忽略送来的新数据,直至从输入缓存中读出 与仪器设备的串口保持一致,这样才能够正确地通信。
数据为新数据腾出足够的空间为止,这样就造成数据的丢
2)串口写(serial port write.vi)。如图2所示,
失。握手协议可以帮助避免缓存溢出。通过握手,发送者 该节点将需要送出的数据发送至串口的输出缓存。
5)串口中断(serial port break.vi)。如图5所
奇偶校验位、缓存大小及流量控制等参数。该节点用于 示,将端口中断一段时间,该时间由delay端口指定,单
2012年2月下 第6期(总第264期)
技术在线
刘文君:基于LabVIEW的计算机与单片机串口通信系统
图4 图5
图7
115
图6
位为ms。 1.3 串行通信设计
Abstract The computer has been widely applied to the test area, based on virtual instrument
technology for distributed test system is the mainstream in this field. LabVIEW-based computer
2 单片机部分设计
2.1 单片机串口通讯系统接线图(图7) 2.2 硬件部分
MCS51单片机内部有一个功能很强的全双工串行口, 该串行口有4种工作方式,波特率可用软件设置,由片内 的定时器/计数器产生。接收、发送均可触发中断系统, 使用十分方便。有2个物理上的独立的接收、发送缓冲器 SBUF,对外也有两条独立的收、发信号线RXD(P3.0)和 TXD(P3.1)。

基于LABVIEW通过串口通讯控制51单片机的的IO口

基于LABVIEW通过串口通讯控制51单片机的的IO口

利用labview作上位机实现51单片机串口通讯控制灯的实验作者Second z.k. BEST工具(人机界面:LABVIEW 底层:51单片机编译器:Keil uVision4烧录器:STC-ISP)底层代码如下(利用开发板串口教程)/*********************************************************************** **************** 串口通信实验*实现现象:下载程序后打开串口调试助手,将波特率设置为4800,选择发送的数据就可以显示在串口助手上。

具体操作参考操作视频注意事项:无。

************************************************************************ ***************/#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器#include <string.h>#include<ctype.h>typedef unsigned int u16; //对数据类型进行声明定义typedef unsigned char u8;/*********************************************************************** ********* 函数名 :UsartInit()* 函数功能 :设置串口* 输入 : 无* 输出: 无************************************************************************ *******/void UsartInit(){SCON=0X50; //设置为工作方式1TMOD=0X20; //设置计数器工作方式2PCON=0X80; //波特率加倍TH1=0XF3; //计数器初始值设置,注意波特率是4800的TL1=0XF3;ES=1; //打开接收中断EA=1; //打开总中断TR1=1; //打开计数器}/*********************************************************************** ********* 函数名 : main* 函数功能: 主函数* 输入 : 无* 输出 : 无************************************************************************ *******/void main(){UsartInit(); // 串口初始化while(1);}/*********************************************************************** ********* 函数名 : Usart() interrupt 4* 函数功能: 串口通信中断函数* 输入 : 无* 输出: 无************************************************************************ *******/void Usart() interrupt 4{u8 receiveData; //P0=0x00;receiveData=SBUF;//出去接收到的数据RI = 0;//清除接收中断标志位SBUF=receiveData;//将接收到的数据放入到发送寄存器while(!TI); //等待发送数据完成TI=0; //清除发送完成标志位P0=receiveData-’0’;//receiveData收到的数据类型是字符,}上位机前面板如图下所示通过改变数组2布尔(灯)的状态,来控制硬件底层的显示。

教你如何使用Labview与单片机通信(串口)

教你如何使用Labview与单片机通信(串口)
– 284 –
第 13 章 LabVIEW 串口通信程序设计
环结构的条件端子 设置为“真时停止(Stop if True)” ,则不需要添加非(Not)函数。 (11)添加两个条件结构:编程(Programming)→结构(Structures)→ 条件结构(Case
Structure)。添加理由:发送字符时,需要单击按钮“发送字符”,因此需要判断是否单击了 发送按钮;接收数据时,需要判断串口接收缓冲区的数据个数是否不为 0。
(2)添加 4 个数值常量:编程(Programming)→数值(Numeric)→ 数值常量(数值常量 (Numeric Constant),值分别为 9600(波特率)、8(数据位)、0(校验位,无)、1(停止位)。
(3)添加两个关闭串口函数:编程(Programming)→仪器 I/O(Instrument I/O)→串口 (Serial)→VISA 关闭(VISA Close)。
(2)将数值常量 9600、8、0、1 分别与串口配置(VISA Configure Serial Port)函数的输 入端口波特率(baud rate)、数据比特(data bits)、奇偶(parity)、停止位(stop bits)相连。
(3)将数值常量(值为 500)与等待下一个整数倍毫秒(Wait Until Next ms Multiple)函 数的输入端口毫秒倍数(millisecond multiple)相连。
第 13 章 LabVIEW串口通信程序设计
以 PC 作为上位机,以调制解调器(Modem)、串行打印机、各种监控模块、PLC、摄像 头云台、数控机床、单片机及智能设备等作为下位机广泛应用于测控领域。本章举几个典型 实例,详细介绍利用 LabVIEW 实现 PC 与各种下位机设备串口通信的程序设计方法。

labview与单片机串口通信

labview与单片机串口通信

串口,VISA和MSComm控件,与单片机通信visa编写串口程序时是不是必须要安装MSComm控件?首先是labview有自带的串口资源,即visa控件,不需要安装MSComm控件。

MSComm控件也可以被labview调用来实现对串口的编程。

但是,visa控件的图标在安装labview之后虽然在控件库里可以显示但是不能用,必须安装visa 驱动,这个驱动可以在官网下载。

win7 winvista的系统和低版本的labview最好安装最新的visa驱动,不然可能会出现错误。

其次我用labview做的上位机,但是用的笔记本没有串口,这时候,用一条 usb转串口线(安装合适的驱动)直接虚拟串口,visa可以对这个虚拟串口操作。

最后,labview和单片机通信,由于labview的visa控件只可对字符写出或者读上来的显示为ascii字符,而单片机的通信协议的命令帧和数据帧可能是由十六进制定义的,最开始的想法是,将输入数值型数据(十进制的)转成为十六进制数,再将此十六进制转为相对应的ascii码(网上也有相应的labview函数),最后将ascii码下传给单片机;一个简单的办法:---------------------字符型的数据(输入字符串,输出字符串,常量字符等等)的属性里有一个选项,将显示样式由正常改为十六进制显示即可,这时就可以直接输入十六进制了。

以下使用NI-VISA与USB设备eZ430-RF2500进行通信,是在使用LabVIEW2010和NI-VISA503full的开发环境通过的。

1、USB与VISA背景VISA是一个高级API用来与仪器控制总线进行通信。

它是平台独立、总线独立、环境独立的。

USB是一个基于消息的通信总线。

这意味着PC和USB设备通过在总线上以文本或二进制数据格式发送指令和数据进行通信。

每个USB设备都有自己的指令集。

可以使用NI-VISA读函数与写函数,将这些指令发送到仪器上,并从这些仪器上读取响应。

基于LabVIEW的PC机与单片机串口通信

基于LabVIEW的PC机与单片机串口通信
2.2 LabVIEW串口通信模块
在LabVIEW 7.0中,对串行口进行控制的方式通常有两种:一是利用LabVIEW功能模块的lnstrument 1/0-﹥VISA子模块;二是直接利用LabVIEW功能模块lnstrument 1/0一>Serial子模块,该程序库中包含进行串行通信操作的一些功能模块这正符合本软件开发的需要
第二章 软件实现
2.1 业标准的图形化开发环境,它结合了图形化编程方式的高性能与灵活性以及专为测试测量与自动化控制应用设计的高端性能与配置功能,能为数据采集、仪器控制、测量分析与数据显示等各种应用提供必要的开发工具。因此,LabVIEW通过降低应用系统开发时间与项目筹建成本帮助科学家与工程师们提高工作效率。LabVIEW被广泛应用于各种行业中,包括汽车、半导体、航空航天、交通运输、高校实验室、电信、生物医药与电子等无论在哪个行业中,工程师与科学家们都可以使用LabVIEW创建功能强大的测试测量与自动化控制系统,在产品开发中进行快速原型创建与仿真工作。在产品生产过程中,工程师们也可以利用LabVIEW进行生产测试,监控各个产品生产过程。总之,LabVIEW可用于各行各业产品开发的阶段。由于LabVIEW能够为用户提供简明、直观、易用的图形编程方式,能够将繁琐复杂的语言编程简化成为以菜中提示方式选择功能,并且用线条将各种功能连接起来,十分省时简便。与传统的编程语言比较,LabVIEW图形编程方式能够节省85%以上的程序开发时间,其运行速度却几乎不受影响,体现出了极高的效率。使用虚拟仪器产品,用户可以根据实际生产需要重新构筑新的仪器系统。例如,用户可以将原有的带有RS232接口的仪器、VXI总线仪器以及GPIB仪器通过计算机,联接在一起,组成各种各样新的仪器系统,由计算机进行统一管理和操作[1,2]。

LabVIEW与单片机通讯

LabVIEW与单片机通讯

LabVIEW单片机通讯1.串口扩展的问题:先说一下串口的扩展问题,一般的台式机或工控机上都至少有二个串口,一般都是够用的,但是现在市场上已经很难找到带串口的笔记本了,而有时候在外出调试时需要在笔记本中使用到串口的,这时一般是使用USB-RS232的转接线,价格从十几到一百多都有,很多朋友反应在使用价格低的转接线时会出现乱七八糟的问题,而贵一点的线就很少听说有其它问题的,所以大家在使用便宜的USB-RS232转接线时要特别注意线的质量,遇到一些奇怪的问题时先考虑换一根好一点的线。

PCI-RS232扩展卡也同理,便宜的卡也容易出问题,尽量买好一点的,以免因小失大。

PCI-RS232一般至少能扩展2个串口,有些BT一点的可以扩展到8-16个,一堆线和接头。

转接线和扩展卡一般是要装驱动的。

2.串口功能的确认:在使用串口之前,最好先确认一下串口是否正常,特别是使用转换接或扩展卡的。

检查的方法很简单,就是将串口的2、3脚短接起来,3脚是发送数据,2脚接收数据,就是这个串口自发自收。

电脑上的串口软件一般是用串口调试助手,很出名的,也好用。

如下图所示:图1 串口调试助手打开软件,选择已经短接好的串口号,点击“手动发送”,如果串口是好的,2、3脚又短接起来了,马上就可以在上面的接收框里看到接收的数据就是发送的数据。

稍微要注意一下的是有些电脑的COM1和COM2的位置是反过来的,所以要确定好串口调试助手左上角的串口上择的是已经短接的那一个,如果COM1没接收到,可以再先COM2再发一次看一下。

3.串口线的检查:检查好串口后,一般也要注意一下使用的串口线,标准的串口线是9根线都是用上的,但有一些是只使用了三根线的:2、3、5。

第3个脚管是发送,第2个管脚接收,另一个5是地线,这里叫它简化的串口线,简化的串口线能用上的地方,标准的串口线也肯定能用上,因为标准线的9根线已经包括了简化串口线中的3根线,但标准串口线能用上的地方,简化串口线就不一定能用上,所以在使用串口线之间一定要确定好串口线的类型,一般买的串口线都是标准线,但自制的串口线因为应用场合不同就要先确定一下。

LABVIEW和单片机串口通信在半导体模块测试设备中的应用

LABVIEW和单片机串口通信在半导体模块测试设备中的应用

LABVIEW和单片机串口通信在半导体模块测试设备中的应用徐庆坤;房齐
【期刊名称】《价值工程》
【年(卷),期】2018(037)030
【摘要】本文采用LabVIEW作为开发平台,通过串口使上位机与单片机进行通信.利用LabVIEW平台编写的界面进行参数设定,换算成单片机易识别使用的数据,通过串口传送给单片机,然后由单片机进行数字I/O口逻辑控制、模拟信号控制和时间控制,完成对半导体模块的测试.
【总页数】2页(P184-185)
【作者】徐庆坤;房齐
【作者单位】西安电力电子技术研究所,西安710061;西安电力电子技术研究所,西安710061
【正文语种】中文
【中图分类】TP277
【相关文献】
1.基于LabVIEW的计算机与单片机串口通信系统 [J], 刘文君
2.基于LabVIEW7.0语言的PC机与AVRAT90系列单片机串口通信技术在体温检测中的应用 [J], 韦哲;程自峰;李凯
bVIEW与STC89C54单片机串口通信实现 [J], 高亚;徐秋
bview和单片机串口通信方法的研究 [J], 韩金燕
5.基于 LabVIEW 的单片机与 PC 机串口通信显示系统设计 [J], 刘松斌;王海星;马双;柳明
因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

LabVIEW单片机通讯1.串口扩展的问题:先说一下串口的扩展问题,一般的台式机或工控机上都至少有二个串口,一般都是够用的,但是现在市场上已经很难找到带串口的笔记本了,而有时候在外出调试时需要在笔记本中使用到串口的,这时一般是使用USB-RS232的转接线,价格从十几到一百多都有,很多朋友反应在使用价格低的转接线时会出现乱七八糟的问题,而贵一点的线就很少听说有其它问题的,所以大家在使用便宜的USB-RS232转接线时要特别注意线的质量,遇到一些奇怪的问题时先考虑换一根好一点的线。

PCI-RS232扩展卡也同理,便宜的卡也容易出问题,尽量买好一点的,以免因小失大。

PCI-RS232一般至少能扩展2个串口,有些BT一点的可以扩展到8-16个,一堆线和接头。

转接线和扩展卡一般是要装驱动的。

2.串口功能的确认:在使用串口之前,最好先确认一下串口是否正常,特别是使用转换接或扩展卡的。

检查的方法很简单,就是将串口的2、3脚短接起来,3脚是发送数据,2脚接收数据,就是这个串口自发自收。

电脑上的串口软件一般是用串口调试助手,很出名的,也好用。

如下图所示:图1 串口调试助手打开软件,选择已经短接好的串口号,点击“手动发送”,如果串口是好的,2、3脚又短接起来了,马上就可以在上面的接收框里看到接收的数据就是发送的数据。

稍微要注意一下的是有些电脑的COM1和COM2的位置是反过来的,所以要确定好串口调试助手左上角的串口上择的是已经短接的那一个,如果COM1没接收到,可以再先COM2再发一次看一下。

3.串口线的检查:检查好串口后,一般也要注意一下使用的串口线,标准的串口线是9根线都是用上的,但有一些是只使用了三根线的:2、3、5。

第3个脚管是发送,第2个管脚接收,另一个5是地线,这里叫它简化的串口线,简化的串口线能用上的地方,标准的串口线也肯定能用上,因为标准线的9根线已经包括了简化串口线中的3根线,但标准串口线能用上的地方,简化串口线就不一定能用上,所以在使用串口线之间一定要确定好串口线的类型,一般买的串口线都是标准线,但自制的串口线因为应用场合不同就要先确定一下。

G串口线还有一个地方需要注意一下的,就是2、3脚的接法,标准接法中是2、3脚交叉的,即这边的2接另一边的3,这边的3接另一边的2,扭了一下,所以叫交叉线,因为正常使用时,这边第二脚是发送数据,另一边第三脚是接收数据,所以要将这二个管脚连接起来,这样才能正常使用。

但是有些情况下,2、3是直连的,即这边的第2脚连接另一边的第2脚,第3脚连接第3脚,这种叫直连线,这种线一般是用于延长串口的,比如需要将工控机的串口接头引到机柜表面上时,就使用这种线,这样机柜表面的串口线的定义还是跟电脑接出来的一样,外面的那一根串口线再使用交叉线。

从电脑主板上将串口引到主机后面板上的线就是这样的直连线。

购买串口线的时候一般也会问你买直连的还是交叉的,要区别对待。

串口线还有一个要稍微注意一下的就是DB头,因为电脑上接出来的一般是公头(针),要跟电脑接的话要母头(孔),一般仪器的串口也是公头,所以二边都是母头的串口线比较常见。

串口的接头一般是DB9的,也有DB25的,但比较少用,有些比较BT的仪器厂家居然用RJ11(水晶头那种)作为串口头,让人不爽!总之,使用串口前一定要先确定好硬件没问题,不然很浪费时间的。

4.串口参数设置:在LabVIEW中使用串口时,有几个参数比较重要,需要先说明一下的。

一个是串口初始化这个节点的“终止符”和“禁用终止符?”这二个输入端,这二个输入端是相互作用的,“终止符”默认值为10,它的十六进制是“0x0A”,这是一个ASCII码,是一个换行符,可以从LabVIEW中的字符串的不同显示形式看出来,如下图:图2 串口消息终止符左边是字符串的正常显示,中间是十六进制显示,右边是“\代码显示”,这三个字符串的值都是一样的。

终止符是10,表示在接收数据时,遇到ASCII码为10的字符(即换行符)时就停止接收数据,后面会有例子进行说明。

而“禁用终止符?”的默认值是FALSE,即启用终止符,启用终止符会有什么效果呢?终止符的意思就是当程序接收到这个字符时,就认为已经到了所有数据的未端了,从而停止接收,不管后面还有没有数据。

终止符是10,表示在接收数据时,遇到ASCII码为10的字符(即换行符)时就停止接收数据。

可以做一个很简单的试验,先短接串口2、3脚,然后将终止符设置为“0x33”,0x33是字符“3”的ASCII 码,然后发送字符串可以看到接收回来的数据中只有“12”,即“3”被认为是字符串的未端了,它后面的数据就不再接收了。

很多朋友就是因为这里设置错误,导致接收数据时有时候只收到一半就没有了,特别是在连续接收数据时,但又不是每次都只能收到一半,有时候也能接收齐全的,就是因为发送的数据中可能包含了终止符而使串口认为到了最后一个字符了。

一般是将这个终止符禁用掉,即将“启用终止符?(Enable terminator?)”这一端输入为False即可。

另外还有一个比较重要的设置,就是VISA READ的“读取字节数”这个输入,由于在串口通信中,如果指定读取100个串口缓冲区的字节数,如果当前缓冲区的数据量不足100个时,程序会一直停在VISA READ 这个节点上,如果在超时的时间(默认是10秒)内还没有凑足100个数据的话,程序就会报“Time out”的错误,如果超时时间设置得太长,有可能导致程序很长时间停止在VISA READ这个节点上。

解决的办法是使用“Bytes at Port”这个串口的属性节点,在VISA>>Serial>>advance下,也可以在VISA资源线上右键>>创建>>属性节点>>串口设置>>Bytes at Port,如下图:图 3 Bytes at Port这个属性节点读取当前串口缓冲区有字节数,然后将它的输出连接到VISA READ的“读取字节数”这个输入端上即可,这样当前缓冲区中有多少个字节就读回多少个,不会有任何等待。

图 4 使用Bytes at Port5.在LabVIEW中使用串口目前串口的应用一般有二种类型的(以我接触到的来分类,不严格),一种是仪器控制类型的,一般是上位机发送一个指令,然后下位机作出响应,返回数据给上位机,上位机再读取出来,完成一次通信,即一问一答;另一类是被动接收形的,即下位机会一直发送数据上来。

这二种类型的串口通信在处理上会不太一样。

5.1 仪器控制类型由于在仪器控制时一般都是这种一问一答的方式,所以叫它仪器控制类型。

以仪器控制为例来说一下需要注意的事项。

首先是要确认仪器选择的通信模式是串口通信模式。

现在的仪器一般都至少有二种通信模式,一种是RS232,一种是GPIB,如果仪器是设置为GPIB通信的话,RS232是不可能通信上的,所以要先确认一下,方法一般是在仪器面板上选择设置>>远程控制>>GPIB/RS232,各个仪器稍微不同,可以查仪器手册看一下。

然后就是确认串口的通信参数的配置,包括波特率、数据长度、校验方法等,有些仪器的某些参数是固定的,比如校验方法固定为奇校验,不能修改,只能在电脑上跟仪器设置为一样的。

波特率一般是可以修改的。

这些参数的配置一定要根据仪器手册上的来设置。

如果参数设置不正确,也能收到一些数据,但一般是乱码,如果收到的数据都是乱码的话,就要先检查一下串口参数设置是否正确了。

只有电脑和仪器边的串口参数完全一致时才能收到正确的数据。

接着是要注意发送指令和读回数据之间要有一定的延时,即VISA WRITE和VISA READ之间要有一定的延时,一般200毫秒即可,因为串口是底层硬件,数据从软件到串口上要一点点时间,然后仪器对指令作出响应也要一点点时间,这些时间加起来肯定比软件运行二个节点的时间要短,所以延时是一定要加的。

在调试时如果发现正常运行时不能收到数据,但高亮运行就能收到数据,就很有可能是没有加延时的原因!或者是发一个查询指令,但返回的是上一条查询指令的结果,也可能是因为没有延时或延时不够。

5.2被动接收类型被动接收形的串口通信稍微麻烦一点,由于上位机是被动接收的,上位机不知道什么时候开始下位机就已经有数据上来了,很有可能下位机发送到一半时,上位机刚好开始接收数据,这时只能接收到后面一半的数据了,所以对于这种通信,一般是采用数据帧的方式进行通信。

这种数据帧的通信方式至少由三部分数据组成:帧头、数据、帧尾(如果数据是固定长度的话,似乎帧尾也可以省掉)。

帧头是为了告诉上位机:从这以后的数据就是有用的数据了,相当于约定好的暗号,一般帧头至少会用二个以上字节,如果只用一个字节的话,万一数据中的数据跟这个帧头一样了就会误以为这个数据是帧头从而导致解析数据出错,帧尾的作用也差不多,告诉上位机从这之前的数据才是有用的数据。

但实际上一般的数据帧远不止这几个部分,还会加上一些校验字节、时间信息、帧计数器之类的东东在上面。

其中校验字节是为了检查数据在传输过程中有没有出错的,跟串口的校验位要区分清楚,校验位也是检查数据传输时有没有出错的,但由底层硬件来实现,校验方法由标准规定好,但有几种可以选择,只有一个位(Bit,只能是0或1)。

校验字节是由软件层来实现的,至少有一个字节(Byte,有8个位),而且校验方式由用户定义,非常灵活。

由于被动方式中串口的缓冲区中一直会有数据在,为了保持数据的连续性,在读取数据时跟第一种仪器控制类型不一样。

而是采取将读取的所有的串口数据都保存在移位寄存器中,在软件上处理完这些数据后再将它们从移位寄存器中删除。

由于VISA READ的输出是字符串,所以一般使用“连接字符串”这个函数将它们连接起来,然后接到循环结构中的移位寄存器中进行保存,当移位寄存器中的数据量达到一定时或满足数据处理的条件时,才停止这个循环输出读取到的数据。

一般如下图所示:图 5 被动接收类型中的数据接收在接收下位机发送的帧数据时,一定要先了解帧格式,这样才能正确解析出帧里面的数据来。

下面以例子来说明数据帧格式的通信。

设定通信数据帧每7个字节为一帧数据,其中以0xAC、0x96二个字节作为数据帧头,第三、四个帧头为帧计数器,最大值为0xFFFF,到达最大值后重新从0开始计数,第4、5、6三个字节是数据信息,分别代表数据的高中低位,第7位为状态标志字节,它的第一位为1时表示下位机出错,为0时表示功能正常。

由于LabVIEW中接收到的数据都是以字符串的形式显示出来的,所以需要将字符串转换为ASCII码,一般可以直接使用“转换为U8数组”这个函数,如下图所示:图 5 字符串转换为U8字节转换为U8字节后,得到的是所传输字符的ASCII码,我们就很容易进行数据帧的判断了,现收到以下的字符串数据:,©图6 实际接收到的字符串上图中下半部分显示的数组是使用“字符串转换为U8数组”的函数转换之后得到的数组,一个是十六进制显示,另一个为十进制显示。

相关文档
最新文档