第1讲串口工作方式1.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第1讲串口工作方式1

单片机项目四 单片机通信 项目基本任务:双机通讯 甲方按键‘1’并向乙方发出指令,乙方播放音乐 扩展任务:多机通信 拓扑:总线 协议:主从式,轮询法 通信的硬件设计 串口通讯硬件设计 三线连接 甲机的TXD与乙机的RXD相连, 甲机的RXD与乙机的TXD相连, 双机共地。 三线通讯的传输距离 与传输速率有关:速率越高,距离越近,当速率超过1000 bps 时,最大传输距离迅速下降,如9600 bps 时最大距离下降到只有76m?,速率最大115200bps ?(?处请实验) 与传输线的电气特性有关:当传输线使用每0.3m(约1英尺)有50PF电容的非平衡屏蔽双绞线时, 传统TTL电平的传输距离1m5?以内;如果采用电平转换,使用RS232电平进行传输,范围15m以内 什么是TTL transistor transistor logic 晶体管-晶体管逻辑集成电路 TTL信号系统:+5V等价于逻辑“1”,0V等价于逻辑“0” ,对应于二进制数据 TTL电平信号被利用的最多,对于设备内部的传输很理想:不需要线路驱动器以及接收器 ,高速率, 双机通讯 双机通讯实物 下方机按钮控制上方机的灯 上方机传回数据在下方机的灯上显示 串口通信软件设计 串口的工作方式1、2、3都是异步通讯 通信速率设置 发送接收数据的编程控制 同步通信 同步通信时要建立发送方时钟对接收方 时钟的直接控制,使双方达到完全同步。 传输数据的位之间的距离均为“位间隔”的 整数倍,同时传送的字符间无间隙,即保持位同步关系,也保持字符同步关系。 异步通信的数据格式 : 异步通信的基本概念 通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程。 为使双方的收发协调,要求发送和接收设备的时钟保持一致。 异步的概念 异步通信是以字符(构成的帧)为单位进行传输 字符与字符之间的间隙(时间间隔)是任意的,即字符之间是异步的 同一字符内的各位是同步的 80C51的串行口 数据缓冲器、速率发生器T1,发送接收完毕标记位TI、RI 引脚RXD接收数据,TXD发送数据 时钟,各自使用时钟 51串口工作方式的设置 51串口工作方式1 方式1 输入时序 编程收发数据 -----推荐中断方式 51单片机的串口是个全双工的串口,发送数据的同时,还可以接收数据。 当串行发送完毕后,将在标志位 TI 置 1,同样,当收到了数据后,也会在 RI 置 1。 无论 RI 或 TI 出现了 1,只要串口中断处于开放状态,单片机都会进入串口中断处理程序。 在中断程序中,要区分出来究竟是发送引起的中断,还是接收引起的中断,然后分别进行处理。 串行口方式1初始化 确定串行口工作方式(编程SCON寄存器) 开串口中断 设置T1的工作方式(编程TMOD寄存器); 计算T1的初值,装载TH1、TL1; 启动T1 串口通信的接收过程 :异步 1)开始通信时,信号线为空闲(逻辑1),当检测到由1到0的跳变时,开始对“接收时钟”计数。 2)当计到8个时钟时,对输入信号进行检测,若仍为低电平,则确认这是“起始位”,而不是干扰信号。 3)接收端检测到起始位后,隔16个接收时钟,对输入信号检测一次,把对应的值作为D0位数据。若为逻辑1, 作为数据位1;若为逻辑0,作为数据位0。 4)再隔16个接收时钟,对输入信号检测一次,把对应的值作为D1位数据。….,直到全部数据位都输入。 串口通信的接收过程 :异步 5)检测校验位P(如果有的话)。 6)接收到规定的数据位个数和校验位后,通信接口电路希望收到停止位S(逻辑1),若此时未收到逻辑1,说明出现了错误,在状态寄存器中置“帧错误”标志。若没有错误,对全部数据位进行奇偶校验,无校验错时,把数据位从移位寄存器中送数据输入寄存器。若校验错,在状态寄存器中置奇偶错标志。 7)本幀信息全部接收完,把线路上出现的高电平作为空闲位。 8)当信号再次变为低时,开始进入下一幀的检测。 甲机发送信息给乙机, 按键 LED灯或LED数码管 程序流程图 程序流程图 波特率与比特率 波特率表示每秒钟调制信号变化的 次数 ,单位是: 波特 (Baud)。波特率和比特率不总是相同的 比特率是每秒钟传输二进制代码的 位数 ,单位是:位/秒(bps)。 对于将数字信号1或0直接用两种不同电压表示的所谓 基带 传输,比特率和波特率是 相同 的。 我们也经常用波特率表示数据的传输速率。 波特率的计算 波特率,通信的速率,在串行通信中,收发双方设置相同的速率。 波特率=发送接收时钟/n 同步通信,n=1,波特率等于时钟 方式0的波特率 = fosc/12 异步通信,n=16,32,64 波特率的计算 串口方式0和方式

文档评论(0)

书是爱的奉献 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档