第7章89C51的串行口.ppt

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

什么是串行通信?串行通信和并行通信同步通信同步通信时要建立发送方时钟对接收方时钟的直接控制,使双方达到完全同步。在发送一组数据时,只在开始用1~2个同步字符作为双方取得同步的号令,然后连续发送整组数据。不像异步通信那样将字符一个一个地分开来传送。二、89C51的串行接口概述有一个可编程全双工串行通信接口(UART)(UniversalAsychronousReceiver/Transmitter)管脚:TXD(P3.1)、RXD(P3.0)可同时发送、接收数据(Transmit/Receive)有四种工作方式,帧格式有8、10、11位。波特率(Baudrate)可设置波特率:每秒钟传送二进制数码的位数,也叫比特数,单位为b/s,即位/秒。89C51串行接口的结构89C51串行接口寄存器SBUF——串行口数据缓冲器共两个:一个发送寄存器SBUF,一个接收SBUF,二者共用一个地址99H。SCON——串行口控制寄存器PCON——电源及波特率选择寄存器(1)控制寄存器SCON(1)SM0、SM1——串行口4种工作方式的选择位SM0SM1方式 功能说明000同步移位寄存器方式(用于扩展I/O口)0118位异步收发,波特率可变(由定时器控制)1029位异步收发,波特率为fosc/64或fosc/321139位异步收发,波特率可变(由定时器控制)(2)电源及波特率选择寄存器PCON三、串行口四种工作方式方式的选择由SCON串行口控制寄存器中的SM1、SM0实现。方式0方式1方式2方式389C51串行口的波特率1.多机通信原理要保证主机与所选择的从机实现可靠的通信,必须保证通信接口具有识别功能。89C51串行控制寄存器中的SM2就是为了满足这一要求而设置的多机控制位。多机控制原理如下:若SM2=1(在串行口以方式2或方式3接收时),表示置多机通信功能位,这时出现两种可能的情况:接收到的第9位数据为1,数据装入SBUF,并置RI=1,向CPU发出中断请求。接收到的第9位数据为0,不产生中断,信息将被丢失。若SM2=0,则接收到的第9位信息无论是0还是1,都产生RI=1的中断标志,接收到的数据装入SBUF。根据这个功能,便可实现多个89C51系统的串行通信。多机通信的过程如下:(1)从机串行口编程为方式2或方式3接收(2)使所有从机的SM2=1,处于准备接收一帧地址数据的状态。(3)主机设第9位数据为1,发送一帧地址信息,与所需的从机进行联络,由于RB8=1,则中断标志RI置1,各从机响应中断。(4)在中断服务程序中,各从机将接收到的地址与自己的地址相比较,对于地址相符的从机,使SM2=0,以接收主机随后发来的所有信息;对于地址不相符的从机,仍保持SM2=1状态,对主机随后发来的数据不理睬,直至发送新的一帧地址信息。五、串行口的编程与应用如果双机通信距离在30m之内,可利用RS-232C标准接口实现点对点的双机通信RS-232C是使用最早、应用最多的一种异步串行通信总线标准,它主要用来定义计算机系统的一些数据终端设备(DTE)和数据电路终接设备(DCE)之间的接口的电气特性。CRT、打印机与CPU的通信大都采用RS-232C接口。由于89C51系列单片机本身有一个异步串行通信接口,因此,该系列单片机用RS-232C串行接口总线极为方便。由于RS-232C,它使用负逻辑,其低电平“0”在+5~+15V之间,高电平“1”在-5~-15V之间。因此,RS-232C不能和TTL电平直接相连,使用时必须加上适当的接口否则将使TTL电路烧毁。设定波特率。串行口的波特率有两种,即固定波特率和可变波特率。当使用可变波特率时,应先计算T1的计数初值,并对相应定时器进行初始化;如使用固定波特率(方式0、方式2),则此步骤可以省略。填写控制字。即对SCON寄存器设定工作方式,如果是接收程序或双工通信方式,需要置REN=1(允许接收),同时也要将TI、RI进行清零。采用查询和中断两种方式。TI和RI是一帧数据是否发送完或收齐的标志,可用于CPU查询;如果允许,也可以向CPU申请中断。两种方式的编程方法如下:查询式发送程序:发送一个数据→查询TI→发送下一个数据(先发后查)。查询式接收程序:查询RI→读入一个数据→查询RI→读下一个数据(先查后收)。中断式发送程序:发送一个数据→等待中断→在中断服务程序中发送下一个数据。中断式接收程序:等待中断→在中断服务程序中接收一个数据。两种方式中,发送和接收数据后都要注意清零TI或

文档评论(0)

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

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

1亿VIP精品文档

相关文档