0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

单片机串行接口工作方式

GReq_mcu168 来源:未知 作者:邓佳佳 2018-03-26 16:22 次阅读

串行口的工作方式0为移位寄存器输入输出方式,方式0发送或接收完8位数据后由硬件置位发送中断标志TI或接收中断标志RI。

1.方式0发送

串行数据从RXD引脚输出,TXD引脚输出移位脉冲。CPU将数据写入发送寄存器(SBUF)时,立即启动发送,将8位数据以fosc/12的固定波特率从RXD输出,低位在前,高位在后,直至最高位(D7位)数字移出后,停止发送数据和移位时钟脉冲。

MOV SCON, #10H ; 串行口方式0

MOV A, SBUF ; 接收数据

JNB RI, $ ; 等待数据接收完毕

2.方式0接收

方式0接收前,务必先置位REN=1,允许接收数据。此时,RXD为串行数据输入端,TXD仍为同步脉冲移位输出端。当RI=0和REN=1同时满足时,就会启动一次接收过程。接收器以fosc/12的固定波特率接收TXD端输入的数据。当接收到第8位数据时,将数据移入接收寄存器,并由硬件置位RI,向CPU申请中断。

MOVSCON,#00H ;串行口方式0

MOVSBUF,A ;将数据送出

JNBTI,$ ;等待数据发送完毕

工作方式0一般用于对并行输入输出口的扩展,如图1所示。

图1 方式0的应用

二、方式1:8位UART方式

当SM0=0、SM1=l时,串行口选择方式1,单片机工作于8位数据异步通讯方式(UART)。在方式1时,传送一帧信息为10位,即1位起始位(0),8位数据位(低位在先)和1位停止位(1)。方式1的数据格式如图2所示。

图2 方式1的数据格式

1.方式1发送

当CPU执行MOVA,SBUF指令将数据写入发送缓冲SBUF,启动发送。先把起始位输出到TXD,然后把移位寄存器的输出位送到TXD。接着发出第一个移位脉冲(SHIFT),使数据右移一位,并从左端补入0。此后数据将逐位由TXD端送出,而其左面不断补入0。发送完一帧数据后,就由硬件置位TI。

图3 方式1发送

2.方式1接收

当REN=1且接收到起始位后,在移位脉冲的控制下,把接收到的数据移入接收缓冲寄存器(SBUF)中,停止位到来后,把停止位送入RB8中,并置位RI,通知CPU接收到一个字符。

图4 方式1接收

三、方式2和方式3:9位数据异步通讯方式

当SM0=1、SM1=0时,串行口选择方式2;当SM1=1、SM0=1时,串行口选择方式3。方式2和方式3的工作原理相似,定义为9位的异步通讯接口,发送(通过TXD)和接收(通过RXD)一帧信息都是11位,1位起始位(0)、8位数据位(低位在先)、1位可编程位(即第9位数据)和1位停止位(1)。其数据格式如图5所示。

图5 方式2和3的数据格式

方式2和方式3唯一的差别是方式2的波特率是固定的,方式3的波特率是可变的。

1.方式2和方式3发送

当CPU执行一条数据写入SUBF的指令时,启动发送器发送。把起始位(0)放到TXD端,经过一位时间后,数据由移位寄存器送到TXD端,通过第一位数 据,出现第一个移位脉冲。当TB8的内容移到位寄存器的输出位置时,其左面一位是停止位“1”,再往左的所有位全为“0”。这种状态由零检测器检测到后, 就通知发送控制器作最后一次移位,然后置TI=1,请求中断。发送过程如图6所示。

图6 方式2和3的发送

2.方式2和方式3接收

接收时,数据从右边移入输入移位寄存器,在起始位0移到最左边时,控制电路进行最后一次移位。当RI=0,且SM2=0(或接收到的第9位数据为1)时,接收到的数据装入接收缓冲器SBUF和RB8(接收数据的第9位),置RI=1,向CPU请求中断。如果条件不满足,则数据丢失,且不置位RI,继续搜索RXD引脚的负跳变。接收的过程如图7所示。

图7 方式2和3的接收

四、波特率的计算

波特率反映串行口传输数据的速率,它取决于振荡频率、PCON寄存器的SCON位以及定时器的设定。在串行通讯中,收发双方的数据传送率(波特率)要遵循一定的约定。AT89S52串行口的四种工作方式中,方式0和2的波特率是固定的,而方式1和3的波特率是可变的,由定时器的溢出率控制。

方式0为固定波特率:波特率=fosc/12

方式2可选两种波特率:波特率=(2SMOD/64)×fosc

当SMOD=1时,波特率=fosc/32;

当SMOD=0时,波特率=fosc/64。

方式1、3为可变波特率,用T1作波特率发生器。

波特率=(2SMOD/32)×T1溢出率,T1溢出率为T1溢出一次所需时间的倒数。

例如:计算波特率。要求用T1工作于方式2来产生波特率2400,已知晶振频率=12MHz。

解:求出T1的初值:

常用波特率和T1初值可参考教材中的表6-2。五、多机通信

在集散式分布系统中,往往采用一台主机和多台从机。其中主机发送的信息可以被各个从机接收,而各从机的信息只能被主机接收,从机与从机之间不能互相直接通信。

图8为多机通信连线示意图,系统中左边为主机,其余的为1~n号从机,并保证每台从机在系统中的编号是惟一的。

图8 多通信示意图

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6002

    文章

    43981

    浏览量

    620891
  • 串行口
    +关注

    关注

    1

    文章

    42

    浏览量

    10747

原文标题:单片机串行接口工作方式

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    单片机原理及应用: 串行口的工作方式#单片机

    单片机串行
    学习硬声知识
    发布于 :2022年11月08日 23:56:04

    单片机原理及应用: 串行工作方式0和方式1#单片机

    单片机串行
    学习硬声知识
    发布于 :2022年11月09日 02:44:13

    单片机原理及应用: 串行工作方式2和方式3#单片机

    单片机串行
    学习硬声知识
    发布于 :2022年11月09日 02:45:06

    单片机原理与应用:串行工作方式0及应用举例#单片机

    单片机串行单片机原理
    学习硬声知识
    发布于 :2022年11月09日 14:59:50

    单片机原理与应用:串行工作方式2、3及应用举例#单片机

    单片机串行单片机原理
    学习硬声知识
    发布于 :2022年11月09日 15:04:16

    单片机应用技术:串行工作方式#单片机

    单片机串行
    学习硬声知识
    发布于 :2022年11月09日 20:49:26

    AT89C51串行工作方式是什么?

    AT89C51串行工作方式是什么?AT89C51单片机在无线数据传输中的应用是什么?
    发表于 06-07 06:21

    51单片机定时器工作方式

    51单片机定时器工作方式1、2的详解:写在前面知识填充方式工作原理初值的设定代码实现方式工作
    发表于 07-14 07:03

    51单片机串行接口有几种工作方式

    51单片机串行接口介绍串行口结构设置工作方式串行口控制寄存器SCON)设置波特率 51
    发表于 11-18 07:37

    单片机待机工作方式在抗干扰中的应用

    单片机待机工作方式在抗干扰中的应用
    发表于 05-16 14:13 12次下载

    D/A转换器与单片机接口电路图(单缓冲工作方式

    D/A转换器与单片机接口电路图(单缓冲工作方式) 适用于只有一路模拟量输出,
    发表于 01-01 01:11 2034次阅读
    D/A转换器与<b class='flag-5'>单片机</b><b class='flag-5'>接口</b>电路图(单缓冲<b class='flag-5'>工作方式</b>)

    D/A转换器与单片机接口原理图(双缓冲工作方式

    D/A转换器与单片机接口原理图(双缓冲工作方式) 适用于多路D/A转换输出,并要
    发表于 01-01 01:12 2783次阅读
    D/A转换器与<b class='flag-5'>单片机</b><b class='flag-5'>接口</b>原理图(双缓冲<b class='flag-5'>工作方式</b>)

    单片机串行通信的结构组成及工作原理解析

    目前多数单片机都配有串行接口,如51单片机和MCS - 96等系列单片机都配有一个全双工的串行
    发表于 06-21 15:22 5982次阅读
    <b class='flag-5'>单片机</b><b class='flag-5'>串行</b>通信的结构组成及<b class='flag-5'>工作</b>原理解析

    MCS-51单片机定时器和计数器的4种工作方式解析

    MCS-51单片机含有2个定时器/计数器,具有4种工作方式。具有两种工作模式(计数器模式和定时器模式) MCS-51单片机含有1个全双工串行
    发表于 10-22 16:24 3w次阅读
    MCS-51<b class='flag-5'>单片机</b>定时器和计数器的4种<b class='flag-5'>工作方式</b>解析

    51单片机串行接口介绍

    51单片机串行接口介绍串行口结构设置工作方式串行口控制寄存器SCON)设置波特率 51
    发表于 11-11 20:06 55次下载
    51<b class='flag-5'>单片机</b>的<b class='flag-5'>串行</b><b class='flag-5'>接口</b>介绍