纺机网技术中心

 您所在的位置:  纺机网 >  技术中心 >  测试 >

基于LabVIEW实现纺织检测系统的数据传递

来源:中国印染网 发布时间:2012年10月20日

当有数据要从Pc机传到单片机时,如果这些数据是静态的,也就是在程序设计阶段就已经确定了要传输的数据,首先设置vIsA write的write bu能r的显示属性为Hex Display,然后直接输入要发送的十六进制字符串就可以了。串口设备的控制命令通常是由一个或多个十六进制字符组成的,当需要对其进行控制时经常会采用这种方法发送控制命令。

如果数据是动态的,即要传输的数值型数据是动态产生和变化的,在发送之前首先要将其转换成对应的十六进制字符串,才能赋给vIsA write发送。将这些数据构成~个数组,用byte amy to string进行转换,转换的结果就是对应数组数值的字符串,可以提交vISA wdte发送,或者使用type cast也可以实现同样的功能。另一方面,在PIc单片机中,数据的存储和表示是8位二进制数,通信时,由PIc单片机发送过来的8位二进制数经过串口后被转换成字符的形式,因此在程序中必须将数据还原,LabVIEw中有一个string to byte amy节点,利用该节点可以很方便地将字符串转换成数据数组。

3.3 LabVIEW程序前面板

LabvIEw通信程序的前面板如图5所示,由于通信格式(波特率、数据位、停止位、奇偶校验位等)已经预先设为固定值,故只需一个枚举控件配合case stllJcture(选择结构)就可以实现对串口的选择。程序通过一个打开端口按钮控件建立起与串口的联系,取得对串口的占用权;通过一个发送数据按钮控件与PIC单片机取得联系,控制其发送数据。在实现这2个按钮控件的功能时,采用了event stmcture(事件结构),这样使程序具有了事件驱动的能力,也就是说程序在没有指定事件发生时处于休息状态,直到前面板窗口中有一个事件发生为止,这段时间可以将cPu交给其他的应用程序使用,大大提高了系统资源的利用率。Pc机接收到的数据可以根据需要进行数据处理,然后利用wavefo珊graph(事后记录波形图)将其显示出来,wavefo瑚graph控件可以设置cursor(指针),利用cursor可以定位到每一个数据点,并显示其值,另外该程序再附加一些简单的编程就可以实现对数据的保存、打印等。

4 PIC单片机串口通信的实现

4.1功能寄存器设置

PIC单片机内部集成了USART(通用同步/异步收发器)模块,该模块采用的是一种在标准规范基础上简化了的、无握手信号的、二线式的串行通信方式,使占用单片机引脚资源的数量降到最低限度。

在单片机中,串口通信格式的设置是通过对一系列特殊寄存器的赋值来完成的,且其通信格式必须与LabvIEw程序中的设置严格一致,否则通信无法建立。PIc单片机中串口通信专用的寄存器有5个,它们分别是TxsTA(发送状态兼控制寄存器)、Rcs7rA(接收状态兼控制寄存器)、TxREG(发送缓冲寄存器)、RcREG(接收缓冲寄存器)、SPBRG(波特率寄存器)。其中TxsTA和RCSTA共同完成通信方式、格式等一些通信约定的设置,TXREG和RcREG分别用来暂时存放待发送和接收的数据,sPBRG寄存器通过控制一个独立的8位定时器的溢出周期完成对通信波特率的设置,该寄存器的设定值与波特率成反比关系。为了保证通信的顺利进行,单片机开始工作时必须对这些寄存器进行初始化设置。

4.2 PIC通信流程

PIc单片机与Pc机之间的联系在单片机中是通过硬件中断方式实现的。在通信过程中,Pc机始终具有初始传送优先权,所有的通信均由Pc机来启动,PIc单片机处于被动状态。PIc单片机中提供了串口通信的接收和发送中断,这样可以省去软件的周期性查询,从而节省单片机的资源。在本文的程序中只使用了接收中断,当有数据从Pc机传来时,单片机产生中断,主程序跳转到中断服务子程序,进行数据的上传工作。对于当前数据发送是否完成采用了软件周期性查询的方式,若发送完成,则进行下一个数据的传送,否则继续查询,PIc单片机串口通信程序流程图如图6所示。这样,在初始化子程序中就必须对接收中断使能位进行置位,允许接收中断。

<<上一页[1][2][3]下一页>>
 相关信息 
  • 分享
  • 分享至腾讯微博
  • 分享至开心网
  • 分享至人人网
  • 分享至新浪微博
  • 分享至网易微博
  • 分享至豆瓣网
  • 分享至MSN
  • 分享至飞信空间
  • 打印该网页
  • 打印
 推荐企业
 推荐企业
浙江锦峰纺织机械有限公司
 推荐企业
丝普兰喷气织机 润源经编
关于纺机网 | 网络推广 | 栏目导航 | 客户案例 | 影视服务 | 纺机E周刊 | 广告之窗 | 网站地图 | 友情链接 | 本站声明 |