labview串口好资料与属性节点 - 图文(2)

2019-04-02 19:08

第13章 LabVIEW串口通信程序设计

图13-6 框图程序连线 图13-7 程序运行界面

6.单PC双串口互通信程序

如果只有一台计算机且具有两个串口,那么可以通过串口线将两个串口直接连接起来,如图13-8所示,编写程序实现双串口互通信。

图13-9是单PC双串口互通信程序的前面板。 图13-10是单PC双串口互通信程序的后面板。

– 287 –

LabVIEW虚拟仪器数据采集与串口通信测控应用实战

COM15 9 43 8 2 7 6 1 5 43 8 2 COM2 1 6 5 43 8 2 1 6 9 7 9 7 (b)( (a)a) (b) 图13-8 双串口直接连接

图13-9 单PC双串口互通信程序的前面板

图13-10 单PC双串口互通信程序的后面板

13.2 PC与单片机串口通信程序设计

目前,在许多单片机应用系统中,上、下位机分工明确,作为下位机核心器件的单片机

– 288 –

第13章 LabVIEW串口通信程序设计

往往只负责数据的采集和通信,而上位机通常以基于图形界面的Windows系统为操作平台。为便于查询和保存数据,还需要数据库的支持,这种应用的核心是数据通信,它包括单片机和上位机之间、客户端和服务器之间以及客户端和客户端之间的通信,而单片机和上位机之间数据通信则是整个系统的基础。

单片机和PC的通信是通过单片机的串口和PC串口之间

的硬件连接实现的。

图13-11 单片机实验板 图13-11所示是本设计使用的单片机实验板。有关单片机实

验板的详细信息请查询电子开发网http://www.dzkfw. com/。

13.2.1 PC与单片机串口通信程序设计硬件线路

如图13-12所示,数据通信的硬件上采用3线制,将单片机和PC串口的3个引脚(RXD、TXD、GND)分别连在一起,即将PC和单

PC机PC 片机的发送数据线TXD与接收数据RXD

MAX232交叉连接,两者的地线GND直接相连,而

RXDTXDTINTOUT其他信号线,如握手信号线均不用,采用软COM1TXDRXDAT89C51RINROUT件握手的方式,这样既可以实现预定的任务GNDGND 又可以简化电路设计。

图13-12 PC与单片机串口通信线路

但由于单片机的TTL逻辑电平和

RS-232C的电气特性完全不同,RS-232C的逻辑0电平规定为+3V~+15V之间,逻辑1电平为?3V~?15V之间,因此在将PC和单片机的RXD和TXD交叉连接时必须进行电平转换,这里使用的是MAX232电平转换芯片。

单片机系统有LED显示器模块、继电器输出模块、蜂鸣器模块等。

13.2.2 PC与单片机串口通信程序设计任务

利用Keil C51和LabVIEW编写程序实现PC与单片机串口通信。 任务要求有以下几方面。 1.设计任务一

PC通过串行口将数字(00,01,02,03...,FF,十六进制)发送给单片机,单片机收到后回传这个数字,PC接收到回传数据后显示出来,若发送的数据和接收到的数据相等,则串行通信正确,否则有错误。启始符是数字00,结束符是数字FF。

2.设计任务二

(1)测试通信状态。

先在文本框中输入字符串“Hello”,单击“测试”按钮,将字符串“Hello”发送到单片机,若PC与单片机通信正常,在PC程序的文本框中显示字符串“OK!”,否则显示字符串“ERROR!”。

(2)循环计数。

单击“开始”按钮,文本框中数字从0开始累加,0、1、2、3…,并将此数发送到单片机

– 289 –

LabVIEW虚拟仪器数据采集与串口通信测控应用实战

的显示器上显示。当累加到10时,回到0重新开始累加,依次循环。任何时候,单击“停止”按钮,PC程序中和单片机显示器都停止累加;再单击“开始”按钮,接着停下的数继续累加。

