利用VB8.0实现PC机与多单片机串行通信的方法

2017-05-18 08:52王平根
科技视界 2016年19期
关键词:汇编语言PC机控件

王平根

[摘要]本文介绍了PC机与多台单片机间串行通信的硬件架构,叙述了利用VB8.0环境下的串行通信控件MsComm可实现PC机与多单片机之间的串行通信方法。给出了使用RS-232接口进行串行通信的控件和单片机的汇编语言几个基本程序。

[关键词]PC机;单片机;VB8.0;汇编程序;串行通信

0引言

随着计算机技术和通信技术的迅速发展,串行通信已经成为计算机与其他设备进行数据交换的最广泛的途径之一。串口通讯对单片机而言意义重大,不但可以实现将单片机的数据传输到计算机端,而且也能实现计算机对单片机的控制。众所周知,PC机的监控和管理功能非常强大,而单片机则具有快速和容易控制的特点,在实际应用中,一般都通过PC机的RS-232串行接口与多台单片机连接来进行数据交换。在此,将讨论如何实现PC机与多台单片机之间串行通信的方法。

本文采用在Visual Basic8.0(简称VB8.0)环境下Pc机与多台单片机之间实现串行通信的软件及硬件方案。大家知道,在通信方面VB提供了专门的控件MsComm,VB进行串口的关键在于MsComm控件,每个MsComm控件对应于一个串行端口。使用多个串行口时,要使用多个MsComm控件。因此,本文提出了以RS-232接口为基础,采用了RS-232/RS-485转换器,利用VB提供的MsComm串行通信控件来编写实现PC机与多台MCS-51CPU的单片机之间通信程序,单片机的程序用汇编语言来写。

1系统结构简介

本系统的组成主要是由一台个人计算机和多台以MCS-51CPU的单片机系统构成。大家知道,每台计算机都有至少一个串行通讯端口RS-232,它用于计算机之间进行串行通信,而单片机则不同,它的的输入、输出电平与计算机的RS-232标准串行接口的电气规范不一致,因此要将Pc机串行接口与单片机进行电平转换,转换成符合RS-232C电气标准的接口,才能实现单片机与Pc机之间的数据异步串行通信,因此,在Pc机与MCS-51CPU的单片机系统的连接中我们采用了RS-232/RS-485转换器。系统结构示意如下图所示。

在这里,要说明的是,单片机系统是由一片MCS-51外加一片256K Eprom构成,这是核心模块,还有一些外围芯片模块、电机驱动模块、数据输出模块和通信功能模块等,在此不一一说明。

2PC机与单片机程序设计

2.1MSComm串行通信控件简介

VB8.0提供了多种控件,其中MSComm是具有强大串行通信功能的控件,它通过串行端口为应用程序提供传输和接收数据的简便方法,編程时非常方便。事实上,VB8.0的MSComm控件为编程人员提供了事件驱动和查询两种处理通信问题的方法。事件驱动方式是通过事件驱动通信,是处理串行端口交互作用的一种非常有效的方法:查询方式实质上还是事件驱动,是通过检查CommEvent属性的值来查询事件和错误的。两种方法和MSComm控件的主要属性在此不作介绍,值得一提的是,在编程过程中,事件驱动方式可以在OnComm事件处理函数中加入自己的处理代码,并且每个MSComm控件对应着一个串行端口,同时,如果应用程序需要访问多个串行端口,必须使用多个MSComm控件。

2.2Pc机程序设计

首先要与串行端口建立连接,其代码如下:

2.3单片机程序设计

单片机的程序设计采用MCS-51系列的汇编语言编写,单片机串口控制较为简单,其操作可分为串行口初始化、发送联络信号、接收联络信号和发送数据四步进行。这里只给出串口初始化程序:TEST BIT 70H;TEST将两次中断接收到的高、低四位整合为八位然后控制灯的状态

3结束语

基于VB8.0下的MsComm控件实现串行通信原理已经得到实验结果验证,本文只是对利用MsComm控件实现Pc机与多台单片机之间串行通信的软硬件方案作了简单的叙述。目前,PC机与多台单片机串口通信在很多领域得到了广泛的应用,这种技术在我国也比较成熟,而且朝着远程通信、网络通信的方向发展。更好的技术还有待于研究和提高。

[责任编辑:张涛]

猜你喜欢
汇编语言PC机控件
高等学校计算机专业课程教学改革实践——以汇编语言与接口技术课程为例
汇编语言与C语言的混合程序设计技术研究
基于PC机与单片机的多机通信技术及抗干扰方法
提高《汇编语言程序设计》教学效率的思考与实践
基于三菱FXPLC的感应淬火机床与PC机的串行通信实现
VC.NET下实现dsPIC单片机与PC机的通信
排除OLT设备登录故障
试论汇编语言与C语言的混合程序设计技术
ASP.NET服务器端验证控件的使用
Spreadsheet控件在Delphi数据库系统中的编程与应用