C51单片机06(串行通信)解读.ppt

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

第6章 串行异步通信接口 单片机的串行异步通信接口 对于单片机,从外部观察,与串行接口有关的只有RXD、TXD两条线 C51串行口功能与结构 方式0——同步移位寄存器方式(波特率直接由系统时钟产生) 方式1——8位异步通信方式(波特率由定时器T1决定) 方式2——9位异步通信方式(波特率直接由系统时钟产生) 方式3——9位异步通信方式(波特率由定时器T1决定) MCS-51串行口结构 串行口的特殊功能寄存器 从用户编程的角度观察: 收发数据寄存器 SBUF 地址为99H 串口控制寄存器 SCON 地址为98H 电源控制寄存器 PCON 地址为87H 串行口数据寄存器SBUF 两个独立的物理寄存器,发、收共用地址 CPU向SBUF写数据,写入发送数据寄存器 在发送时钟控制下,先发送一个低电平起始位 低位在前,高位在后,逐个发送数据位 最后发送一个高电平停止位 发送完数据位后,发送中断标志TI置“1” CPU读SBUF,读的是接收数据寄存器 检测起始位 接收数据位,移入移位寄存器 接收有效,接收中断标志RI置“1” 串行口控制寄存器 SCON 定义串行口的工作方式,进行接收、发送控制和监控串行口的工作过程 SM0 SM1——工作方式选择 SM2——多机通信控制 REN——允许接收控制 TB8——发送数据的第9位 RB8——接收数据的第9位 TI——发送中断标志 RI——接收中断标志 发送中断标志TI 方式0时,当发送数据第8位结束后,由内部硬件使TI置位 方式1、2、3时,在停止位开始发送时由内部硬件使TI置位 TI置位,产生内部中断interrupt 4,通知CPU开始发送下一个数据 CPU响应中断后,TI不能自动清零,必须用软件清零 接收中断标志RI 方式0时,当接收数据第8位结束后,由内部硬件使RI置位 方式1、2、3时,若接收有效,由内部硬件使RI置位 RI置位,产生内部中断interrupt 4,通知CPU从接收数据寄存器中取走数据 CPU响应中断后,RI不能自动清零,必须用软件清零 电源控制寄存器PCON 主要用于电源控制 SMOD——波特率加倍位,用于对串行口的波特率控制 5.3.3 串行口的工作方式 方式0——移位寄存器 用来外接移位寄存器,用作扩展I/O接口 串行数据通过RXD输入、输出 同步时钟通过TXD输出 发送和接收数据时低位在前、高位在后,长度8位 波特率固定为 fosc/12 方式0发送过程 TI=0时,CPU执行一条向SBUF写数据的指令,启动发送过程 经过一个机器周期,写入发送数据寄存器的数据按低位在前、高全在后的顺序,从RXD依次发送,同步时钟从TXD送出 8位数据(一帧)发送完毕,标志位TI置1,向CPU申请中断 如要再次发送数据,必须用软件将TI清0 方式0接收过程 RI=0,将REN置1,启动一次接收过程 串行数据通过RXD接收,同步移位脉冲通过TXD输出 RXD上的串行数据依次移入移位寄存器 8位数据(一帧)全部移入后,接收控制器将8位数据并行送入SBUF 硬件使中断标志RI置1,向CPU申请中断 CPU响应中断后,从接收数据寄存器SBUF中取出数据,然后用软件使RI清0 方式1——8位异步通信 帧信息结构: 1个起始位 8个数据位 1个停止位 TXD发送数据 RXD接收数据 波特率=2SMOD×(T1的溢出率)/32 方式1的发送过程 TI=0,CPU执行一条向SBUF写数据的指令,启动发送过程 数据由TXD引脚送出 在发送时钟作用下,先通过TXD送出一个低电平的起始位,然后依次送出8位数据,其后是一个高电平的停止位 一帧数据发送完毕,发送中断标志TI置1,向CPU申请中断 方式1的接收过程 REN置1,接收器开始工作,以所选波特率的16倍速率对RXD引脚上的电平进行采样 发现起始位(负跳变),开始接收数据,在接收移位脉冲控制下依次把接收的数据移入移位寄存器 8位数据及停止位全部接收后,置RI=1,向CPU申请中断 方式2、方式3——9位异步通信 帧信息结构: 1个低电平起始位 9个数据位 1个高电平停止位 TXD 发送数据端 RXD 接收数据端 方式2波特率: fosc/32 或者 fosc/64 方式3波特率: =2SMOD×(T1的溢出率)/32 5.3.4 串行口的编程及应用 串行口工作方式设置的说明 SCON=0x50; 方式1: TI=0,CPU执行一条向SBUF写数据的指令,启动发送过程 一帧数据发送完毕,发送中断标志TI置1,向CPU申请中断 从单片机发送一个字符到PC(查询方式) // 经串口把数据从单片机发送到计算机的“串口助手”并显示在“接收/键盘发送缓冲区” #includereg52.h void com_init

文档评论(0)

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

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

1亿VIP精品文档

相关文档