12
5-3-2 5-3-2 多多多多多多 多多多多多多 教教教教 教教教教 教教教教 教教教教教教教教教教教教教教教 教教教教教教教教 :, 教教教教 教教教教教教教教教教教教教教教 教教教教教教教教 :, 教教教教 教教教教教教教 教教教 教教教教 教教教教教教 教教教教 教教教教教教 教教教教教教教教SM2 SM2 TB8 TB8 RB8 RB8 教教教教教教教教教 教教教教教教教教教

5-3-2 多机通信接口

Embed Size (px)

DESCRIPTION

5-3-2 多机通信接口. 教学目标 教学要求:掌握多机通信的原理及实现过程,能设计简单的多机通信系统及程序。 本节重点:多机通信原理 本节难点: SM2 、 TB8 、 RB8 在通信过程中的作用. 多机通信的应用领域. 1 #打卡机 2 #打卡机 3 #打卡机 …… n #打卡机 . 典型应用:校园卡系统、智能楼宇、自动温控蔬菜大棚、大型粮库、工厂自动化;. 1 . MCS-51 多机通信原理. 问题 1: 多机通信时主机如何寻找从机? 问题 2: 如何区分地址和数据信息? - PowerPoint PPT Presentation

Citation preview

Page 1: 5-3-2    多机通信接口

5-3-2 5-3-2 多机通信接口多机通信接口教学目标教学目标

教学要求:掌握多机通信的原理及实现教学要求:掌握多机通信的原理及实现过程,能设计简单的多机通信系统及程过程,能设计简单的多机通信系统及程序。序。

本节重点:多机通信原理本节重点:多机通信原理 本节难点:本节难点: SM2SM2 、、 TB8TB8 、、 RB8RB8 在通信在通信

过程中的作用过程中的作用

Page 2: 5-3-2    多机通信接口

多机通信的应用领域多机通信的应用领域

典型应用:校园卡系统、智能楼宇、自动温控蔬菜大棚、大型粮库、工厂自动化;

1 #打卡机 2 #打卡机 3 #打卡机 …… n #打卡机 

Page 3: 5-3-2    多机通信接口

11.. MCS-51MCS-51多机通信原理多机通信原理 问题问题 1:1: 多机通信时主机如何寻找从机?多机通信时主机如何寻找从机? 问题问题 2:2: 如何区分地址和数据信息?如何区分地址和数据信息?

串行口控制寄存器串行口控制寄存器 SCONSCON 中的中的 SM2SM2 为多机通信接口为多机通信接口控制位。串行口工作于方式控制位。串行口工作于方式 22 或或 33 。。 SM2SM2 ------多机通信位;------多机通信位;     TB8/RB8TB8/RB8 ----地址----地址 // 数据区分位数据区分位 ;;

  若  若 SM2SM2 为为 11 ,则仅当接收到的第,则仅当接收到的第 99 位数据位数据 RB8RB8 为为11 时,数据才装入时,数据才装入 SBUFSBUF ,置位,置位 RIRI ,请求,请求 CPUCPU 对数据对数据进行处理;如果接收到的第进行处理;如果接收到的第 99 位数据位数据 RB8RB8 为为 00 ,则不,则不产生中断标志产生中断标志 RIRI ,信息丢失,,信息丢失, CPUCPU 不做任何处理。不做任何处理。  当  当 SM2SM2 为为 00 时,则接收到一个数据后,不管第时,则接收到一个数据后,不管第 99位数据位数据 RB8RB8 是是 00 还是还是 11 ,都将数据装入接收缓冲器,都将数据装入接收缓冲器 SBSBUFUF 并置位中断标志并置位中断标志 RIRI ,请求,请求 CPUCPU 处理。处理。

关键是 SM2与 TB8/RB8的关系!

Page 4: 5-3-2    多机通信接口

SM2SM2 、、 RB8RB8 与从机动作关系与从机动作关系SM2 RB8 从 机 动 作

1 0 此时不能接收数据

1 1 能收到主机发的数据(地址信息)

0 0 进入串口中断,对接收的数据进行处理

0 1 进入串口中断 , 对接收的数据进行处理

Page 5: 5-3-2    多机通信接口

通信过程通信过程所有从机的所有从机的 SM2=1SM2=1 ,处于只接收地址帧状态,处于只接收地址帧状态

所有同学坐着听讲主机发地址信息,以第主机发地址信息,以第 99 位位 TB8=1TB8=1 表示发送的是地址表示发送的是地址

老师喊同学名字从机接收到地址帧后与本机地址比较从机接收到地址帧后与本机地址比较

所有同学听到名字与自己的名字比较

