很有用的
实用第一智慧密集
式3时,发送或接收的一帧信息都是11位,含有9位数据,其中第9位数据是可编程改变的,发送时,通过改变SCON中的TB8即可给它赋予不同的值。用户正是利用这一点来区别发送的信息是地址帧还是数据帧的。这样,当主机要发送地址信息进行寻址时,即必须先将SCON的TB8设定为1;发送数据信息时,先将TB8清0。从机则是通过其串口控制寄存器
SCON中的控制位SM2来实现识别的。当从机接收到一帧信息
时,若其SM2=1,并且接收到的是地址帧,则将数据装入
SBUF保存,同时设定接受中断标志RI=1,向CPU发出中断;
如果接收到的是数据帧,则将信息抛弃,也不产生中断;若这时从机的SM2=0,则无论是地址帧还是数据帧均保存数据到
SBUF,并且设置中断标志RI=1。
与双机通信一样,在编写通信软件前,也必须有协议。其规定为:
(1)系统中从机的地址为00H~FEH,即系统中允许接入最多255台从机。
(2)当主机发送0FFH地址时,要求所有的从机都恢复
SM2=1的状态,准备重新接收主机发送的地址。
(3)主机和从机通信过程为:首先主机发送地址信息,被寻址从机返回主机地址给主机,主机判断地址相符后,即发送控制命令,被寻址从机根据主机发送的命令向追究回送自己的状态;主机判断从机状态正常,即开始发送或接收数据。其中发送或接收的第一个字节作为数据块的长度。
(4)当主机要求从机接收数据块时,主机发送控制命令
00;当主机要求从机发送数据块时,主机发送控制命令FF;
其他控制命令都是非法的。
(5)从机设置一个状态字,其中ERR为1,表示从机接收到非法命令;TOK=1,表示从机发送准备就绪;ROK=1,表示从机接收准备就绪。
与双机通信一样,多机通信也可采用查询与中断两种方式编写软件。
在设计通信接口的时候,必须遵循一定的标准。现在常用的串行通信总线接口有三类:第一类是RS-232C(RS-232A、
RS-232B)其适合于短距离的通信;第二类是RS-449,RS-422,RS-423和RS-485,他们的通信距离比第一类大得多,
数据传输速率也快得多,但成本高;第三类是20mA电流环,这是一类非标准的串行接口电路,它的结构简单,对电气噪声不敏感,抗干扰能力强。
3.3单片机与PC机之间的通信协议
随着计算机的广泛运用,微机的分析处理能力更强,处理
速度更快,而单片机则使用灵活方便,所以一般主机采用微机,从机采用单片机来构成主从多机工作模式。以PC为例,此型计算机内部装有异步通信适配器,其主要器件为可编程的
8250芯片,它使得PC可以和其他具有标准的RS-232C串行
62
2010.15
通信借口的机器或中断进行通信。而MCS-51单片机本身具有一个全双工的异步串行接口,因此,只要加一些驱动和隔离电路,就可以很容易地构成一个简单可行的通信接口。
根据PC和MCS-51的特点,采用中断的方式使其实现通信,单片机与PC机的双机通信协议如下:
(1)晶振频率fosc=11.0592MHz,波特率取4800b/s。(2)PC按照16进制方式发送数据给单片机,发送时无校验,且数据位为8位。
(3)单片机接收到PC送来的数据后,保存。当单片机接收到了10个PC送来的数据后,则将这些数据按顺序反送回
PC。
(4)PC用专用的串口调试工具通信,通过观察比较发送的数据和接收的数据,就可以比较容易地确定串口通信是否正常。
常见的集散控制系统都是由PC和多台MCS-51单片机构成的。利用PC良好的人机界面和强大的数据处理能力,可以实现整个系统的集中管理和最优控制;利用MCS-51单片机低廉的价格和强大的控制功能,可以完成现成数据采集和控制。
PC机与多个单片机的通信协议如下:
(1)根据用户的要求和通信协议规定,对8250进行初始化。设置波特率9600b/s,数据位数8位,1位由奇偶校验位改变的可编程位,1个停止位。
(2)PC采用查询方式发送和接收数据。
(3)数据校验采用累加和的方式进行。单片机接收到数据后,若比较无误,则发送00H到PC,PC收到单片机回送的
00H,表示通信成功;否则,PC设置通信错误。
4结语
单片机具有价格低廉,控制效能高的优势,在工业控制等
诸多领域有广泛的运用,实现单片机之间以及单片机和PC机之间的通信有着极其重要的意义,在工业控制领域有着重要的实践意义。
参考文献
[1]吴金戌,等.8051单片机实践与应用[M].北京:清华大学出版社,2002.
[2]刘守义,等.单片机应用技术[M].西安:电子科技大学
出版社,2002.
[3]唐俊翟,等.单片机原理与应用[M].北京:冶金工业出
版社,2003.
[4]徐爱钧,等.单片机高级语言C51Windows环境编程与应
用[M].北京:电子工业出版社,2002.(收稿日期:2010-05-09)