第6章80C51单片机的串行口2.ppt

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

6.1 计算机串行通信基础 什么是通信? 信息的交换 说废话不算通信 信息量为0,信息量与概率相关 没有接收终端的不算通信 没有信息交换 计算机通信是指计算机与外部设备或计算机与计算机之间的信息交换。 通信有并行通信和串行通信两种方式。在多微机系统以及现代测控系统中信息的交换多采用串行通信方式。 并行通信 通常是将数据字节的各位用多条数据线同时进行传送 。 并行通信特点:控制简单、传输速度快;由于传输线较多,长距离传送时成本高且接收方的各位同时接收存在困难。 异步通信 以字符(构成的帧)为单位进行传输,字符与字符之间的间隙(时间间隔)是任意的,但每个字符中的各位是以固定的时间传送的,即字符之间是异步的,但同一字符内的各位是同步的。 异步通信 特点: 不要求收发双方时钟的严格一致,实现容易,设备开销较小,但每个字符要附加2~3位用于起止位,各帧之间还有间隔,因此传输效率不高。 PC机上的RS-232接口是典型的异步通信的接口。 80C51的串行口属于异步收发器(UART)。 串行同步通信方式 同步通信时要建立发送方时钟对接收方时钟的直接控制,使双方达到完全同步。此时,传输数据的位之间的距离均为“位间隔”的整数倍,同时传送的字符间不留间隙,即保持位同步关系,也保持字符同步关系。 串行通信接口种类 根据串行通信格式及约定(如同步方式、通信速率、数据块格式等)不同,形成了许多串行通信接口标准,如常见的: UART(串行异步通信接口) USB(通用串行总线接口) I2C(集成电路间的串行总线) SPI(串行外设总线) 485总线 CAN总线接口等。 串行口由发送电路和接收电路两部分组成。图中有两个物理上独立的串行口接收、发送缓冲器SBUF。 SBUF(发送)用于存放将要发送的字符数据;SBUF(接收)用于存放串行口接收到的字符数据,数据的发送、接收可同时进行。 SBUF(发送)和SBUF(接收)同属于特殊功能寄存器SBUF,占用同一个地址99H。但发送缓冲器只能写入,不能读出;接收缓冲器只能读出,不能写入。因此,对SBUF进行写操作时,是把数据送入SBUF(发送)中;对SBUF进行读操作时,读出的是SBUF(接收)中的数据。 1.串口发送过程 2.串口接收过程 方式0 RXD(P3.0)引脚用于输入或输出数据 TXD(P3.1)引脚用于输出同步移位脉冲。 波特率固定为fosc/12。 发送和接收均为8位数据,低位在前,高位在后。 串口工作于方式0时,SM2、RB8和TB8皆不起作用,通常将它们均设置为0状态。 74164是种串行转并行的IC 74HCT164 是 8 位边沿触发式移位寄存器 串行输入数据,然后并行输出。 数据通过两个输入端(DSA 或 DSB)之一串行输入;任一输入端可以用作高电平使能端,控制另一输入端的数据输入。两个输入端或者连接在一起,或者把不用的输入端接高电平,一定不要悬空。 时钟?(CP)?每次由低变高时,数据右移一位,输入到?Q0,?Q0?是两个数据输入端(DSA?和?DSB)的逻辑与,它将上升时钟沿之前保持一个建立时间的长度。 主复位?(MR)?输入端上的一个低电平将使其它所有输入端都无效,同时非同步地清除寄存器,强制所有的输出为低电平。 例:用89C51串行口外接74LS164串入-并出移位寄存器扩展8位并行口;8位并行口的每位都接一个发光二极管,要求发光二极管从左到右以一定延迟轮流显示,并不断循环。设发光二极管为共阴极接法,如图所示。 部分程序清单: ORG 0023H ;串行口中断入口 AJMP SBR ;转入串行口中断服务程序 ORG 2000H ;主程序起始地址 MAIN: MOV SCON ,#00H ;串行口方式0初始化 MOV A ,#80H ;最左边一位发光二极管先亮 SETB P1.0 ;允许并行输出 SETB ES ;允许串行口中断 SETB EA ;CPU开中断 MOV SBUF,A ;开始串行输出 LOOP : SJMP $ ;等待中断 SBR : ACALL DELAY ;显示延迟一段时间 CLR TI ;清发送中断标志 RR A ;准备右边一位

文档评论(0)

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

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

1亿VIP精品文档

相关文档