被寻址从机被寻址从机 SM2=0SM2=0 ,其作从机,其作从机 SM2=1SM2=1 不变不变名字相符的同学站起来

主机发数据信息,对已被寻址的从机因主机发数据信息,对已被寻址的从机因 SM2=0SM2=0 ,可以接收,可以接收主机发来的信息。其余从机因主机发来的信息。其余从机因 SM2=1SM2=1 不理睬主机。不理睬主机。

老师与站起的同学进行提问回答课堂交流被寻址的从机被寻址的从机 SM2SM2 置置 1.1. 主机可另发地址帧与其它从机通信时 。主机可另发地址帧与其它从机通信时 。

回答问题的同学坐下

多机通信动画演示

Page 6: 5-3-2    多机通信接口

22.多机通信系统设计.多机通信系统设计 设多机通信系统主、从机晶振为设多机通信系统主、从机晶振为 6MHz6MHz ,波特率为,波特率为 24002400

bpsbps ,以方式,以方式 33 进行多机串行通信。每次通信时主机先进行多机串行通信。每次通信时主机先发送对应的从机地址,然后发一个字节数据。发送对应的从机地址,然后发一个字节数据。

RS-485

从机0#

主机

RS-485

……RS-485

从机1#

RS-485

从机n#

图 1   多机通信系统硬件结构

Page 7: 5-3-2    多机通信接口

主机软件设计主机软件设计 -------- 初始化子程序

INITINIT :: MOVMOV TMODTMOD ,, #20H#20H

MOV TH1MOV TH1 ,, #0F9H#0F9H ;波特率为;波特率为 2400bps2400bps

MOV TL1MOV TL1 ,, #0F9H#0F9H

MOV SCONMOV SCON ,, #0F0H#0F0H ;方式;方式 3,SM2=13,SM2=1 ,允许接收,允许接收 SETBSETB    TR1 TR1

RETRET

Page 8: 5-3-2    多机通信接口

主机软件设计主机软件设计 ---------- 通信子程序流程

返回

置地址信息标志

发地址

置数据信息标志

发数据

开始

图 2 主机通信子程序流程图

Page 9: 5-3-2    多机通信接口

从机软件设计从机软件设计 -------------- 初始化程序

INIT: MOVINIT: MOV TMODTMOD ,, #20H #20H

MOVMOV TH1TH1 ,, #0F9H#0F9H ;设置波特率为;设置波特率为 24002400

MOVMOV TL1TL1 ,,#0F9H#0F9H

MOVMOV SCONSCON ,, #0F0H#0F0H ;方式;方式 33 ,, SM2=1SM2=1 ,允,允许接收许接收

SETBSETB TR1TR1

SETBSETB ESES ;允许串行口中断;允许串行口中断 SETBSETB EAEA

WAITWAIT :: SJMP WAIT SJMP WAIT ;听号;听号

Page 10: 5-3-2    多机通信接口

从机软件设计从机软件设计 ---------- 通信子程序

数据?

接收并保存数据Y

N

清接收数据标志

准备收地址信息

接收地址

呼 本 机?

准备接收数据Y

清中断标志

返回

开始

图 3 从机通信程序流程图

N

Page 11: 5-3-2    多机通信接口

从机串行中断通信程序从机串行中断通信程序SIOSIO :: CLRCLR RIRI

PUSHPUSH PSW ;PSW ; 现场保护现场保护PUSHPUSH ACC ACC MOVMOV AA ,, SBUFSBUF ;接收串行数据;接收串行数据XRLXRL AA ,, #ADDR#ADDR ;判断是否与本机地址相符;判断是否与本机地址相符JNZJNZ BACKBACK ;不相符则返回;不相符则返回CLRCLR SM2SM2 ;相符则;相符则 SM2SM2 为为 00

CLR ES ;CLR ES ; 关串口中断,避免中断嵌套关串口中断,避免中断嵌套MOVMOV AA , , SBUF ;SBUF ; 接收数据接收数据

WAITWAIT :: JNBJNB RIRI ,, WAIT WAIT CLRCLR RI RI

MOV @R0, A ;MOV @R0, A ; 保存数据保存数据 SETB SM2 ;SETB SM2 ; 恢复多机通信,恢复多机通信, SETB ES ;SETB ES ; 开串口中断开串口中断BACKBACK :: POPPOP ACC ; ACC ; 恢复现场恢复现场

POPPOP PSWPSWRETIRETI

Page 12: 5-3-2    多机通信接口

作 业 

  某MCS-51多机通信系统要求主、从机均采取中断方式通信,设 fosc=12MHz, 通信速率 4800bps.主机每次通信时先确定从机,然后将片内RAM中 30H单元开始的 10个数据发给指定的从机。编写主、从机的程序。