




已阅读5页,还剩62页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机应用技术 应用电子技术专业 主讲 唐扬波E mail electybo 单片机应用技术 串行通信 单片机应用技术 一 计算机串行通信基础 通讯 信息交换 计算机计算机 计算机外设 应用 多机系统 计算机网络 方式 并行通信 串行通信 1 串行通信基础 单片机应用技术 并行通信 数据多位同时传送 控制简单 传输速度快 传输线较多 1 串行通信基础 单片机应用技术 串行通信 数据字节一位一位在一条传输线上逐个传送 传输线少 可利用电话网 但传送控制复杂 1 串行通信基础 单片机应用技术 二 串行通信的基本概念 异步通信与同步通信异步通信收 发设备使用各自时钟 1 串行通信基础 单片机应用技术 以字符 构成的帧 为单位字符间是异步的字符内各位是同步的 数据格式 1 串行通信基础 单片机应用技术 同步通信发送方时钟与接收方时钟同步 既保持位同步 也保持字符同步 同步方法 外同步自同步 1 串行通信基础 单片机应用技术 串行通信的传输方向单工半双工全双工 单工半双工全双工 1 串行通信基础 单片机应用技术 信号的调制与解调调制器把数字信号转换成模拟信号 然后送到通信线路上去解调器把从通信线路上收到的模拟信号转换成数字信号 1 串行通信基础 单片机应用技术 串行通信的错误校验奇偶校验代码和校验循环冗余校验 传输速率与传输距离传输速率比特率 每秒钟传输二进制代码的位数波特率 每秒钟调制信号变化的次数 单位是 波特 Baud 传输距离与传输速率的关系传输距离随传输速率的增加而减小 1 串行通信基础 单片机应用技术 RS 232C接口EIA 美国电子工业协会 1969年修订RS 232C标准 它定义了DTE与DCE间的物理接口标准 机械特性使用25针连接器 连接器的尺寸及每个插针的排列位置都有明确的定义 阳头 三 串行通信接口标准 1 串行通信基础 单片机应用技术 功能特性 1 串行通信基础 单片机应用技术 过程特性规定了信号间的时序关系 远程通信连接 电气特性负逻辑 DC 3 15v 为1 DC 3 15v 为0 DC 3 3v 为过渡区 1 串行通信基础 单片机应用技术 近程通信连接 1 串行通信基础 单片机应用技术 RS 232C电平与TTL电平转换驱动电路 1 串行通信基础 单片机应用技术 1 串行通信基础 单片机应用技术 采用RS 232C接口存在的问题距离短 速率低受电容允许值的约束 传输距离一般不要超过15米 最高传送速率为20Kbps 有电平偏移收发双方共地 通信距离较大时 在信号地上将有比较大的地电流并产生压降 抗干扰能力差单端输入输出 为了提高信噪比 不得不采用比较大的电压摆幅 1 串行通信基础 单片机应用技术 RS 485接口 RS 485用于半双工最多可以使用32对差分驱动器 接收器 还可以用中继器 RS 485干扰抑制性好 因为阻抗低 无接地问题 传输距离可达1200米 传输速率可达1Mbps 1 串行通信基础 单片机应用技术 RS 485常用于一点对多点的通信 一般采用双绞线的结构 单片机通过MAX485来完成TTL RS 485的电平转换 普通的PC机一般不带RS485接口 因此要使用RS 232C RS 485转换器 1 串行通信基础 单片机应用技术 2个物理上独立的接收 发送缓冲器SBUF 占用同一地址99H 接收器是双缓冲结构 2 80C51串行口结构 单片机应用技术 设定工作方式 接收 发送控制以及设置状态标志 一 80C51串行口的控制寄存器 SM0SM1SM2RENTB8RB8TIRI SCON 98H SM0 SM1 工作方式设置位 00 8位同步移位寄存器 fosc 1201 10位异步收发器 8位数据 波特率可变10 11位异步收发器 9位数据 fosc 64或fosc 3211 11位异步收发器 9位数据 波特率可变 2 80C51串行口结构 单片机应用技术 SM2 多机通信控制位 主要用于方式2和方式3 对于接收机SM2 0 收到RB8 0或1 即可使收到的数据进入SBUF 并激活RI SM2 1 收到的RB8 0时 收到的信息丢弃 不激活RI 若收到的RB8 1时 收到的数据进入SBUF 并激活RI 进而在中断服务中将数据从SBUF读走 方式0时 SM2必须是0 方式1时 SM2 1时 只有接收到有效停止位时 RI才激活 REN 允许串行接收位 置REN 1 启动串口接收过程置REN 0 则禁止串口接收 2 80C51串行口结构 单片机应用技术 TB8 在方式2 3中 是发送数据的第9位数据的奇偶校验位地址帧 数据帧的标志位 RB8 在方式2 3中 是接收到数据的第9位奇偶校验位地址帧 数据帧的标志位 方式1时 若SM2 0 则RB8是接收到的停止位 2 80C51串行口结构 单片机应用技术 TI 发送中断标志位 方式0时 串行发送第8位数据结束时其它方式 串行发送停止位的开始时硬件使TI置1 发中断申请 必须在中断服务程序中用软件将其清0 RI 接收中断标志位 方式0时 串行接收第8位数据结束时其它方式 串行接收停止位的中间时硬件使RI置1 发中断申请 必须在中断服务程序中用软件将其清0 2 80C51串行口结构 单片机应用技术 PCON SMOD 波特率倍增位 在方式1 2 3时 波特率与SMOD有关 SMOD 1时 波特率提高一倍 复位时 SMOD 0 SMOD PCON 97H 2 80C51串行口结构 单片机应用技术 二 80C51串行口的工作方式 方式0同步移位寄存器的输入输出方式 用于扩展并行输入或输出口 数据由RXD引脚输入或输出 移位脉冲由TXD引脚输出 8位数据 波特率为fosc 12 方式0输出 2 80C51串行口结构 单片机应用技术 方式0输入 方式0接收和发送电路 2 80C51串行口结构 单片机应用技术 方式110位数据的异步通信 帧格式如图所示 方式1输出 2 80C51串行口结构 单片机应用技术 方式1输入 置REN为1时 接收器检测到RXD引脚输入电平发生负跳变时 则说明起始位有效 将其移入输入移位寄存器 并开始接收这一帧信息的其余位 当RI 0 且SM2 0 或接收到的停止位为1 时 将收到的9位数据的前8位装入SBUF 第9位 停止位 进入RB8 并置RI 1 向CPU请求中断 2 80C51串行口结构 单片机应用技术 方式2和方式311位数据的异步通信 起始位1位 数据9位 停止位1位方式2的波特率固定为晶振频率的1 64或1 32方式3的波特率由定时器T1的溢出率决定 2 80C51串行口结构 单片机应用技术 方式2和方式3输出 先把起始位0输出到TXD 然后发送移位寄存器的输出位 D0 每一移位脉冲都使输出移位寄存器的各位移动一位 并由TXD引脚输出 最后一次移位后 置TI 1 请求中断 2 80C51串行口结构 单片机应用技术 方式2和方式3输入 数据从右边移入输入移位寄存器 最后一次移位后 若RI 0 且SM2 0 或接收到的第9位数据为1 时 接收到的数据装入接收缓冲器SBUF和RB8 接收数据的第9位 置RI 1 向CPU请求中断 如果条件不满足 则数据丢失 且不置位RI 2 80C51串行口结构 单片机应用技术 波特率的计算方式0 2的波特率是固定的 而方式1 3的波特率是可变的 由定时器T1的溢出率来决定 方式0波特率 fosc 12方式2波特率 2SMOD 64 fosc方式1波特率 2SMOD 32 T1溢出率 方式3波特率 2SMOD 32 T1溢出率 T1溢出率 fosc 12 256 TH1 T1方式2 TR1 1 以启动定时器 2 80C51串行口结构 单片机应用技术 2 80C51串行口结构 单片机应用技术 串行口初始化具体步骤 确定T1的工作方式 编程TMOD寄存器 计算T1的初值 装载TH1 TL1 启动T1 编程TCON中的TR1位 确定串行口控制 编程SCON寄存器 串行口在中断方式工作时 还要进行中断设置 编程IE IP寄存器 2 80C51串行口结构 单片机应用技术 一 单片机与单片机的通信 点对点的通信硬件连接 3 串行口应用举例 单片机应用技术 单片机应用技术 设1号机是发送方 2号机是接收方 当1号机发送时 先发送一个 E1 联络信号 2号机收到后回答一个 E2 应答信号 表示同意接收 当1号机收到应答信号 E2 后 开始发送数据 每发送一个数据字节都要计算 校验和 假定数据块长度为16个字节 起始地址为40H 一个数据块发送完毕后立即发送 校验和 2号机接收数据并转存到数据缓冲区 起始地址也为40H 每接收到一个数据字节便计算一次 校验和 当收到一个数据块后 再接收1号机发来的 校验和 并将它与2号机求出的校验和进行比较 若两者相等 说明接收正确 2号机回答00H 若两者不相等 说明接收不正确 2号机回答0FFH 请求重发 1号机接到00H后结束发送 若收到的答复非零 则重新发送数据一次 双方约定采用串行口方式1进行通信 一帧信息为10位 其中有1个起始位 8个数据位和一个停止位 波特率为2400波特 T1工作在定时器方式2 振荡频率选用11 0592MHZ 查表可得TH1 TL1 0F4H PCON寄存器的SMOD位为0 3 串行口应用举例 单片机应用技术 发送程序清单如下 ASTART CLREAMOVTMOD 20H 定时器1置为方式2MOVTH1 0FDH 装载定时器初值 波特率 MOVTL1 0FDHMOVPCON 00HSETBTR1 启动定时器MOVSCON 50H 设定串口方式1 且准备接收应答信号ALOOP1 MOVSBUF 01H 发联络信号JNBTI 等待一帧发送完毕CLRTI 允许再发送JNBRI 等待2号机的应答信号CLRRI 允许再接收MOVA SBUF 2号机应答后 读至ACJNEA 02H ALOOP1 2号机未准备好 继续联络ALOOP2 MOVR0 30H 2号机准备好 设定数据块地址指针初值MOVR7 20H 设定数据块长度初值MOVR6 00H 清校验和单元 3 串行口应用举例 单片机应用技术 ALOOP3 MOVSBUF R0 发送一个数据字节MOVA R6ADDA R0 求校验和MOVR6 A 保存校验和INCR0JNBTI CLRTIDJNZR7 ALOOP3 整个数据块是否发送完毕MOVSBUF R6 发送校验和JNBTI CLRTIJNBRI 等待2号机的应答信号CLRRIMOVA SBUF 2号机应答 读至AJNZALOOP2 2号机应答 错误 转重新发送RET 2号机应答 正确 返回 3 串行口应用举例 单片机应用技术 接收程序清单如下 BSTART CLREAMOVTMOD 20HMOVTH1 0FDHMOVTL1 0FDHMOVPCON 00HSETBTR1MOVSCON 50H 设定串口方式1 且准备接收BLOOP1 JNBRI 等待1号机的联络信号CLRRIMOVA SBUF 收到1号机信号CJNEA 01H BLOOP1 不是1号机联络信号 再等待MOVSBUF 02H 是1号机联络信号 发应答信号JNBTI CLRTIBLOOP2 MOVR0 50H 设定数据块地址指针初值MOVR7 20H 设定数据块长度初值MOVR6 00H 清校验和单元 3 串行口应用举例 单片机应用技术 BLOOP3 JNBRI CLRRIMOVA SBUFMOV R0 A 接收数据转储INCR0ADDA R6 求校验和MOVR6 ADJNZR7 BLOOP3 判数据块是否接收完毕JNBRI 完毕 接收1号机发来的校验和CLRRIMOVA SBUFXRLA R6 比较校验和JZEND1 校验和相等 跳至发正确标志MOVSBUF 0FFH 校验和不相等 发错误标志SJMPBLOOP3END1 MOVSBUF 00HRET 3 串行口应用举例 单片机应用技术 多机通信硬件连接主从系统在实际系统中 常采用RS 485标准进行数据传输 3 串行口应用举例 单片机应用技术 通信协议所有从机的SM2置1 以接收地址帧主机发地址帧所有从机收到地址帧后 将收到地址与本机地址比较 相符的从机 使SM2置0 以接收随后的数据帧 并把本机地址发回主机作为应答不符的从机 保持SM2 1 对主机随后发来的数据帧不予理睬 从机发送数据结束后 要发送一帧校验和 并置第9位 TB8 为1 作为从机数据传送结束的标志 3 串行口应用举例 单片机应用技术 主机接收数据时先判断数据接收标志 RB8 若RB8 1 表示数据传送结束 并比较此帧校验和 若正确则回送正确信号00H 此信号命令该从机复位 即重新等待地址帧 若校验和出错 则发送0FFH 命令该从机重发数据 若接收帧的RB8 0 则存数据到缓冲区 并准备接收下帧信息 主机收到从机应答地址后 确认地址是否相符 如果地址不符 发复位信号 数据帧中TB8 1 如果地址相符 则清TB8 开始发送数据 从机收到复位命令后回到监听地址状态 SM2 1 否则开始接收数据和命令 3 串行口应用举例 单片机应用技术 应用程序主机发地址联络信号 00H 01H 02H 即从机设备地址 FFH为命令各从机复位 即恢复SM2 1 主机命令编码为 01H 主机命令从机接收数据 02H 主机命令从机发送数据 其它都按02H对待 RRDY 1 表示从机准备好接收 TRDY 1 表示从机准备好发送 ERR 1 表示从机接收的命令是非法的 程序分为主机程序和从机程序 约定一次传递数据为16个字节 以01H地址的从机为例 3 串行口应用举例 单片机应用技术 主机程序清单 设从机地址号存于40H单元 命令存于41H单元 MAIN MOVTMOD 20H T1方式2MOVTH1 0FDH 初始化波特率9600MOVTL1 0FDHMOVPCON 00HSETBTR1MOVSCON 0F0H 串口方式3 多机 准备接收应答LOOP1 SETBTB8MOVSBUF 40H 发送预通信从机地址JNBTI CLRTIJNBRI 等待从机对联络应答CLRRIMOVA SBUF 接收应答 读至AXRLA 40H 判应答的地址是否正确JZAD OK 3 串行口应用举例 单片机应用技术 AD ERR MOVSBUF 0FFH 应答错误 发命令FFHJNBTI CLRTISJMPLOOP1 返回重新发送联络信号AD OK CLRTB8 应答正确MOVSBUF 41H 发送命令字JNBTI CLRTIJNBRI 等待从机对命令应答CLRRIMOVA SBUF 接收应答 读至AXRLA 80H 判断应答是否正确JNZCO OKSETBTB8SJMPAD ERR 错误处理 3 串行口应用举例 单片机应用技术 CO OK MOVA SBUF 应答正确 判是发送还是接收XRLA 01HJZSE DATA 从机准备好接收 可以发送MOVA SBUFXRLA 02HJZRE DATA 从机准备好发送 可以接收LJMPSE DATARE DATA MOVR6 00H 清校验和接收16个字节数据MOVR0 30HMOVR7 10H 3 串行口应用举例 单片机应用技术 LOOP2 JNBRI CLRRIMOVA SBUFMOV R0 AINCR0ADDA R6MOVR6 ADJNZR7 LOOP2JNBRI CLRRIMOVA SBUF 接收校验和并判断XRLA R6JZXYOK 校验正确MOVSBUF 0FFH 校验错误JNBTI CLRTILJMPRE DATA 3 串行口应用举例 单片机应用技术 XYOK MOVSBUF 00H 校验和正确 发00HJNBTI CLRTISETBTB8 置地址标志LJMPRETENDSE DATA MOVR6 00H 发送16个字节数据MOVR0 30HMOVR7 10HLOOP3 MOVA R0MOVSBUF AJNBTI CLRTIINCR0ADDA R6MOVR6 ADJNZR7 LOOP3 3 串行口应用举例 单片机应用技术 MOVA R6MOVSBUF A 发校验和JNBTI CLRTIJNBRI CLRRIMOVA SBUFXRLA 00HJZRET END 从机接收正确SJMPSE DATA 从机接收不正确 重新发送RET END RET 3 串行口应用举例 单片机应用技术 从机程序清单 设本机号存于40H单元 41H单元存放 发送 命令 42H单元存放 接收 命令 MAIN MOVTMOD 20H 初始化串行口MOVTH1 0FDHMOVTL1 0FDHMOVPCON 00HSETBTR1MOVSCON 0F0HLOOP1 SETBEA 开中断SETBESSETBRRDY 发送与接收准备就绪SETBTRDYSJMPLOOP1 3 串行口应用举例 单片机应用技术 SERVE PUSHPSW 中断服务程序PUSHACCCLRESCLRRIMOVA SBUFXRLA 40H 判断是否本机地址JZSER OKLJMPENDI 非本机地址 继续监听SER OK CLRSM2 是本机地址 取消监听状态MOVSBUF 40H 本机地址发回JNBTI CLRTIJNBRI CLRRIJBRB8 ENDII 是复位命令 恢复监听MOVA SBUF 不是复位命令 判是 发送 还是 接收 XRLA 41HJZSERISE 收到 发送 命令 发送处理MOVA SBUFXRLA 42HJZSERIRE 收到 接收 命令 接收处理SJMPFFML 非法命令 转非法处理 3 串行口应用举例 单片机应用技术 SERISE JBTRDY SEND 从机发送是否准备好MOVSBUF 00HSJMPWAIT01SEND MOVSBUF 02H 返回 发送准备好 WAIT01 JNBTI CLRTIJNBRI CLRRIJBRB8 ENDII 主机接收是否准备就绪LCALLSE DATA 发送数据LJMPENDFFML MOVSBUF 80H 发非法命令 恢复监听JNBTI CLRTILJMPENDIISERIRE JBRRDY RECE 从机接收是否准备好MOVSBUF 00HSJMPWAIT02 3 串行口应用举例 单片机应用技术 RECE MOVSBUF 01H 返回 接收准备好 WEIT02 JNBTI CLRTIJNBRI CLRRIJBRB8 ENDII 主机发送是否就绪LCALLRE DATA 接收数据LJMPENDENDII SETBSM2ENDI SETBESEND POPACCPOPPSWRETI 3 串行口应用举例 单片机应用技术 SE DATA CLRTRDY 发送数据块子程序MOVR6 00HMOVR0 30HMOVR7 10HLOOP2 MOVA R0MOVSBUF AJNBTI CLRTIINCR0ADDA R6MOVR6 ADJNZR7 LOOP2 数据块发送完毕 MOVA R6MOVSBUF AJNBTI 发送校验和CLRTIJNBRI CLRRIMOVA SBUFXRLA 00H 判发送是否正确JZSEND OKSJMPSE DATA 发送错误 重发 3 串行口应用举例 单片机应用技术 SEND OK SETBSM2 发送正确 继续监听SETBESRETRE DATA CLRRRDY 接收数据块子程序MOVR6 00HMOVR0 30HMOVR7 10H 3 串行口应用举例 单片机应用技术 LOOP3 JNBRI CLRRIMOVA SBUFMOV R0 AINCR0ADDA R6MOVR6 ADJNZR7 LOOP3 接收数据块完毕 JNBRI 接收校验和CLRRIMOVA SBUFXRLA R6 判断校验和是否正确JZRECE OKMOVSBUF 0FFH 校验和错误 发FFHJNBTI CLRTILJMPRE DATA 重新接收 3 串行口应用举例 单片机应用技术 RECE OK MOVA 00H 校验和正确 发00HMOVSBUF AJNBTI CLRTISETBSM2 继续监听SETBESRET 3 串行口应用举例 单片机应用技术 6 3 2单片机与PC机的通信 应用系统设计中 单片机与PC机可以方便地组合成分布式控制
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (2025年标准)合伙协议足疗协议书
- (2025年标准)苗木意向采购协议书
- 2025年新大学就业服务协议书
- (2025年标准)猥亵和解协议书
- 2025年资产配置融资协议书
- (2025年标准)邻里互助协议书
- (2025年标准)土方联营协议书
- 供暖设备退换货协议
- 家政服务承包协议书格式范文
- 2026届安徽省铜陵市枞阳县浮山中学化学高三上期末经典模拟试题含解析
- T/CSPSTC 75-2021微动探测技术规程
- 素描构图与透视教案
- 体育培训入股协议书
- 2025年职工技能大赛考核试题及答案
- 仓库运输管理方案计划
- 2025年“铸牢中华民族共同体意识”应知应会知识竞赛题库试卷及答案
- 云计算环境下的数据安全与隐私保护研究
- 传媒入股协议合同
- 《高效能电机》课件
- 汽车维护与保养 任务工单1 发动机油液与滤清器检查及更换
- 外科腹腔镜手术护理
评论
0/150
提交评论