第7章 单片机串行口.ppt

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

数据通信 在实际工作中,计算机的CPU与外部设备之间常常要进行信息交换,一台计算机与其他计算机之间也往往要交换信息,所有这些信息交换均可称为通信。 通信方式有两种,即并行通信和串行通信。 通常根据信息传送的距离决定采用哪种通信方式。 例如,在PC机与外部设备(如打印机等)通信时,如果距离小于30m,可采用并行通信方式;当距离大于30m时,则要采用串行通信方式。89S51单片机具有并行和串行二种基本通信方式。 数据通信 并行通信是指数据的各位同时进行传送(发送或接收)的通信方式。 其优点是传送速度快; 缺点是数据有多少位,就需要多少根传送线。 例如,89S51单片机与打印机之间的数据传送就属于并行通信。 并行通信是位数多、但若传送距离远就不太合适了。 数据通信 串行通信指数据是一位一位按顺序传送的通信方式。 它的突出优点是只需一对传输线(利用电话线就可作为传输线),这样就大大降低了传送成本,特别适用于远距离通信; 其缺点是传送速度较低。假设并行传送N位数据所需时间位T,那么串行传送的时间至少为NT,实际上总是大于NT的. 串行通信的传输方式 串行通信的传送方向通常有三种: 单向(或单工)配置,只允许数据向一个方向传送; 半双向(或半双工)配置,允许数据向两个方向中的任一方向传送,但每次只能有一个站点发送; 全双向(全双工)配置,允许同时双向传送数据,因此,全双工配置是一对单向配置,它要求两端的通信设备都具有完整和独立的发送和接受能力。 串行通信中的数据传送方式 异步通信和同步通信 串行通信有两种基本通信方式,即异步通信和同步通信。 1、异步通信 在异步通信中,数据是一帧一帧(包括一个字符代码或一字节数据)传送的. 在帧格式中,一个字符由四个部分组成:起始位、数据位、奇偶校验位和停止位。首先是一个起始为(0),然后是5位--8位数据(规定低位在前,高位在后),接下来是奇偶校验位(可省略),最后是停止位(1)。 1、异步通信 起始位(0)占用一位,用来通知接收设备一个待接收的字符开始到达。线路上在不传送字符时应保持为1。接收端不断检测线路的状态,若连续为1以后又测到一个0,就知道发来一个新字符, 应马上准备接收。字符的起始位还被用作同步接收端的时钟,以保证以后的接收能正确进行。 起始位后面紧接着是数据位. 奇偶校验(D8)只占一位,但在字符中也可以规定不用奇偶校验位,则这一位就可省去。也可用这一位(1/0)来确定这一帧中的字符所代表信息的性质(地址/数据等)。 停止位用来表征字符的结束,它一定是高电平(逻辑1)。接收端收到停止位后,知道上一字符已传送完毕,同时,也为接收下一个字符做好准备--只要再接收到0,就是新的字符的起始位。若停止位以后不是紧接着传送下一个字符,则使线路电平保持为高电平(逻辑1)。 (6)TI——发送中断标志位 方式0,串行发送的第8位数据结束时硬件置TI=1; 在其他方式中,串行口发送停止位的开始时置TI 为“1”。 TI?=1:一帧数据发送结束。可供软件查询,也可申请中断。CPU响应中断后,在中断服务程序中向SBUF写入要发送的下一帧数据。TI必须由软件清“0”。 (7)RI——接收中断标志位 方式0时,接收完第8位数据时,RI由硬件置“1”。在其他方式中,接收到停止位,该位置“1”。RI?=?1,表示一帧数据接收完毕,并申请中断,要求CPU从接收SBUF取走数据。该位的状态也可供软件查询。RI必须由软件清“0”。 ★ SCON的所有位都可进行位操作清“0”或置“1”。 7.4 波特率的制定方法 在串行通信中,收发双方对发送或接收的数据速率有一定的约定,通过软件对89S51串行口编程可约定四种工作方式。其中,方式0和方式2的波特率是固定的; 而方式1和方式3的波特率是可变的,由定时器T1的溢出率来决定。 串行口的四种工作方式对应着三种波特率。由于输入的移位时钟来源不同,因此,各种方式的波特率计算公式也不同。 7.4.1、波特率(Baud rate) 波特率,即数据传送速率,表示每秒钟传送二进制代码的位数,它的单位是b/s。波特率对于CPU与外界的通信是很重要的。 假设数据传送速率是120字符/s,而每个字符格式包含(1个起始位、1个终止位、8个数据位)。传送的波特率为: 10b/字符×120字符/s=1200b/s 每一位代码的传送时间Td为波特率的倒数。 异步通信的传送速率在50b/s--19200b/s之间,常用于计算机到终端机和打印机之间的通信、直通电报以及无线电通信的数据发送等。 不同工作方式的定时器,波特率不一样。 (1)方式0的波特率 方式0时,即每个机器周期产生一个移位时钟,发送或接收一位数据。因此,波特率固定为振荡频率的1/12,并不受PCON寄存器中SMOD

文档评论(0)

wyjy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档