基于 LabVIEW 的单片机串口通信设计

摘 要: 在简 要 介绍 图 形 化虚 拟 仪 器平 台 LabVIEW 的 基 础 上, 分 析 AT89S51 单 片 机 与 LabVIEW 之间的串口通信模式,并结合应用实例给出串口通信的软、硬件设计。
关键词: 单片机; LabVIEW; 串口通信

0 引 言

利用 LabVIEW 设计的数据采集系统, 可模拟采集各种实际信号, 并对其进行分析得出有用信息,然后将测量结果和应用程序进行分享。 通 过 开 放 的LabVIEW 环境和与之无缝集成的硬件, 能够方便地将设计从理论阶段带入实现阶段, 完成系统辨识、控制设计、动态系统仿真以及实时系统实现。

1 串口通信模式及硬件设计

1.1 串行接口电路硬件设计

串行接口硬件电路由 RS232 串行接口、MAX232芯片和 AT89S51 单片机三部分构成。 其中,RS232 串行接口用于连接上位 PC 的 RS232 串 行 接 口 ,MAX232 芯片用于衔接 RS232 串行接口与 AT89S51单片机,实现AT89S51 单片机输入输出的串口信息到上位PC的RS232 串行接口信息的转换 , 即AT89S51 单片机信号的 TTL 电平到 RS232 电平的转换,从而实现二者之间电气特性上的兼容。 具体串行接口硬件电路如图 1 所示。

1.2 单片机接口程序设计

单片机接口程序采用 C51 语言编写,这是专门为
51 系 列单片机设计 的 高 效 率 C 语 言 编 译 器, 符 合
ANSI 标准,生成的程序代码运行速度极高,所需要的
存储器空间极小,汇编语言更简单易用。 接口程序编
写时,首先进行串口的初始化,即在 SCON 寄存器中
赋值 #050H,将波特率设置为 9600,用定时器 1 产生
波特率,串口工作在方式 1,无奇偶校验。 下面给出串
口信息收发控制程序段。

图 1 串行接口硬件电路

2 LabVIEW串口设置及 HMI 设计

2.1 VISA 简介

虚拟仪器软件体系结构(VISA,Virtual InstrumentSoftware Architecture),采用通用 I / O 标准,具 有 与 仪器硬件接口和具体计算机无关的特性,即 VISA 是面向器件功能, 而不是面向接口总线的, 在控制 VXI,GPIB,RS 232 等 仪 器 时, 不必考虑接口总线类型。

2.2 串口通讯函数

本文用到的主要串口通讯调用函数为:FunctionsInstrument I/O VISA Advanced Interface Specific Serial,如图 2 所示。

图2 串口通讯函数
该函数主要用于串口的初始化,其主要参数意义如下:
VISA resource name:VISA 资源名称,本文指串口号;
baud rate:波特率,默认为 9600;
data bits:一帧信息中的位数,LabVIEW 中允许5~8 位数据,默认值为 8 位;
stop bits:一帧信息中的停止位的位数,可为 1位、1 位半或 2 位;
Parity:奇偶校验设置。 可为无校验、奇校验或偶校验;
flow control:该参数数据类型为簇,用于串行通讯中的握手方式。
VISA Write 模块把 Write buffer 中的字符串写入指定的设备,返回实际传送的字节数。 VISA Read 根据指定读取的字节数读入设备中的数据,返回实际传送的字节数。 VISA Close 关闭与指定设备的通讯过程,释放系统资源。
本文在实现 LabVIEW 与 AT89S51 单片机串口通信的串口通讯设置上,采用波特率为 9600,无奇偶校验,8 位数据位,1 位停止位,禁止软、硬件握手。

2.3 HMI 设计

LabVIEW 中的前面板就是图形化用户界面,用于设置数值输入和输出量观察。 以 AT89S51 单片机实 现 超 声 测 距 为 例, 设 计 了 LabVIEW 串 口 设 置 及HMI 界面,如图 3 所示。 通过设置与 AT89S51 单片机串口通信匹配的波特率、串口号、数据位和停止位,实现 LabVIEW 与 AT89S51 单片机串口通信, 并用数值显示控件和波形输出空间控件显示测量的时间、距离、环境温度以及超声波的回波波形。

图 3 LabVIEW 串口设置及 HMI

3 结 语

通 过LabVIEW 实现单片机与上位机的信息交互,利用虚拟仪器软件绘制图形面板,在上位机上模拟出与之功能相对应的控制面板, 实现对仪器的控制、数据的分析处理等功能,完成系统辨识、控制设计、动态系统仿真以及实时系统实现,具有一定的实际应用值。

相关推荐
果壳science1 小时前
张祥前实验如何获取正电荷
笔记·科技·嵌入式硬件·硬件工程·制造
南山电子nscn1 小时前
中科芯CETC汽车电池管理系统BMS进口芯片国产型号替代指南
单片机·汽车·bms
LabVIEW开发2 小时前
LabVIEW 32 通道 50 MSps 被动声学成像
labview·labview知识·labview功能·labview程序
桀人2 小时前
认识AT24C02
stm32·单片机·嵌入式硬件
国科安芯3 小时前
星间激光通信终端CANFD控制网络的时延确定性与辐射可靠性
网络·嵌入式硬件·信息与通信·canfd·低轨卫星·商业航天·抗辐射
一直C3 小时前
嵌入式 Linux 驱动开发学习笔记:内核定时器、platform 总线与 I²C 驱动
linux·驱动开发·嵌入式硬件·学习·imx6ull
LabVIEW开发3 小时前
LabVIEW 让 984 块镜面 1 ms 完成对齐
labview·labview知识·labview功能·labview程序
传感器与混合集成电路3 小时前
150MHz主频、8路DAC与6路PWM:JLH221360伺服控制SIP解析
嵌入式硬件
comyccccc4 小时前
STM32PID控制板设计全解析学习笔记
单片机·嵌入式硬件
碧海银沙音频科技研究院4 小时前
实现炬芯ATS308X的usb cdc 串口IAP 固件升级功能实现
人工智能·嵌入式硬件·深度学习·算法