|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
6 n# u% g5 R' B) m
[摘要]本文阐述了主从式多机通讯的原理,提出了一种基于RS-422串行通信接口的方案和软件设; x7 i8 w) X5 h$ e/ V4 I) }1 @
计方法.针对计算机与8051系列单片机串行口的通讯特点,设置计算机中通讯控制寄存器,使计算机满足单片7 f* c, |( U' ]
机多机通讯的格式,实现了计算机和单片机的多机通讯.该方法已在实际应用中被广泛采用,并可推广应用于. `9 X1 C5 T+ h( y; [) p+ _% n
其他系统,对其他系统的硬件电路设计及程序设计具有一定的参考价值.
4 G3 c( o& A/ v3 N[关键词] 单片机;多机通讯;RS-422接口;8051
1 u4 I- k V4 B. A1 m引言! l: V4 d# _* T
随着计算机技术和通讯技术的发展,在工业过程控制、数据采集等领域,出现了利用计算机和单片
; R9 ?0 i$ C9 q# N机组成的主从式多机系统,以实现集中监控.在这些系统中,单片机一般是充当从机(下位机),直接用
- B U# I6 V) o7 Z& d* p于对所控制对象进行实时数据的采集、简单计算、判断和处理;而主机(.上位机)则多采用微机(如Penti-8 A5 a& W- K0 X/ C
um系列),主要负责对各单片机进行综合管理,以实现测控系统的自动检测与控制.当从机数过多,主) U$ L3 U8 o# {1 |3 k4 ^4 l5 z
机要不停地查询或响应从机的中断,并要在--定时间内等待和接收数据,因而严重影响到上位机的工作
+ H- B n6 \! a效率.因此,如何根据系统的实际工作环境条件,选择恰当的通信接口和协议,合理设计通信硬件和软
' _" p* v }' s( G, ]3 i件,获得高可靠性、强抗干扰和容错能力,成为衡量此类系统好坏的最重要因素[".
1 W: ~8 B+ U& L. T27 U$ E7 E# m8 p5 @1 [
主从式多机通讯原理) |" b5 g0 T% U7 f- l# s
2.18051单片机通讯设置寄存器! p$ k- d8 t S& h! c0 U @& Z
1)定时/计数器工作方式寄存器TMODI2]
. E( g$ q0 n% Q6 U( v. i8 tTMOD为T1、T2的工作方式寄存器,其格式如图1所示.6 w" M5 g: }. k) M7 b
图1 TMOD 寄存器的定义" L# G$ h, l% t! C' @
工作方式选择位定义如表1所示. * @" }- U$ ^4 \- I. O( J Y
2)串行口控制寄存器SCON V7 y6 p7 W# D
SCON用来控制串行口的工作方式和状态,可以位寻址,字节地址为98H.单片机复位时,所有位全. N5 h- t( M7 c' `/ W
为0,其格式如图2所示.
5 M& D4 b9 E: d( ]7 D/ R
7 _8 s3 P# P6 r, n2.2 8051 单片机通讯功能& Q( [) _8 D: R9 o
8051系列单片机内部有一个功能很强的全双工串行口(UART),有两个独立的接收、发送缓冲器:
) @9 k) d- _0 J! ESBUF,可同时发送和接收数据.发送缓冲器只能写人数据,不能读出;接收缓冲器只能读出,不能写人,
/ z" o6 f+ L9 B0 h, b" q2 c两个缓冲器占有一个地址99H.根据表2可知,串行口有4种工作方式,其中方式2和方式3是用于多.' v7 M6 ?' I: m6 s3 f- R8 k
机通讯的工作方式,由SCON控制, SM2在方式2和方式3时,作为主、从式多机通讯的控制位,可实现* h2 x- Y' M6 \6 l1 F5 Q
主从通讯(3].
& i6 `/ H7 p0 Z w6 }: v1)发送, G+ M2 J, n( }
发送时,先根据通信协议由软件设置TB8 ,然后用指令将要发送的数据写人SBUF,启动发送器.写2 f9 E; b1 P f# `. b `
SBUF的指令,除了将8位数据送人SBUF外,同时还将TB8装人发送移位寄存器的第9位,并通知发送5 ]. R3 O: }* R5 P
控制器进行- -次发送.一帧信息即从TXD发送,在送完-帧信息后,TI被自动置1,在发送下一帧信息
4 O; W9 t% v9 A" T7 e* A之前,TI必须由中断服务程序或查询程序清0.4 e" g! j, g4 P8 [8 \) p
2)接收
7 D! c/ K6 {4 K! W2 R当REN=1时,允许串行口接收数据.数据由RXD端输人.当接收器采样到RXD端的负跳变,并判
a# K; `/ ~' Q9 O% g断起始位有效后,开始接收- -帧信息.当接收器接收到第9位数据后,若同时满足以下两个条件:RI =0;
; r# `+ U4 m. f6 z4 b; WSM2 =0或接收到的第9位数据为1,则接收数据有效,8位数据送人SBUF ,第9位送人RB8 ,并置RI=
; A) _7 i# {) _# e8 q$ Q4 n1 ;若不满足上述两个条件,则信息丢失. |+ _- @; G7 a ]
2.3 8051 系列单片机主从式多机通讯原理" ~5 P( G5 ?2 a, A, {- {
主从式多机通讯系统是由1台主机和多台从机组成的,主机发送信息可被多个从机接收,而从机只# X, n+ H+ V& K o2 Q
能对主机发送信息,从机间不能互相通讯.其原理如图3所示.
8 a" f) v& e% A在通讯之前,先将主机地址发送给各从机,接着发送数据或命令.一般可做如下约定:主机要发送地' b, G* Y0 ?- m7 v& D* c4 s6 n
1 m3 @* v0 n5 t; [* r3 s, a+ n- _% r
0 h% y8 ]' S( Z" f4 T
) x' C0 U- m! q# \! D$ m3 L: Z附件下载:' H' \6 r6 ~5 H$ z+ F" F4 ~
# R% e/ P( |3 O- J z4 h
|
|