|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
* H \0 y+ O) `% ^9 y5 }
[摘要]本文阐述了主从式多机通讯的原理,提出了一种基于RS-422串行通信接口的方案和软件设
; b% R0 v3 r, g3 W! v计方法.针对计算机与8051系列单片机串行口的通讯特点,设置计算机中通讯控制寄存器,使计算机满足单片
' z- W( g" o/ P) h- s; h7 y& N机多机通讯的格式,实现了计算机和单片机的多机通讯.该方法已在实际应用中被广泛采用,并可推广应用于
) x4 N3 B3 I+ E: m/ ]/ g其他系统,对其他系统的硬件电路设计及程序设计具有一定的参考价值.
1 Z4 }, v X+ i. X; \: b[关键词] 单片机;多机通讯;RS-422接口;80510 u2 `$ Z5 @% T* r8 C
引言- @' ?0 q$ r8 b% \ g9 D
随着计算机技术和通讯技术的发展,在工业过程控制、数据采集等领域,出现了利用计算机和单片
6 W! K+ T" b& a机组成的主从式多机系统,以实现集中监控.在这些系统中,单片机一般是充当从机(下位机),直接用
; Z" n$ g- r5 ^5 y& ^' `# i2 H于对所控制对象进行实时数据的采集、简单计算、判断和处理;而主机(.上位机)则多采用微机(如Penti-
2 Z: y5 i/ s7 yum系列),主要负责对各单片机进行综合管理,以实现测控系统的自动检测与控制.当从机数过多,主
3 V" R1 m ~' C, J* d机要不停地查询或响应从机的中断,并要在--定时间内等待和接收数据,因而严重影响到上位机的工作
* T& b# }0 k7 I/ `效率.因此,如何根据系统的实际工作环境条件,选择恰当的通信接口和协议,合理设计通信硬件和软! n) f: m) [& Q' O, b
件,获得高可靠性、强抗干扰和容错能力,成为衡量此类系统好坏的最重要因素[".. o% j+ p$ A; ]% v
2: X2 r2 t" K4 Q3 F. I/ x
主从式多机通讯原理+ P k5 m) x# N2 j, j* O% F4 v
2.18051单片机通讯设置寄存器8 b r6 ?2 A, Z8 }, k1 D. I' S- F
1)定时/计数器工作方式寄存器TMODI2]
9 Z' Y% }" ^( \" j5 c) TTMOD为T1、T2的工作方式寄存器,其格式如图1所示.$ B, h! K8 u1 e: n# X
图1 TMOD 寄存器的定义
6 F$ S; D" ^! k1 ?9 v* ]0 ~9 m工作方式选择位定义如表1所示.
1 y6 v5 Q/ Q, \% w2)串行口控制寄存器SCON
/ ^. W0 u0 V' gSCON用来控制串行口的工作方式和状态,可以位寻址,字节地址为98H.单片机复位时,所有位全
/ p2 l: q+ `. ?0 v# K2 c, x为0,其格式如图2所示.1 R+ U* b6 j% ^/ ]0 k: T+ c
8 F( T7 ]/ _( m1 t& L% E2.2 8051 单片机通讯功能4 L5 Y* t2 R/ V& X+ C+ C H5 U
8051系列单片机内部有一个功能很强的全双工串行口(UART),有两个独立的接收、发送缓冲器:1 l$ m- k7 {2 z+ n1 q S
SBUF,可同时发送和接收数据.发送缓冲器只能写人数据,不能读出;接收缓冲器只能读出,不能写人,1 ^4 q9 V( |0 _7 ] b% V
两个缓冲器占有一个地址99H.根据表2可知,串行口有4种工作方式,其中方式2和方式3是用于多.* ^6 b* t8 |3 n$ S
机通讯的工作方式,由SCON控制, SM2在方式2和方式3时,作为主、从式多机通讯的控制位,可实现
. a/ v9 i( {3 W; \$ d8 ?6 b; U主从通讯(3].
" ?! D; {, S8 [/ Y: X/ i- ^1)发送
5 a& f) r) k* D6 d( N+ G发送时,先根据通信协议由软件设置TB8 ,然后用指令将要发送的数据写人SBUF,启动发送器.写
6 c Z1 D! N5 n J, u( Q/ BSBUF的指令,除了将8位数据送人SBUF外,同时还将TB8装人发送移位寄存器的第9位,并通知发送
+ p! y* G- {2 m0 R% d! k控制器进行- -次发送.一帧信息即从TXD发送,在送完-帧信息后,TI被自动置1,在发送下一帧信息
/ v* O9 @( {/ u E0 ~2 O- s( Z之前,TI必须由中断服务程序或查询程序清0.
6 X" {& }7 b0 F, n* g7 @2)接收; v$ l( C( P/ e# n. B
当REN=1时,允许串行口接收数据.数据由RXD端输人.当接收器采样到RXD端的负跳变,并判9 J3 X; _: d' W v5 s3 Z5 p# g
断起始位有效后,开始接收- -帧信息.当接收器接收到第9位数据后,若同时满足以下两个条件:RI =0;
2 O- J+ q, {6 W- s1 N) T/ m& ~SM2 =0或接收到的第9位数据为1,则接收数据有效,8位数据送人SBUF ,第9位送人RB8 ,并置RI=+ s/ Q% {6 x: L
1 ;若不满足上述两个条件,则信息丢失.% @) k) X7 D1 g, e9 K0 N k9 N7 x
2.3 8051 系列单片机主从式多机通讯原理
. L. o' u' d3 i5 S" R7 @主从式多机通讯系统是由1台主机和多台从机组成的,主机发送信息可被多个从机接收,而从机只 j- K) u# X5 |) U
能对主机发送信息,从机间不能互相通讯.其原理如图3所示.- e; P: }2 d$ }( J J3 G+ b j
在通讯之前,先将主机地址发送给各从机,接着发送数据或命令.一般可做如下约定:主机要发送地/ w7 w% E# m9 `
9 A: f$ D% C. R: E B Y$ G% I4 F* d4 j* o1 O( ~# _; |
) R9 I+ Z6 a) _" e附件下载:
9 s( S, J* Q# [
! z9 v [$ x# Q |
|