第7章 MCS-51的串行接口,单片机,张毅刚教材.ppt

第7章 MCS-51的串行接口,单片机,张毅刚教材.ppt

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 MCS-51的串行接口,单片机,张毅刚教材

第7章MCS-51的串行接口 §7.1 、结构原理 控制寄存器 SM0SM1 SM2:在方式2、3下的多机通信控制位。 REN:=1,允许接收。=0,不允许接收。 TB8:发送的第9位数据。 RB8:接收到的第9位数据。 TI:发送中断标志位。=1,发送数据结束。反之亦然。 RI:接收中断标志位。=1,收到一帧数据。 特殊功能寄存器 PCON:PCON.7=SMOD=1,波特率×2。 例、方式1波特率计算公式: §7.2、串行接口的4种工作方式 方式0发送 SM0、SM1=00,REN=0。 当CPU将数据写入SBUF,该指令产生写SBUF脉冲,启动发送。 数据以1机器周期的传输速率,低位在前由RXD串行输出,TXD输出同步时钟,发送完毕,TI=1。如果是允许中断,则向CPU发中断。 方式0接收 SM0、SM1=00,REN=1,RI=0。 当CPU将控制字写入SCON,该指令产生写SBUF脉冲,启动串行口接收。 数据以1机器周期的传输速率,低位在前由RXD串行输入,TXD仍然输出同步时钟,当接收到8位数据,RI=1。如果是允许中断,则向CPU发中断。 方式1 SM0、SM1=01, REN=1(接收)。 数据收发分别由RX与TX引脚实现。 数据帧为10位。 波特率由公式得出。 当RI/TI=1,表示已收到/发送完一个数据,这时若打开了中断,则向CPU发请求。也可通过查询RI/TI以识别收发是否结束。 方式2/3 SM0、SM1=10/11,REN=1(接收)。 数据收发分别由RX与TX引脚实现。 数据帧为11位。D8=TB8/RB8。 波特率由公式得出。 当RI/TI=1,表示已收到/发送完一个数据,这时若打开了中断,则向CPU发请求。也可通过查询RI/TI以识别收发是否结束。 §7.3、多机通信 系统结构是主从方式,从机以地址区别。 从机:工作方式2、3,SM2、REN=1。所有从机都在接收状态。 主机:工作方式2、3,发送TB8=1,D0~7为地址。TB8=0,D0~7为数据。 主机先发地址。所有从机都接收,各自识别是否本机地址;是,该从机SM2清零,准备接受数据。否则,SM2保持1不变。 主机发数据或命令,且TB8=0。 这时只有SM2=0的从机收数据或命令。其它从机,由于SM2=1,且RB8=0。所以不能收数据。 串行通信的波特率 在数据收发时,收发双方的波特率必须相等。 波特率由前述公式计算,如果有误差,可调整时钟。但收发双方有相同误差,这不会影响数据的收发。 程序设计时,波特率也可参考P148、表7-2。 方式1应用举例 波特率计算 甲机发送程序 甲机发送程序 乙机接收程序 作业: * 发送 SBUF (99H) 接收 SBUF (99H) 发送控制 接收控制 移位寄存器 控 制 寄 存 器 SCON (98H) T1 串行口中断 TXD RXD 8位 1位 98H 99H 9AH 9BH 9CH 9DH 9EH 9FH 位地址 RI TI RB8 TB8 REN SM2 SM1 SM0 98H SCON: 00:同步移位寄存器方式。 01:8位异步收发,波特率可变。由定时器控制。 10:9位异步收发,波特率为fOSC/64或fOSC/32。 11:9位异步收发,波特率可变。由定时器控制。 接收:如果SM2=1,只有收到第9位(RB8)=1时,才将前8位写入SBUF,并使RI=1。如果RB8=0,扔掉前8位。如果SM2=0,RB8无论是0还是1,将前8位写入SBUF。并使RI=1。 方式1: SM2=1,只有收到停止位,才激活RI。 方式0:SM2必须为0。 8位地址/数据 第9位 RB8/TB8 SBUF D7 D6 D5 D4 D3 D2 D1 D0 写SBUF RXD TXD TI CLR TI D7 D6 D5 D4 D3 D2 D1 D0 写SBUF RXD TXD TI CLR RI 停止位 D7 D6 D5 D4 D3 D2 D1 D0 起始位 接收数据必须同时满足的条件: RI=1,SBUF空。 SM2=0或收到停止位即RB8=1。 否则收到数据丢弃。 D7 停止位 D8 D6 D5 D4 D3 D2 D1 D0 起始位 接收数据必须同时满足的条件: RI=1,SBUF空。 SM2=0或收到第9位即RB8=1。 否则收到数据丢弃。 主机 RX TXD MCS-51 RXD TXD 从机0 MCS-51 RXD TXD 从机1 MCS-51 RXD TXD 从机n MCS-51 例7-4、甲机以方式1发送数据到乙机。已知: (78H)=20H, (77H)=00H; (76H)=20H, (75H)=20H; 甲机将2000

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档