PC机与单片机实现多机通信

PC机与单片机实现多机通信

ID:38110304

大小:228.74 KB

页数:4页

时间:2019-05-25

PC机与单片机实现多机通信_第1页
PC机与单片机实现多机通信_第2页
PC机与单片机实现多机通信_第3页
PC机与单片机实现多机通信_第4页
资源描述:

《PC机与单片机实现多机通信》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第2卷第4期空 军 工 程 大 学 学 报(自然科学版)Vol.2No.42001年8月JOURNALOFAIRFORCEENGINEERINGUNIVERSITY(NATURALSCIENCEEDITION)Aug.2001XPC机与单片机的远距离多机通信问题李 教, 许 杰(空军工程大学电讯工程学院,陕西西安 710077)摘 要:单片机被广泛应用于各种控制、数据采集系统中;PC机功能强大、人机界面友好,是单片机所不能及的。由单片机和PC机构成的多机系统可以实现更加复杂的控制。文中从硬件构成、通信过程、软件实现等方面着重介绍了PC机和

2、单片机的远程多机通信。关键词:RS-485;远程通信;单片机;VB通信控件中图分类号:TN91312文献标识码:A文章编号:1009-3516(2001)04-43-46在比较复杂的控制和数据采集系统中,往往需要多个单片机独立构成子系统,完成各自的采样和控制任务,整个系统的协调、复杂的数据处理、输出及各种人机界面需要PC机来完成。在这种系统中,关键在单片机和PC机之间的数据传递。本文主要讨论PC机和单片机的串口通信问题。1 系统的硬件构成PC机和单片机的串行通信是利用PC机的RS-232串行通信口实现的。该口采用RS-232通信标准,其结

3、构简单,只要三根线就可以完成通信任务;但缺点是带负载能力差、通信距离不超过十几米。为了进一步地扩大通信范围可以采用RS-485通信。RS-485通信采用差动的两线发送、两线接收的双向数据总线[1]两线制方式,其通信距离可达1200m。为了解决RS-232到RS-485的电平转换,可选用一块Evoc的远端数据采集与控制模块ADAN-4520。ADAN-4520是带隔离的RS-232到RS-485的电平转换器。其中RS-232四线(RTS、TXD、RXD、GND),RS-485两线(OUT、IN)。硬件连接简单如图1所示。它和PC机的连接可以

4、通过ADAN-4520上的标准RS-232串口插座插在PC机的串口1或串口2上。只是在和下位机连接时要注意ADAN-4520的电源地和所有下位机的地接在一起,用来提高传递信号的质量。下位机除了根据每一个子系统要求设计硬件外,还需增加一片RS-485接口芯片。以MAX485为例:它是适用于RS-485和RS232通信的图1 系统连接框图[2]低功率收发器,每片包括一个驱动器和一个接收器。它和51单片机的连接如图2所示,其中由P116控制MAX485的输入和输出。2 多机通信过程这里介绍一种简单可靠的通信过程。在通信协议中规定:当从机接受到命

5、令代码时向PC机发送一批数据。首先由上位PC机发送所要寻址的下位图2MAX485和单片机连接图机地址(以01H为例),当所有从机接受到01H后关中断,进入中断服务程序和本机地址比较;地址不相符开中断退出中断服务程序;地址相符的01H号从机回送01H给PC机。当PC机接受到回送的地址后,握手成X收稿日期:2000-09-25 作者简介:李 教(1963-),男,江苏南京人,讲师,博士生,主要从事控制理论研究144空军工程大学学报(自然科学版)2001年功。PC机发00H命令给01H从机命令其发送一批数据,数据发完后关串行中断。实际运行过程特

6、别要注意:1)上下位机的时序配合问题,一定要根据发送数据的长短设置延时等待。2)要设置出错处理程序,例如:当80H从机接受不到00H命令时能跳转出来。3 通信软件设计311PC机通信程序设计在Windows98环境下,虽然调用Windows的API应用程序接口函数也能进行串行通信,但一般用户较[3]难掌握。这里介绍如何利用VB610通信控件(MSComm)来编制PC机通信软件的方法。该方法简单易掌握。MSComm控件很多,在使用之前,需了解其重要属性。属性      描述CommPort设置并返回通信端口号Settings设置并返回波特率

7、(BBBB)、校验(P)、数据(D)、停止位(S)InBufferSize设置并返回发送缓冲区的大小,以字符为单位OutBufferSize设置并返回发送缓冲区的大小,以字符为单位PortOpen设置并返回端口状态,也可以用于打开和关闭串口InBufferCount返回接收缓冲区等待读出字符数量,当InBufferCount=0时接收缓冲区清零OutBufferCount返回发送缓冲区等待输出字符数量,当OutBufferCount=0时发送缓冲区清零InputMode设置并返回接收类型(字符方式,二进制方式)InputLen设置并返回从

8、接收缓冲区读取的字符Input返回并清空接收缓冲区数据Output把字符串写入发送缓冲区  使用MSComm控件编写的PC机到单片机通信子程序一般由三部分组成:通道初始化程序,发送和接收程序,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。