PC机与单片机的无线通信

点赞:3491 浏览:10287 近期更新时间:2024-04-05 作者:网友分享原创网站原创

摘 要:本文重点介绍了PC机与单片机的无线通信系统.该系统通过无线收发模块RF418实现PC机与单片机之间的数据异步串行无线传输,可用于小区无线抄表、GPS及柱上断路器远程控制等.本文从工程实际的角度,设计了硬件电路及相应的上下位机程序.

关 键 词:单片机无线通信RF418PC机

近年来,随着单片机及微机技术的不断发展,特别是网络技术的广泛应用,采用PC机与多台单片机构成的测控系统越来越多.但在一些场合,如与移动的测控对象进行通信、较远距离通信不适合布线的地方等,则不适合采用有线通信.随着无线技术的不断完善和发展,无线通讯技术逐渐应用于PC机与单片机之间.在本文中的无线通讯主要采用无线收发模块RF418,通过一定频率的电磁波实现PC机与单片机之间的无线通信,由此可以方便地进行数据处理和远程控制.该无线通信系统可实现的通信距离为6~15公里,完全克服了红外无线传输的直线性、静止性、受环境因素影响等缺点.

一、无线通信系统的构成及工作原理

(一)无线通信系统的构成

1.PC机

PC机在该无线通信系统中作为DTE(数据终端设备),主要用于接收由下位机部分采集到了数据,并对数据进行计算、处理、动态显示等.同时可以把一些数据、命令字等数据传给下位机部分,用于与下位机部分的双向信息沟通或对下位机部分控制等.

2.无线收发模块RF418

该模块作为DCE(数据通信设备),在该无线通信系统中有着重要的作用,主要用于两个或多个数据终端设备之间数据传输.通过该模块可以把数据的电平信号转换成无线电信号,以一定频率电磁波的方式传送出去.同时也可以接收电磁波中的无线电信号,并把其转化成数据的电平信号传输到数据终端设备.

PC机与单片机的无线通信参考属性评定
有关论文范文主题研究: 关于无线通信的论文范文素材 大学生适用: 学年论文、学士学位论文
相关参考文献下载数量: 73 写作解决问题: 学术论文怎么写
毕业论文开题报告: 文献综述、论文目录 职称论文适用: 技师论文、职称评初级
所属大学生专业类别: 学术论文怎么写 论文题目推荐度: 经典题目

3.RS-232C总线标准接口板

由于计算机内部的数据信号是TTL电平标准,而通信线上的数据信号却是RS-232C电平标准,该接口板主要用于较远距离通信的DCE与DTE之间的TTL电平和RS-232电平的相互转换.

4.单片机系统

单片机通过一定的方式与控制元件相连,起到了数据采集、处理和发出控制指令的作用.对于点对多点的多机通信则需采用多个单片机.单片机要采集处理数据,需要软件支持,要控制下位机模块RF418也要软件来支持.因此,要用程序存储器来存储单片机要执行的程序.无论单片机采集到的数据,还是上位机传给单片机的数据,都需要存储起来,然后才能进行处理或传输,而大容量的数据存储器起到了数据存储仓库的作用.同时单片机系统还需要电源模块,控制输出继电器等.

5.无线收发模块RF418

该模块与上位机部分的模块完全相同,在作用上也是一致的.在数据传输过程中,两个模块的频率必须保持一致,并且每个模块的发送与接收不能同时进行,而两个模块的发送与接收必须协调一致.对于点对点通信只需要一个RF418模块,而对于点对多点的无线通信则需要多个RF418模块,并且每个模块有不同的地址.

(二)无线通信系统的工作原理概述

单片机向PC机发送数据:单片机将采集到的数据经转存处理后,把其传出,送入模块B的缓冲区,模块B检测到TX空闲时间超过5毫秒后把要发送的数据以打包方式或自动跳频抗干扰模式发送出去,从而模块A接收到模块B发出的数据,测试RTS是否有效,当RTS有效时,模块A则接收字节,并发送到PC机.

PC机向单片机发送数据:首先,PC机把要发送的数据(包括命令字等)经过RS232接口板的电平转换,把其送入模块A,当模块A检测到TX空闲超过5毫秒则将以无线电波的形式发射出去,当模块B检测到RTS有效时则接收数据,并把其送入单片机,存在下位机部分的RAM中.单片机对接收到的数据进行判断与识别,并根据预先设好的情况进行动作.

二、硬件设计

