总第206期2011年第8期
舰船电子工程
Ship Electr onic Engineering
V o l.31No.8
187
基于LabVIEW和单片机的串行无线遥控系统设计*
高顺凯1)杨国志2)
(海装武汉局1)武汉430064)(海军工程大学2)武汉430033)
摘要文章基于L abV IEW与单片机的串口通讯,进而通过单片机实时控制无线电发射系统,设计了无线遥控系统。介绍了虚拟仪器技术在串口通讯中的应用,提出了具体方案并给出了串口硬件连接图和发射系统原理图,最后使用G语言LabV IEW和C语言分别开发了相应的上位机和下位机程序进行实验。实验结果表明,该系统具有良好的人机界面,而且便于进行维护和功能扩充,具有很强的实用性。
关键词无线遥控;L abVI EW;单片机
中图分类号T P274
Wire less Rem o te Contr ol System Design B a d on Lab VI E W an d SCM
G a o Shunkai1)Y ang G uozhi2)
(Wuhan M ilitary Reprentative Bur eau of Nav y Equipment Depar tment1),W uhan430064)
(N aval U niversity o f Eng ineer ing2),W uhan430033)
A bstract A wireless remo te contro l system w as desig ned bad o n the r ial communicat ion of L abV IEW and Supply Chain M anagement(SCM),then t hr ough SCM contro l radio tr ansmitt er sy st em rea-l time.V ir tual inst rument technolog y ap-plication in rial communication w as intro duced,the specific pro gr am w as put forw ard and the diag ram of r ial hardw are co nnectio n and launch system schematics w as g iv en,and finally using the G language L abVI EW and C lang uage dev elo p the co rr esponding upper and lo wer machine to make ex periment.T he results show that the sy stem has a go od inter face,and ea of maintenance and function expansion,w ith stro ng practical.
Key Words w ir eless r emote contr ol,L abV IEW,SCM
Class Nu mber T P274
1引言
虚拟仪器软件LabVIEW是美国NI公司(N a-tional Instruments Co.Ld.)研制的一种叫G语言的图形化程序设计语言[1]。它基于高效率图形化应用开发环境,将简单易用的图形化开发方式和灵活强大的编程语言优势结合起来。LabVIEW的程序称为VI,它包括三个部分:程序前面板、框图程序和图标/连接器[2]。
无力诉说程序前面板用于设置输入数值和观察输出量,用于模拟真实仪表的前面板。每一个程序前面板都对应着一段框图程序。框图程序用LabVIEW 图形编程语言编写,可以把它理解成传统程序的源代码。框图程序由端口、节点、图框和连线构成。其中端口被用来同程序前面板的控制和显示传递数据,节点被用来实现函数和功能调用,图框被用来实现结构化程序控制命令,而连线代表程序执行过程中的数据流,定义了框图内的数据流动方向。图标/连接器是子V I被其它VI调用的接口。图标是子VI在其他程序框图中被调用的节点表现形式;而连接器则表示节点数据的输入/输出口,就像函数的参数。用户必须指定连接器端口与前面板的控制和显示相互对应。LabVIEW的VI是层次化和模块化的,可以作为其他程序的子程序,被其
*收稿日期:2011年2月21日,修回日期:2011年3月23日作者简介:高顺凯,男,工程师,研究方向:舰船总体设计研究。
188高顺凯等:基于LabV IEW和单片机的串行无线遥控系统设计总第206期
他程序调用。当一个VI被其他程序调用时,称之为是Sub VI,在开放大型项目时可以把任务分成很多个子VI,每个子VI的任务还可以分的更低。最后通过设计,完成每个子VI的功能,最后将之逐步的组合成能完成实际任务的程序。
串行通信是通过计算机的串口(即通用COM 口),这是常用的一种通信方式。介于现在笔记本电脑没有串口,所以本设计使用了U SB转串口的转换器。串行通信有不同的通信协议,常用的是RS232协议,此协议定义了串口的电气特性,机械特性以及功能特性等[3]。本文用STC89S51RC+单片机与电脑进行串口的通信。
2LabV IEW的串口通信设计编程2.1VISA简介
LabVIEW提供了功能强大的VISA库。V I-SA(Virtual Instrument Softw are Architectur e))虚拟仪器软件规范,是用于仪器编程的标准I/O函数库及其相关规范的总称。VISA库驻留于计算机系统中,完成计算机与仪器之间的连接,用以实现对仪器的程序控制,其实质是用于虚拟仪器系统的标准的API。VIS
A本身不具备编程能力,它是一个高层API,通过调用底层驱动程序来实现对仪器的编程,与其他现存的I/O接口软件相比,VISA 的I/O控制功能具有如下几个特点[4]:适用于各种仪器类型(如V XI仪器、GPIB仪器、RS-232串行仪器、消息基器件、寄存器器件、存储器器件等仪器);适用于各种硬件接口类型;适用于单、多处理器结构或分布式网络结构;适用于多种网络机制。VISA的I/O软件库的源程序是唯一的,其与操作系统及编程语言无关,只是提供了标准形式的API 文件作为系统的输出。
2.2串口通讯函数
本文用到的主要的串口通讯函数调用路径为: Functions>Instr um ent I/O>VISA>VISA Ad-v anced>Serial中。主要函数节点如下:
1)VISA Configure Serial Port节点
该节点主要用于串口的初始化。主要参数意义如下:
VISA resource name:VISA资源名称,本文指串口号。
baud rate:波特率,默认为9600。
data bits:一帧信息中的位数,LabVIEW中允许5~8位数据,默认值为8位。
sto p bits:一帧信息中的停止位的位数,可为1位、1位半或2位。
Par ity:奇偶校验设置。可为无校验、奇校验或偶校验。
flow control:该参数数据类型为簇,用于串行通讯中的握手方式。
rna提取试剂盒2)VISA Read节点
该节点为串口读子VI,为本文中的主要节点,将串口中的数据读出,然后利用LabVIEW的强大数据处理功能对其进行分析处理。参数by te count用于设置所要读的字符数。
由于LabVIEW的串行通讯子VI只允许对字符串的读写,因此本文中在进行数据处理时,必须要实现字符串与数字之间的正确转换。此外,若要读入当前串口中的所有字符,则要执行/VISA Bytes at Serial Por t0子VI,用以确定将要读入的确切的字节数,然后将其输出作为VISA Read节点的输入即可。
3)VISA Wr ite节点
该节点为串口写子VI,用于向指定串口发送数据,是遥控系统控制信号输出的主要途径。然后利用LabVIEW的强大数据处理功能对其进行分析处理。参数w rite buffer用于将写入缓冲区的数据写入VISA reso urce name指定的设备或接口中。
与串口读取时相同,需要将发送数据编码并转化为字符串格式后写入缓存区。下位机通过对接收到的字符串按照规则解码,可以得到上位机的发送数据。
4)VISA Clo 节点
该节点用于将VISA r esource nam e指定的VISA资源关闭,防止程序关闭后端口继续被占用。
本文所用LabVIEW串口通讯程序的波特率为9600,无奇偶校验,8位数据位,1位停止位,禁止软、硬件握手。
2.3遥控系统界面及串口通讯程序
根据串口通讯函数的相关功能,编写上位机LabVIEW的G代码程序,实现串口通讯以及遥控系统界面。其程序框图和系统界面分别如图1、2所示。
3硬件系统原理及设计
ST C89S51RC+单片机内部有一个功能很强
2011年第8期舰船电子工程189
的全双工串行口[5],该串行口有4种工作方式,波特率可用软件设置,由片内的定时器/计数器产生,接收、发送均可触发中断系统,使用十分方便。有
两个物理上独立的接收、发送缓冲器SBUF,对外也有两条独立的收、发信号线RXD(P3.0)和TXD (P3.1)
。
图1
串口通讯后面板程序框图
图2 遥控系统界面
本文采用RS232串行接口标准,在电气特性上,RS232采用负逻辑,要求高低两信号间有较大的幅度,标准为:逻辑/10在-5V~-15V 之间,逻辑/00在+5V~+15V 之间,通常采用-10V 左右为逻辑1,+10V 左右为逻辑0。由于M CS -51系统的信号输入输出为TT L 电平,逻辑1为3.8V 左右,逻辑0为0.4V 左右,因此,必须外接电路实现T TL 电平到RS232电平的转换[6]。本文采用MAX232E 实现此转换。单片机发射实物图如图3
花椒治脱发
所示。
图3 发射器实物图
4 软件系统设计
下面给出单片机软件部分的主要程序。波特率设置为9600,用定时器1产生波特率,串口设置串行工作方式,无奇偶校验。
#include <at89x51.h>
漂亮的英文怎么说
#define XT A L 11059200//CU P 晶振频率11.0592M H Z #define baudr ate 9600//通信波特率v oid main(v oid){ unsig ned char c;
T M O D =0x20;//定时器1工作于8位自动重载模式,用于产生波特率 T H 1=(unsig ned cha r)(256-(XT A L /(32L *12L *baudr ate)));
T L 1=(unsigned cha r)(256-(X T A L /(32L *12L
天狗郭沫若*baudr ate)));
/
/定时器赋初值
190高顺凯等:基于LabV IEW和单片机的串行无线遥控系统设计总第206期
SCON=0x50;//串行参数设置
P CO N=0x00;//串行参数设置
T R1=1;
IE=0x00;//禁止任何中断
P0=0x00;//发射信号端口初始化
w hile(1)
{
w hile(RI==0);//单片机等待数据接收
RI=0;//接收到数据以后R I清空,为下一次接收数据做准备
c=SBU F;//从缓冲区中把接收的字符放入c中
delay(100);//程序的运行检测,一直闪亮显示说明正常
P1=0xF F;//端口初始化
delay(200);//延时
P1=0x00;//硬件扫描显示
sw itch(c)
{
ca01:P0=0x01;delay(20);P0=0x00; br eak;//发送数据后马上清空
ca02:P0=0x02;delay(20);P0=0x00;break;
ca03:P0=0x04;delay(20);P0=0x00;break;
ca04:P0=0x08;delay(20);P0=0x00;break;
default:P0=0x00;break;
}
禁毒素材
delay(20);//延时以取得信号
P0=0x00;//没有接收到信号时端口清空
SBU F=c;//要发送的字符放入缓冲区
w hile(T I==0);//单片机等待返回数据
T I=0;//返回数据后清空,为下一次接收数据做准备
}
}
下位机经过初始化进入w hile循环,在该循环中等待上位机LabV iew发送相关的信号,接收到信号以后复位单片机接收标志位,对接收到的数据进行分析,然后从指定端口发送一定形式的输出信号。信号发送完毕后单片机通过串口向上位机返回相关的数据,告知上位机信号发送成功。
5结语
本文利用PC机和单片机连接进行实时通信,然后用单片机控制无线电发射模块进行数据单向发送,通过串口实现与LabV IEW的数据通讯,利用LabVIEW的强大信号处理功能,设计了一个操作简便的数据发射系统。现经过软硬件实验运行数据证明,系统运行良好,可以达到无线遥控装置的要求。
参考文献
[1]杨乐平,李海涛,肖相少,等.LA BVI EW程序设计与应
用[M].北京:电子工业出版社,2001
[2]陈锡辉,张银鸿.L abVI EW8.20程序设计从入门到精番茄的番
通[M].北京:清华大学出版社,2007,7
[3]都亮,龚晓峰.基于虚拟仪器LabV IEW开发的串行通
信系统[J].控制工程,2004(11):82~85
[4]戴鹏,刘剑,符晓,等.基于T M S320F2812与L abV IEW
的串口通信[J].计算机工程,2009,35(4):82~85 [5]李朝青.单片机原理及接口技术[M].第3版.北京:航
空航天大学出版社,2005,10
[6]张毅刚,等.M CS51单片机应用设计[M].哈尔滨:哈尔
滨工业大学出版社,1997
[7]赵亮,侯国锐.单片机C语言编程与实例[M].北京:人
民邮电出版社,2003,9
[8]郑波祥.基于L abV IEW与DSP串口的数据采集系统
[J].微计算机信息,2004,20(2):45~46
(上接第148页)
该装备的维修训练水平有一定的促进作用,也为其它复杂装备的虚拟维修训练系统开发提供了借鉴。
参考文献
[1]谭继帅,郝建平,等.装备虚拟维修训练研究与发展综
述[M].兵工自动化,2007,26(5):6~7
[2]孙连明,唐金国,等.基于W eb3D的装备虚拟训练系统
通用体系结构[J].计算机仿真,2009(26):309~311 [3]胡小强.虚拟现实技术[M].北京:北京邮电大学出版
社,2005,7
[4]龙银香.B/S模式的个性化交互式网络教学平台的结
构与设计[J].计算机与现代化,2005(6):23~26[5]杨克俭,等.虚拟现实中的建模方法[J].武汉工业大学
学报,2001,23(6):47~50
[6]范波涛,贾雁.虚拟现实中虚拟场景的建模技术[J].山
东大学学报工学版,2004,34(2):18~21
[7]蒋燕萍,夏旺盛,黄心渊.几种Web3D技术的比较[J].
北方工业大学学报,2003(15):21~25
[8]刘明昆.三维游戏设计师宝典之V irtoo ls开发工具篇
[M].重庆:四川出版集团,2005
[9]林小芳,吴怡.ASP动态网页教程[M].北京:电子工业幼儿园开学仪式
出版社,2006
[10]李学军.ASP WEB开发教程[M].北京:海洋出版社,
2005