51单片机串行口课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《51单片机串行口课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 51 单片机 串行口 课件
- 资源描述:
-
1、第7章 51单片机的串行口1目录7.1 概述7.2 51单片机的串行接口结构7.2.1 数据缓冲寄存器 SBUF7.2.2 串行口控制寄存器SCON7.3 串行口工作模式7.4 波特率与定时器初值的计算7.5 串行口的应用串行口的应用7.1 并行通信与串行通信并行通信与串行通信需要多条数据线需要多条数据线 适于近距离高速通信适于近距离高速通信使用一条数据线。使用一条数据线。实现远距离、低成本的数据传输实现远距离、低成本的数据传输缺点:传输速度慢缺点:传输速度慢.串行通信与并行通信通信的两种基本方式(a)串行通信;(b)并行通信(a)(b)串行通信基本特点串行通信:串行通信:每个时间单位仅传送一
2、位信息;每个时间单位仅传送一位信息;每个字符每个字符(字节字节)的各位依次传送。的各位依次传送。串行通信的传输速率串行通信的传输速率n波特率波特率:每秒钟传输二进制位的个数。每秒钟传输二进制位的个数。单位单位:bps(bits per second)位位/秒秒串行通信的时钟信号:串行通信的时钟信号:串行通信需要一个串行通信需要一个时钟信号时钟信号来作为数据的定时参考。来作为数据的定时参考。发送器:用时钟来决定何时发送每一位数据发送器:用时钟来决定何时发送每一位数据接收器:用时钟来决定何时读取每一位数据。接收器:用时钟来决定何时读取每一位数据。基于时钟信号,串行通信分为:基于时钟信号,串行通信分
3、为:异步串行通信和同步串行通信异步串行通信和同步串行通信同步串行通信和异步串行通信同步串行通信和异步串行通信串行通信-异步串行通信n特点特点:(1)(1)数据是以字符或字节为单位组成字符帧传送。数据是以字符或字节为单位组成字符帧传送。字符间允许间断。字符间允许间断。(2)(2)发送与接收时钟相互独立。发送与接收时钟相互独立。发送方局部时钟1 接收方局部时钟2异步串行通信:发异步串行通信:发/收双方采用本地局部时钟收双方采用本地局部时钟异步串行通讯n数据帧:数据帧:字符帧字符帧 “起始位起始位”+“+“数据位数据位”+(+(可选择的奇可选择的奇/偶校验位)偶校验位)+“+“停止位停止位”异步通讯
4、异步通讯双方必须约定:双方必须约定:使用相同的波特率和字符帧格式。使用相同的波特率和字符帧格式。双方可以使用独立的时钟。双方可以使用独立的时钟。D7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D0起始位起始位停止位停止位01异步串行通信字符帧的格式异步串行通信字符帧的格式空闲位空闲位校验位校验位串行通信-同步串行通信同步串行通信n特点:特点:(1)连续的数据块传输,字符间无间隙。连续的数据块传输,字符间无间隙。(2)通信双方使用统一的时钟。通信双方使用统一的时钟。n要求:要求:通信双方帧格式通信双方帧格式、波特率波特率、时钟完全一致时钟完全一致 发送方时钟 接收方同步串行通信:发同
5、步串行通信:发/收双方采用统一时钟收双方采用统一时钟同步串行通信帧格式同步串行通信帧格式同步字段同步字段字符1 字符2.字符N 校验字段校验字段字符流传输帧格式字符流传输帧格式同步字段同步字段b0 b1 b2 b3 b4 b5 .bn CRC 校验校验二进制位流传输帧格式二进制位流传输帧格式发送数据发送数据(61H)位01100001发送方在时钟信号的下降沿发送数据位发送方在时钟信号的下降沿发送数据位时钟时钟接收方在时钟信号的上升沿接收数据位接收方在时钟信号的上升沿接收数据位1100001接收数据接收数据(61H)0同步串行通信同步串行通信内部结构如图7-1所示。接收、发送缓冲器接收、发送缓冲
6、器SBUF:物理上独立,物理上独立,可同时发送、接收数据。发送缓冲器发送缓冲器只能写入不能读出接收缓冲器接收缓冲器只能读出不能写入两个缓冲器共用一个特殊功能寄存器字节地址共用一个特殊功能寄存器字节地址(99H)。控制寄存器:特殊功能寄存器SCON和PCON。137.2 51单片机串行口的结构单片机串行口的结构14图图7-1 51串行口的内部结构图串行口的内部结构图n发送数据:发送数据:CPU写写SBUF:MOV SBUF,An接收数据接收数据:CPU读读SBUF:MOV A,SBUF51 TXDRXD 串行口控制寄存器SCON 地址:98HnSM0 SM1:串行口工作模式选择位。串行口工作模式
7、选择位。SM0SM1SM2RENTB8RB8TIRISM0 SM1模式模式功功 能能波特率波特率 0 00同步移位寄存器模式同步移位寄存器模式Fosc/12 0 118位异步通信位异步通信UART可变可变 1 029位异步通信位异步通信UARTFosc/64或或/32 1 139位异步通信位异步通信UART可变可变SCONnRI:完成一帧数据接收完成一帧数据接收标志标志初始应软件清零初始应软件清零,一帧接收完成后,一帧接收完成后RI=1,并申请中断,并申请中断 (如果中断开放,则引发中断);(如果中断开放,则引发中断);nTI:完成一帧数据发送完成一帧数据发送标志标志初始应软件清零初始应软件清
8、零,一帧发送完成后,一帧发送完成后TI=1,同时申请中断,同时申请中断(如果中断开放,则引发中断);(如果中断开放,则引发中断);返回前一次SM0SM1SM2RENTB8RB8TIRISCONnRB8:在模式在模式2、3时时,本机作为接收方时,接收到的第本机作为接收方时,接收到的第9位数据;位数据;nTB8:在模式在模式2、3时时,本机作为发送方时将要发送的第本机作为发送方时将要发送的第9位数据;位数据;nREN:允许接收位允许接收位,REN=1时允许接收时允许接收.由软件置位或清零。由软件置位或清零。返回前一次SM0SM1SM2RENTB8RB8TIRISCONnSM2:方式方式2 2或或3
9、 3时的时的多机通信多机通信使能位使能位.(模式(模式0 0、1 1时时SM2SM2不用,设为不用,设为0 0)模式模式2 2、3 3时时:对接收方起作用对接收方起作用SM2=0SM2=0:无论:无论RB8RB8如何,如何,RIRI都能被激活(都能被激活(RI=1RI=1)。)。SM2=1SM2=1:接收方能否真正接收数据,取决于收到的第:接收方能否真正接收数据,取决于收到的第9 9位位RB8RB8 SM2=1 SM2=1;RB8=0RB8=0时时,RI,RI不会被激活;不会被激活;SM2=1SM2=1;RB8=1RB8=1时,时,RIRI被激活被激活=1=1,并引发中断。,并引发中断。SM2
10、=1 SM2=1 用于多机通信:由用于多机通信:由发送方发送方来控制来控制接收方的数据接收接收方的数据接收。SM0SM1SM2RENTB8RB8TIRISCON如何使用如何使用RIRI,TITI标志完成接收、发送?标志完成接收、发送?CPUCPU通过通过RIRI,TITI标志标志了解了解SBUFSBUF的发送、接收的状态,的发送、接收的状态,以便决定后续操作以便决定后续操作。使用使用RIRI标志完成接收标志完成接收-中断方式中断方式RIRI(SCON.0SCON.0):接收完成标志接收完成标志。1)从从RXDRXD接收完一个完整的数据帧接收完一个完整的数据帧2)并将并将数据数据从从移位寄存器送
11、到移位寄存器送到SBUF时时RI=1RI=1。如果如果串口中断是开放串口中断是开放的,则的,则RIRI=1=1时会自动引发中断。时会自动引发中断。用户通过用户通过串口串口中断服务程序中断服务程序将将SBUFSBUF中的数据取出送累加器中的数据取出送累加器A A。MOV A,SBUFMOV A,SBUF 中断方式接收数据;中断方式接收数据;使用使用RIRI标志完成接收标志完成接收-查询方式查询方式使用使用查询查询的方式对的方式对RIRI进行检测,进行检测,如果如果RI=1RI=1则执行:则执行:MOV A,SBUFMOV A,SBUF 查询方式接收数据查询方式接收数据 否则等待否则等待 。使用查
12、询使用查询RIRI标志方式接收标志方式接收N N个数据个数据SETB SCON.RENMOV A,SBUFRI=1?N个数据接收完?个数据接收完?YESNOYESNOCLR SCON.RI A送数据接收缓冲区送数据接收缓冲区修改数据指针修改数据指针nTI(SCON.1):发送完成标志发送完成标志。MOV SBUF,AMOV SBUF,A;数据从;数据从CPUCPU送送串口发送缓冲器串口发送缓冲器数据数据从从SBUF送到移位寄存器,送到移位寄存器,通过通过TXDTXD向外串行发送数据。向外串行发送数据。当完成一帧数据的发送后,当完成一帧数据的发送后,TI=1TI=1。使用使用TITI标志完成发送
13、标志完成发送nTI(SCON.1):发送完成标志发送完成标志。当完成一帧数据的发送后,当完成一帧数据的发送后,TI=1TI=1。如果系统中断是开放的,则如果系统中断是开放的,则TI=1TI=1会自动引发中断。会自动引发中断。用户通过用户通过串口中断服务程序串口中断服务程序向向SBUFSBUF输送下一个数据:输送下一个数据:MOV SBUF,A MOV SBUF,A 中断方式发送数据;中断方式发送数据;使用使用TITI标志完成发送标志完成发送-中断方式中断方式使用查询的方式对使用查询的方式对TITI进行检测,进行检测,如果如果TI=1TI=1则执行:则执行:MOV SBUF,AMOV SBUF,
14、A 否则等待否则等待 使用使用TITI标志完成发送标志完成发送查询方式查询方式使用查询使用查询TITI标志方式发送标志方式发送N N个数据个数据CLR SCON.TI将发送缓冲区的数据送累加器将发送缓冲区的数据送累加器A修改数据区指针修改数据区指针MOV SBUF,ATI=1?N个数据发送完?个数据发送完?YESNOYESNO发送数据的程序框图发送数据的程序框图7.3 串行口的串行口的4种工作方式种工作方式4种工作方式由SCON中SM0、SM1位位定义,7.3.1 方式方式0方式0为同步移位寄存器输入同步移位寄存器输入/输出方式输出方式。串行口的工作模式0n特点特点:同步移位寄存器同步移位寄存
15、器方式。其波特率固定为方式。其波特率固定为 fosc/12fosc/12.RXD RXD(P3.0P3.0)做做 数据线数据线(双向);(双向);TXDTXD(P3.1P3.1)做做 移位移位脉冲脉冲输出端;输出端;在移位过程中在移位过程中,先移数据的低位。先移数据的低位。n主要应用主要应用:(1 1)外接同步输入)外接同步输入/输出设备输出设备(2 2)使用串行口扩展并行)使用串行口扩展并行I/OI/O口,可以扩展口,可以扩展n n*8 8 位的并行位的并行I/OI/O口。口。80C51RXDTXDData 同步移位寄存器同步移位寄存器 74LS164/165cp移位脉冲移位脉冲串行数据串行
16、数据并行的数据并行的数据(8位位)1方式方式0发送发送(1)方式)方式0发送过程发送过程当CPU执行一条将数据写入发送缓冲器写入发送缓冲器SBUF的指令的指令时,产生一个正脉冲产生一个正脉冲,TXD引脚输出同步移位脉冲,频率为fosc/12。串行口把SBUF中的8位数据从RXD引脚串行输出,低位在先,发送完发送完8位数据,中断标志位位数据,中断标志位TI置置“1”。发送时序如图7-5所示所示。3031图图7-5 方式方式0发送时序发送时序(2)方式)方式0发送应用举例发送应用举例图7-6所示为方式0发送的一个应用:通过串行口外接通过串行口外接8位位串行输入并行输出移位寄存器串行输入并行输出移位
17、寄存器74LS164,扩展扩展两个两个8位并行输出口位并行输出口。方式0发送时:串行数据由P3.0(RXD端)送出端)送出,移位脉冲由P3.1(TXD端)送出端)送出。在移位脉冲的作用下,串行口发送缓冲器的数据逐位地从P3.0串行移入74LS164中。32图图7-6 外接串入并出移位寄存器外接串入并出移位寄存器74LS164扩展的并行输出口扩展的并行输出口332方式方式0接收接收(1)方式)方式0接收过程接收过程方式0接收,REN为串行口允许接收控制位允许接收控制位,REN=0,禁止接收;REN=1,允许接收。当向SCON寄存器写入控制字写入控制字(设置为方式0,并使REN位置1,RI=0)时
18、,产生一个正脉冲,串行口开始产生一个正脉冲,串行口开始接收数据。接收数据。34图图7-7 方式方式0接收时序接收时序RXD为数据输入端,为数据输入端,TXD为为移位脉冲信号输出端,频率为移位脉冲信号输出端,频率为fosc/12接收器以接收器以fosc/12的固定波特率的固定波特率采样采样RXD引脚的数据信息,当引脚的数据信息,当接收完接收完8位位数据数据时,中断标志时,中断标志RI置置1,表示一帧数据接收完毕。表示一帧数据接收完毕。(2)方式)方式0接收应用举例接收应用举例图图7-8为串行口外接两片为串行口外接两片8位并行输入串行输出的寄存器位并行输入串行输出的寄存器74LS165扩展两个扩展
19、两个8位并行输入口的电路位并行输入口的电路。1)当)当74LS165的的S/端由高到低跳变时,并行输入端的数端由高到低跳变时,并行输入端的数据被置入寄存器;据被置入寄存器;2)当当S/=1,且,且时钟禁止端(第时钟禁止端(第15脚)为低电平脚)为低电平时,时,在移位脉冲作用下在移位脉冲作用下(TXD(P3.1)输出串行移位脉冲)输出串行移位脉冲),数据由右向左方向移动,以数据由右向左方向移动,以串行方式串行方式进入进入51串行口的接收缓串行口的接收缓冲器中。冲器中。36LL37图图7-8 扩展扩展74LS165作为并行输入口作为并行输入口在图图7-8中:TXD(P3.1)作为移位脉冲输出与所有
20、75LS165的移位脉冲输入端CP相连;RXD(P3.0)作为串行数据输入端与74LS165的串行输出端QH相连;P1.0与S/相连,用来控制74LS165的串行移位或并行输入;74LS165的时钟禁止端时钟禁止端(第15脚)接地,表示允许时钟输入。当扩展多个8位输入口时,相邻两芯片的首尾(QH与SIN)相连。38L7.3.2 7.3.2 串行口模式串行口模式1 1n异步串行方式异步串行方式 帧格式帧格式:10:10位位 1 1个起始位个起始位+8+8个数据位个数据位+1+1个停止位个停止位n可变波特率:可变波特率:定时器定时器T1T1的溢出率的溢出率/16/16 定时器定时器T1T1的溢出率
21、的溢出率/32/32D0D1D2D3D4D5D6D7起始位起始位8位数据位数据停止位停止位模式模式1 帧格式帧格式串行口模式串行口模式1 1发送操作发送操作 TI=0TI=0,执行执行 mov sbuf,a 指令;指令;从从TXDTXD端开始发送数据:端开始发送数据:自动插入自动插入1 1位起始位,位起始位,发送发送8 8位数据;位数据;自动添加一个高电平的停止位,并将自动添加一个高电平的停止位,并将TITI置位。置位。REN=1 REN=1且且RI=0RI=0的条件下进行。的条件下进行。串行口的接收控制器对串行口的接收控制器对RXD线进行采样。线进行采样。采样频率(采样频率(检测脉冲检测脉冲
22、)是)是接收移位脉冲接收移位脉冲的的1616倍。倍。当连续当连续8 8次采集到次采集到RXDRXD线上为低电平时,检测电路便认定线上为低电平时,检测电路便认定RXDRXD线上有了线上有了“起始位起始位”,在此后,便开始在每次第,在此后,便开始在每次第7 7、8 8、9 9三个脉冲时进行三个脉冲时进行RXDRXD采样,采取采样,采取“三中取二三中取二”的原则的原则来确定接收的数据(如图所示)。来确定接收的数据(如图所示)。串行口模式串行口模式1接收操作接收操作串行口模式串行口模式1 1时数据帧格式及接收采样示意图时数据帧格式及接收采样示意图D0D1D2D3D4D5D6D7起始位8位数据停止位检测
23、脉冲频率检测脉冲频率=16X=16X波特率:对波特率:对RXDRXD线的数据以线的数据以1616倍速度采样倍速度采样好处:好处:(1 1)防止干扰)防止干扰(2 2)在数据的中间时刻采样)在数据的中间时刻采样当连续当连续8次采集到低电次采集到低电平时,确认起始位到来平时,确认起始位到来在每个数据期间的第在每个数据期间的第7,8,9个检测脉冲对个检测脉冲对RXD采样采样并采用并采用“以三取二以三取二”来确定采集的数据来确定采集的数据7.8.9检测检测脉冲脉冲7.3.3 7.3.3 串行口模式串行口模式2 2、3 3n特点特点:模式模式2 2、3 3都是都是1111位传输格式位传输格式 1 1个起
24、始位个起始位+9+9个数据位个数据位+1+1个停止位个停止位D0D1D2D3D4D5D6D7D8起始位起始位8+1位数据位数据停止位停止位第9 位模式模式2、3 帧格式帧格式7.3.3 7.3.3 串行口模式串行口模式2 2、3 3n区别区别:波特率波特率:模式模式2 2:固定为:固定为fosc/64fosc/64或或fosc/32fosc/32。模式模式3 3:由定时器:由定时器T1/T2T1/T2的溢出波特率来确定。的溢出波特率来确定。定时器定时器T1T1的溢出率的溢出率/16/16 定时器定时器T1T1的溢出率的溢出率/32/32 (由由PCONPCON中的中的SMODSMOD位来确定)
展开阅读全文