串口通信原理及操作流程ppt课件.ppt_第1页
串口通信原理及操作流程ppt课件.ppt_第2页
串口通信原理及操作流程ppt课件.ppt_第3页
串口通信原理及操作流程ppt课件.ppt_第4页
串口通信原理及操作流程ppt课件.ppt_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 串行口通讯原理及操作流程 2 并行与串行通信方式比较 8位数据同时传送数据传输速度快传输线多长距离传输成本高 8位数据顺位传送数据传输速度相对较慢传输线少长距离传输成本低数据传输控制较为复杂 数据传输较为简单 3 异步与同步串行通信方式 不要求收发双方时钟严格一致每个字符要附加2 3位 起始位 校验位 停止位 各帧之间有任意间隔 位之间间隔一定用于单片机和单片机 单片机与计算机之间通信 发送方时钟对接收方时钟的直接控制 使双方完全同步每个字符之间不留空隙 既保持位同步关系也保持字符同步关系以特定的位组合01111110作为帧的开始和结束标志实现的硬件设备较为复杂 4 单片机串口 5 串行通信接口总线标准 测控系统中 计算机通信主要采用异步串行通信方式 常用的异步总线标准有三种 RS 232 RS 232ARS 232BRS 232C RS 449 RS422RS423RS485 20mA电流环这里重点介绍RS 232RS 232C 速率 20Kbit S 最大通信距离 15mRS422 10Mbit s 300m90Kbit s 1200m 6 RS 232电平与TTL电平的转换 计算机为RS 232电平信号 单片机为TTL电平信号 TXDP3 1口发送RXDP3 0口接收 计算机与单片机的通信根本在于不同电平信号之间的转换和传输 7 单片机串口原理图 8 波特率和定时器初值的设定 波特率 每秒传输二进制代码的位数 1波特 1位 秒 单位bps 位 秒 串行口4种工作方式对应波特率 见P131 串口常用工作方式1 电源管理寄存器PCONSMOD 串口通信波特率有关SMOD 0 串口方式1 2 3时 波特率正常SMOD 1 串口方式1 2 3时 波特率加倍TI溢出率 T1定时器溢出的频率 即TI定时器每次溢出所需时间T的倒数1 T 9 常用波特率初值表 注 串口方式1定时器1方式2常用晶振11 0592 MHZ 波特率9600SMOD 0初值 TL0 0 xfdTH0 0 xfd十进制数 253 10 近距离传送电路 11 微机 接口 调制解调器 调制解调器 接口 微机 电话分机 电话分机 远距离传送电路 数字信号通过调制器变成模拟信号通过电话线传送到对方 接收方通过解调器将模拟信号转换成数字信号接收 12 MCS 51之间的双机通信 13 51单片机与计算机的通信 14 51单片机串行口结构 51单片机串行口是可编程全双工的通信接口 能同时进行数据的发送和接收 也可作为同步移位寄存器使用 51单片机串行口组成 1 两个独立的串行数据缓冲寄存器SBUF 一个发送缓冲寄存器 一个接收缓冲寄存器2 发送控制器3 接受控制器4 输入移位寄存器5 若干控制门电路单片机通过特殊功能寄存器SBUF对串行接收或串行发送寄存器进行访问 两个寄存器共用一个地址 但在物理意义上是两个独立的寄存器 15 发送SBUF 99H 控制门 RXD P3 0 TXD P3 1 中断 接收SBUF 99H 定时器T1 发送控制器 接收控制器 输入移位寄存器 TI RI 串行口基本结构 A 16 串行口控制寄存器SCON SM0 SM1 串行口工作方式控制位 00 方式0 01 方式110 方式2 11 方式3REN 串行接收允许位 0 禁止接收 1 允许接收TB8 在方式2 3中 TB8是发送机要发送的第9位数据 17 RB8 在方式2 3中 RB8是接受机收到的第9位数据 该数据来自发送机的TB8 TI 发送中断标志位 发送前必须用软件清零 发送过程中TI保持零电平 发送完一帧数据后 由硬件置 1 如果再发送 必须用软件再清零 RI 接收中断标志位 接收前 必须用软件清零 接收过程中RI保持零电平 接收完一帧数据后由片内硬件自动置 1 如果再接收必须用软件清零 18 SM2 多机通信控制位主要用于方式2 3 在不同串口工作方式下 通过控制SM2 可以实现多机通信 SM2作用 在方式2 3中 发送机SM2 1 程序设置 接收机SM2 1 若RB8 1 激活RI 引起接收中断RB8 0 不激活RI 不引起接断 SM2 0 无论RB8 1还是RB8 0均激活RI引起接收中断 在方式0中 SM2应置为0 在方式1中 当接收时SM2 1 则只有收到有效停止位才激活RI 19 串行口方式1编程与实现 串行口工作方式1数据形式 10位数据 1位起始位 0 8位数据位 最低位在前 最高位在后 1位停止位 1 帧之间可有空闲也可无空闲 数据输出时序图 20 数据输入时序图 串口初始化设置 确定T1的工作方式 编程TMOD寄存器 计算T1的初值 装载TH1 TL1 启动T1 编程TCON中的TR1位 确定串行口工作方式 编程SCON寄存器 串行口工作在中断方式时 进行中断设置 编程IE IP寄存器 21 include defineucharunsignedcharuchara flag voidinit TMOD 0 x20 设置定时器1为模式2TH1 0 xfd 装初值设定波特率TL1 0 xfd TR1 1 启动定时器SM0 0 串口通信模式设置SM1 1 REN 1 串口允许接收数据EA 1 开总中断ES 1 开串行中断 串口初始化程序分析 22 voidmain init while 1 if flag 1 如果有数据则进入这个语句 ES 0 进入发送数据时先关闭串行中断flag 0 SBUF a 将数据原样发回while TI 等待数据发完TI 0 ES 1 退出进再开串行中断 主函数分析 23 vo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论