第7章 串行口综述.ppt

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

第7章 AT89S51单片机的 串行口;内容概要 介绍AT89S51串行口的基本工作原理、4种工作方式以及串行口多机通信的工作原理,还介绍各种常用的串行通信的接口标准,以及串行通信的C51编程。;串行与并行的比喻;串行通信的基本特征是数据逐位顺序进行传送 串行通信的格式及约定(如:同步方式、通讯速率、数据块格式、信号电平……等)不同,形成了多种串行通信的协议与接口标准。 常见的有: 通用异步收发器(UART)——本讲介绍的串口 通用串行总线(USB) I2C总线,CAN总线,SPI总线,RS-232C,RS-485,RS422A标准……等等;全双工串行接口(UART);7.1 串行口的结构 ;7.1.1 串行口控制寄存器SCON 图7-2 串行口控制寄存器SCON的格式; 7.1.2 特殊功能寄存器PCON 图7-3 特殊功能寄存器PCON的格式 ;7.2 串行口的4种工作方式 4种工作方式由SCON中SM0、SM1位定义 7.2.1 方式0 同步移位寄存器输入/输出方式。该方式并不用于两个AT89S51单片机之间的异步串行通信,而是用于串行口外接移位寄存器,扩展并行I/O口。 8位数据为一帧,无起始位和停止位,先发送或接收最低位。波特率为fosc/12。帧格式如图7-4。 图7-4 方式0的帧格式 ;1.方式0输出 (1)方式0输出的工作原理 当执行一条将数据写入发送缓冲器SBUF指令时,产生一个正脉冲,串行口开始把SBUF中的8位数据以fosc/12的固定波特率从RXD引脚串行输出,低位在先,TXD引脚输出同步移位脉冲,发送完8位数据,中断标志位TI置“1”。 发送时序如图7-5。 ; 图7-5 方式0发送时序 ;(2)方式0输出的应用 典型应用是外扩串行输入/并行输出的同步移位寄存器74LS164,实现并行输出端口的扩展。 图7-6为串行口工作在方式0,通过74LS164的输出来控制8个外接LED发光二极管亮灭的接口电路。当串行口被设置在方式0输出时,串行数据由RXD端(P3.0)送出,移位脉冲由TXD端(P3.1)送出。在移位脉冲的作用下,串行口发送缓冲器的数据逐位地从RXD端串行地移入74LS164中。 ;*; 【例7-1】如图7-6所示,编写程序控制8个发光二极管轮流点亮。 图中74LS164的CLK端为同步脉冲输入端,CLR为控制端,当CLR=0时,允??串行数据从A和B端输入但是8位并行输出端关闭;当CLR=1时,A和B输入端关闭,但是允许74LS164中的8位数据并行输出。当8位串行数据发送完毕后,引起中断,在中断服务程序中,单片机通过串行口输出下一个8位数据。 采用中断方式的参考程序如下。 ; #include reg51.h #include stdio.h sbit P1_0=0x90; xdata char nSendByte; delay( ); main( ) { SCON=0x00; /* 设置串行口为方式0*/ EA=1; /* 全局中断允许 */ ES=1; /* 允许串行口中断 */ nIndex=1; SBUF=nSendByte; P1_0=0; for(;;) { } };void Serial_Port( ) interrupt 4 using 0 { if(TI==1) { P1_0=1; delay( ); P1_0=0; nSendByte=1; if(nSendByte==0) nSendByte =1; SBUF=nSendByte; } TI=0; RI=0; } delay( ) { int nCounter; for(nCounter=0;nCounter128;nCounter++); };2.方式0输入 (1)方式0输入工作原理 方式0接收,REN为允许接收控制位,REN=0,禁止接收;REN?=?1,允许接收。 当向SCON寄存器写入控制字(设置为方式0,并使REN位置“1”,同时RI?=?0)时,产生一个正脉冲,串行口开始接收数据。 引脚RXD为数据输入端,TXD为移位脉冲信号输出端,接收器以fosc/12的固定波特率采样RXD引脚的数据信息,当接收完8位数据时,中断标志RI置“1”,表示一帧数据接收完毕,可进行下一帧数据的接收,时序如图7-7。 ;图7-7 方式0接收时序;(2)方式0输入应用举例 【例7-2】图7-8为串口外接一片8位并行输入、串

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档