(一)下位机部分电路设计

单片机的P2口为外扩RAM和ROM提供高8位地址,P0口分时提供低8位地址和8位双向数据总线.片外RAM的片选信号由单片机的P2.7控制.其读和写由8031的RD(P3.7)和WR(P3.6)信号控制,而片外ROM的输出允许端OE由读选通PSEN信号控制.并且使其片选端CE接地,处于常选通状态.

外RAM和外ROM由于控制信号及使用的数据传送指令不同,故不会发生总线冲突.扩展后的电路原理简图如图2-1所示.从原理图中可以看出,外RAM的存储空间地址为0000H~7FFFH,外ROM的存储空间地址为0000H~1FFFH.

根据RF418的使用参考手册,RF418的8个引脚中,引脚3为3.3V引脚,使其空着不用,对于引脚4为电源开关,在接电源或空开时,电源则为打开,而接地则为关断电源.在这里,为了简便,空开引脚4从而打开电源.RF418的RX和TX引脚要与8031的RXD与TXD引脚对应相接,从而可以使RF418与8031之间自由的传送数据.至于RF418的RTS和CTS引脚分别由8031的P1.0和P1.1口控制,并且只有在它们为低电平时有效.电路原理简图如图2-1所示.

图2-1单片机外部存储器扩展及与RF418电路原理简图

(二)上位机部分电路设计

PC机内部为TTL电平,而传输线上为RS232电平.为了使TTL电平与RS232电平能互相转化,须使用RS232接口板(9针)把PC机与RF418模块连接起来.其原理简图如图2-2所示.

三、软件设计

(一)PC机程序设计方法

PC机程序采用VB中的M控件来实现.本设计为点对多点(一PC机对多单片机)、双向(PC机可以向某一单片机发送数据,又可以从某一单片机那里接收数据)通信.采用PC机主动向所有单片机发出握手信号,然后所有的单片机对接收到的握手信号进行判断处理的方式.在PC机发出的握手信号中包括五个字节,第一个字节和第二个字节为握手信号的起始符(分别为FEH、EFH),第三个字节为想要与之通信的从机地址(00H~0FFH,可达255台从机),而第四个字节为从机接收或发送数据的命令字(00H表示从机接收数据,01H表示从机发送数据),第五个字节则为握手信号的结束符(FFH).所有单片机接收完握手信号,并判断握手信号中的第三个字节是否与自己的地址相符,如相符则清2位,并且把PC机发过来的握手信号原样发回去,以通知PC机握手成功.然后则开始判断PC机发给的命令字,如果是从机接收数据的命令,则单片机就转到从机接收子程序;如果是从机发送数据的命令,则单片机就转到从机发送子程序.相应的PC机也开始做好发送或接收数据的准备.本设计没有校检和部分,并且上位机也不向下位机传输从机接收或发送数据的个数.对于单片机的握手应答信号则在相应的子程序进行处理判断.采用Timer事件反复查询的方式来接收单片机发给PC机的数据;采用Output属性向单片机发送数据.数据接收或发送完,则通过相应的信号通知单片机.


(二)单片机的通信程序设计方法及流程

本方案为点对多点(一PC机对多单片机)、双向(PC机可以向某一单片机发送数据,又可以从某一单片机那里接收数据)通信.采用PC机主动向所有单片机发出握手信号,然后所有的单片机对接收到的握手信号进行判断处理的方式.在PC机发出的握手信号中包括五个字节,第一个字节和第二个字节为握手信号的起始符(分别为FEH、EFH),第三个字节为想要与之通信的从机地址(00H~0FFH,可达255台从机),而第四个字节为从机接收或发送数据的命令字(00H表示从机接收数据,01H表示从机发送数据),第五个字节则为握手信号的结束符(FFH).所有单片机接收完握手信号,并判断握手信号中的第三个字节是否与自己的地址相符,如相符则清2位,然后开始判断PC机发给的命令字,如果是从机接收数据的命令,则单片机就转到从机接收子程序;如果是从机发送数据的命令,则单片机就转到从机发送子程序.相应的PC机也开始做好发送或接收数据的准备.本方案中没有校检和部分,并且上位机也不向下位机传输从机接收或发送数据的个数.其中寄存器R6中存放着从机发送字节个数,寄存器R7中存放从机接收字节个数,从机要发送的数据存在外RAM的0000H~5FFFH单元里,从机接收到的数据存在外RAM的6000H~7FFFH单元里.程序流程如下图所示: