《串行口通信原理及操作流程》
来源:互联网 发布:开过淘宝店铺能注销吗 编辑:程序博客网 时间:2024/06/03 20:32
一.通信方式
1.并行通信方式:将数据字节的各位用多条数据线同时进行传送
2.串行通信方式(异步串行通信方式、同步串行通信方式):将数据字节分为一位一位的形式在一条传输线上逐个传送。
(1)串行通信的制式:单工、半双工、全双工
(2)串行通信的错误校验:奇偶校验、代码和校验、循环冗余校验
2.通过MAX232进行RS-232电平与TTL电平的转换。
二.波特率与定时器初值的关系。
方式0的波特率=Fosc/12
方式1的波特率=(2^SMOD/32)*(t1的溢出率)
方式2的波特率=(2^SMOD/64)*Fosc/12
方式3的波特率=(2^SMOD/32)*(t1的溢出率)
(Fosc为系统晶振频率,通常为12MHz或11.0592MHz,方便计算出整数)
三.51单片机串行口结构描述
1.
2. SM0和SM1为工作选择位,有4种工作方式
2.
●SM2,多机通信控制位,主要用于方式2和方式3。当接收机的SM2=1时可以利用收到的RB8来控制是否激活RI(RB8=0时不激活RI,收到的信息丢弃;RB8=1时收到的数据进入SBUF,并激活RI,进而在中断服务中将数据从SBUF读走)。当SM2=0时,不论收到的RB8为0和1,均可以使收到的数据进入SBUF,并激活RI(即此时RB8不具有控制RI激活的功能)。通过控制SM2,可以实现多机通信。
在方式0时,SM2必须是0。在方式1时,若SM2=1,则只有接收到有效停止位时,RI才置1。
●REN,允许串行接收位。由软件置REN=1,则启动串行口接收数据;若软件置REN=0,则禁止接收。
●TB8,在方式2或方式3中,是发送数据的第九位,可以用软件规定其作用。可以用作数据的奇偶校验位,或在多机通信中,作为地址帧/数据帧的标志位。
在方式0和方式1中,该位未用。
●RB8,在方式2或方式3中,是接收到数据的第九位,作为奇偶校验位或地址帧/数据帧的标志位。在方式1时,若SM2=0,则RB8是接收到的停止位。
最常用是方式1:10位数据的异步通信口。
- 具体步骤:确定T1的工作方式(编程TMOD寄存器);
- 计算T1的初值,装载TH1、TL1;
- 启动T1(编程TCON中的TR1位);
- 确定串行口控制(编程SCON寄存器);
串行口在中断方式工作时,要进行中断设置(编程IE、IP寄存器)。
注意a=SUBF是接收数据和SUBF=a是发送数据。
- 《串行口通信原理及操作流程》
- 8051单片机串行口及串行通信
- 树梅派串行口通信方法
- 51串行口通信
- 单片机串行口及应用
- (单片机原理与应用)理解单片机串行口实现通信的各种工作方式
- C/C++串口通信原理及读写与操作
- C/C++串口通信原理及读写与操作
- Win API串口通信原理及读写与操作
- C/C++串口通信原理及读写与操作
- springMVC原理及流程
- 串行通信的基本原理及用MFC实现串口通信编程通信编程实现原理基本串口//数据操作线程
- 使用CreateFile()打开COM10及以上串行口
- 使用CreateFile()打开COM10及以上串行口
- 使用CreateFile()打开COM10及以上串行口
- 使用CreateFile()打开COM10及以上串行口
- 使用CreateFile()打开COM10及以上串行口
- 使用CreateFile()打开COM10及以上串行口
- 使用OleDbConnection读取Excel时的Microsoft.Ace.OleDb.12.0异常
- redhat命令操作(四)
- 记录下在centos上安装memcached及memcache扩展
- 同步和互斥
- 51nod 1416【DFS】
- 《串行口通信原理及操作流程》
- 重映射houdini相机(解决相机缩放后渲染出现的问题)
- 回文序列
- 【codevs 1287】 矩阵乘法
- linux C语言数据库sqliet3的添加,删除,查看
- Android Binder机制
- /查找介于n1与n2(0<n1<n2<32768)之间所有满足下列条件的整数
- linux c setitimer定时器
- Ranger初始用