(3)控制指示灯。

在单片机继电器接线端子的两个通道上分别接上两个指示灯,在PC程序画面上选择指示灯号,如1号灯,单击画面“打开”按钮,单片机上1号灯亮,同时蜂鸣器响;单击画面“关闭”按钮,1号灯灭,蜂鸣器停止响,同样控制2号灯的亮灭(蜂鸣器同时动作)。

单片机和PC通信,在程序设计上涉及两个部分的内容。

一是单片机的C51程序,二是PC的串口通信程序和界面的编制。

13.2.3 任务实现

13.2.3.1 利用Keil C51实现单片机与PC串口通信任务一

Keil C51软件是众多单片机应用开发的优秀软件之一,它集编辑、编译、仿真于一体,支持汇编、PLM语言和C语言的程序设计,界面友好,易学易用。

启动Keil C51,出现编辑界面。

1.建立一个新工程

单击Project菜单,在弹出的下拉菜单中选中New Project选项,出现Create New Project对话框,然后选择要保存的路径、文件夹,输入工程文件的名字,如pc_com(后缀名默认),单击“保存”按钮。

这时会弹出一个 “Select Device for Target ‘Target 1’” 对话框,要求用户选择单片机的型号,可以根据使用的单片机来选择,Keil C51几乎支持所有的51核的单片机。这里选择Atmel 的89C51。选择89C51之后,右边一栏是对这个单片机的基本的说明,然后单击“确定”按钮。

2.编写程序

单击“File”菜单,再在下拉菜单中单击“New”选项。此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了,但建议首先保存该空白的文件。

单击菜单上的“File”项,在下拉菜单中选中“Save As”选项,在“文件名”栏右侧的编辑框中键入欲使用的文件名,同时,必须键入正确的扩展名,如pc_com.c,然后单击“保存”按钮。

如果用C语言编写程序,则扩展名为(.c);如果用汇编语言编写程序,则扩展名必须为(.asm)。

回到编辑界面后,单击“Target 1”前面的“+”号,再在“Source Group 1”上单击鼠标右键,弹出快捷菜单,然后单击“Add File to Group‘Source Group 1’”。

选中pc_com.c,然后单击“Add ”按钮,再单击“Close ”按钮。此时注意到“Source Group 1”文件夹中多了一个子项“pc_com.c”。子项的多少与所增加的源程序的多少相同。

现在,请输入C语言源程序。

在输入程序时,读者可以发现事先保存待编辑的文件的好处,即Keil C51会自动识别关键字,并以不同的颜色提示用户加以注意,这样会使用户少犯错误,有利于提高编程效率。

– 290 –

第13章 LabVIEW串口通信程序设计

3.编译程序

单击“Project”菜单,在下拉菜单中选择“Options for Target‘Target 1’”选项,出现对话框;选择Output选项卡,选中“Create HEX Files”项,单击“确定”按钮。

再单击“Project”菜单,在下拉菜单中选择“Built Target”选项(或者使用快捷键F7),进行编译。若有错误会在output窗口提示,可根据此提示,找出错误并修改,直至编译通过,如图13-13所示。

图13-13 Keil C51编译界面

至此,用Keil C51上做了一个完整工程,其中,生成一个编程器烧写文件pc_com.hex。 4.烧录程序

将AT89C51芯片安装在编程器插座上,运行编程器程序。

选择单片机芯片类型AT89C51,读入Intel Hex文件pc_com.hex,执行自动编程指令,将pc_com.hex文件烧录入AT89C51芯片中。

将烧录好的AT89C51芯片安装到单片机实验板上,就可以用串口调试助手程序对它进行测试了。

以下是完成单片机与PC串口通信任务1的C51参考程序:

# pragma db code # include # define uchar unsigned char void rece(void); void init(void); uchar re[17]; /*主程序*/ void main(void)

– 291 –


labview串口好资料与属性节点 - 图文(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:浅谈培养优生的几点做法

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: