51单片机系列知识11--串行通信(2)
来源:互联网 发布:matlab矩阵中的最小值 编辑:程序博客网 时间:2024/05/21 05:57
2、 工作方式
方式0:扩展移位寄存器方式,移位速率fosc/12
① 以方式0工作时,数据由RXD串行的输入/输出,TXD输出位移脉冲,使外部的移位寄存器移位。
② 移位速率,振荡频率的十二分之一。
③ 串行口是从低位开始串行输出
输入是从地位开始还是高位开始?
例:教材*1P132
④ 方式0时,SM2必须为0;REN=0禁止接收;方式0与TB8、RB8无关;TI=0;RI=0处于非中断状态
方式1: 8位UART(8位异步串行通信口)
波特率可变(TI溢出率/n)
输出:
CPU向串行口发送数据缓冲器SBUF写一个数据,就启动串发送,在串行口内部一个十六分频计数器的同步控制下,在TXD端输出一个帧信息,先送起始位0,接着从低位开始依次输出8位数据,最后输出停止位1,并置位“1”,发送中断标志T1,串行口输出完一个字符后停止工作,说明发送完成。
输入:
接收器从波特率的16倍的速率采样RXD,当检测到负跳变市,三次采样确认后,若起始位有效,则开始接收
*1教材:《单片机微型机原理、应用与实验》张友德等 复旦大学出版
本帧的其余信息,接收到停止位为1时,将接到的8位数据装入接收数据缓冲器SBUF,置位RI,表示串行口接收到有效的一帧信息,向CPU中断请求,接着重新搜索RXD上的负跳变。
△ 异步通信可靠性高,能及时发现错误的原因。在检测RXD上的值时,内部十六分频计数器的16个状态把传送一位的时间分为16等分,在每位中心,即7、8、9这三个计数状态检测器采样RXD的输入电平,接收的值是三次采样中至少是两次相同的值,这样处理可以防止干扰
方式2、3
方式2 9位UART(9位异步串行通信口)
波特率为fosc/64或fosc/32
方式3 9位UART(9位异步串行通信口)
波特率可变(T1溢出率/n)
输出:CPU向发送缓冲器SBUF写入一个数据就启动串行口发送,同时将TB8写入输出移位寄存器的第9位。
实际发送在内部十六分频计数器下一次循环的机器周期S1P1,使发送定时与这个十六分频计数器同步?
其余类似方式1
输入:
类似方式1,不同之处。
① 先从低位开始接受数据,再接受第9位数据
② 当RI=0,SM2=0或接收到的第9位数为1时,接收的数据装入SBUF和RB8,置位RI。若条件不满足,把数据丢失,并且不置位RI。△有条件接收数据,该特点目的是用于多机通信
一位时间以后又开始搜索RXD上的负跳变。
3、 波特率
波特率:串行口每秒钟内能发送(接收)二进制数的位数称为波特率。
串行口4种工作方式波特率的计算公式:
方式0的波特率=fosc/12
方式1的波特率=(2SMOD/32)×(T1溢出率)=(2SMOD/32)×fosc/12〔256-(TH1)〕
方式2的波特率=(2SMOD/64)×fosc
方式3的波特率:同方式
其中:方式0和方式2的波特率固定,方式1和方式3的波特率是可变的。
○串行接口或终端直接传送串行信息,位流的最大距离与传输速率及传输线的电气特性也有关。当使用传输线每0.3米,有50PF电容的非平衡屏蔽双纹线时,传输距离随传输速率的增加而减小。当波特率超过1000bps时,最大传输距离迅速下降,如9600bps时最大距离下降到只有76m。
By:霜月孤鸟
2016.2.25
- 51单片机系列知识11--串行通信(2)
- 51单片机系列知识10--串行通信(1)
- 51单片机系列知识12--串行通信(3)
- Linux PC和51系列单片机串行通信的设计
- 51单片机编程:双机串行通信
- 单片机串行通信总结
- 单片机小知识系列-1-485通信
- 51单片机系列知识5--并口(2)
- 51单片机系列知识16--HD7279(2)
- 11.1 单片机串行通信介绍
- 51单片机串行通信奇偶校验的设置方法
- 双机(51单片机)串行通信最基本的方法
- 51 单片机 C 语言串行双机通信的问题
- 51单片机系列知识2--存储器(1)
- 51单片机系列知识3--存储器(2)
- 51单片机系列知识7--中断系统(2)
- 51单片机系列知识9--定时器、计数器(2)
- 51单片机系列知识14--1206LCD(2)
- HDU 5625 Clarke and chemistry(字符串模拟题目)
- Oracle数据库如何创建Database Link呢
- Java修饰符关键词大全
- Build.VERSION_CODES.HONEYCOMB
- eclipse 汉化教程(中文语言包的下载和安装)
- 51单片机系列知识11--串行通信(2)
- 欢迎使用CSDN-markdown编辑器
- Java不同压缩算法的性能比较
- MySQL允许root帐号远程登录
- block的简单使用
- 51单片机系列知识12--串行通信(3)
- OkHttp 同步get
- Java程序员可能犯的3个常见SQL错误
- POJ 1222 Java: Extended lights out 枚举