书签 分享 收藏 举报 版权申诉 / 90
上传文档赚钱

类型51单片机串行口课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3293327
  • 上传时间:2022-08-17
  • 格式:PPT
  • 页数:90
  • 大小:1.73MB
  • 【下载声明】
    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位来确定)

    25、位来确定)模式模式2、3的发送的发送CPUCPU把把8 8位数据送位数据送SBUF(mov sbufmov sbuf,a,a)后后,还要将第还要将第9 9位数据送到位数据送到SCON.TB8SCON.TB8中。中。n第第9 9位(位(TB8 TB8)=1=1时,时,SETB SCON.TB8SETB SCON.TB8 第第9 9位(位(TB8 TB8)=0=0时:时:CLR SCON.TB8CLR SCON.TB8 例如:例如:SETB SCON,TB8SETB SCON,TB8 或:或:CLR SCON,TB8CLR SCON,TB8 MOV SBUF,AMOV SBUF,A MOV SBU

    26、F,AMOV SBUF,A SM0SM1SM2RENTB8RB8TIRISCONREN=1REN=1,RI=0RI=0时数据可以接收。时数据可以接收。模式模式2 2、3 3时,时,RB8RB8是接收到的第是接收到的第9 9位:位:1/01/0模式模式2、3的接收过程的接收过程RITIRB8TB8RENSM2SM1SM0SCONn有效接收条件:有效接收条件:1 1)SM2=0 SM2=0:宽接收宽接收-与与RB8RB8的状态无关;的状态无关;无论无论RB8RB8如何,接收到的数据都会如何,接收到的数据都会从从移位寄存器送到移位寄存器送到SBUFSBUF,并使并使RI=1RI=12 2)SM2=1

    27、SM2=1且且RB8=1RB8=1:严严/窄接收,窄接收,与与RB8RB8有关有关 若若RB8=1,RB8=1,接收到的数据接收到的数据从从移位寄存器送到移位寄存器送到SBUFSBUF,并使,并使RI=1RI=1;若若RB8=0,RB8=0,则则移位寄存器中接收到的数据移位寄存器中接收到的数据丢弃丢弃,且且RIRI不置位。不置位。SM2也称也称“多机通讯位多机通讯位”,主要用于多机通讯。,主要用于多机通讯。发送方利用发送方利用SM2和和TB8,来控制多个接收方的接收。来控制多个接收方的接收。模式模式2、3的接收过程的接收过程48图图6-1 串行口的内部结构图串行口的内部结构图输入移位寄存器输入

    28、移位寄存器SBUF51内部总线内部总线读读SBUF装载装载SBUFRXD串行口模式2、3时数据帧格式n发送方:将将SCON中的中的TB8作为第作为第9位数据发送;位数据发送;n接收方接收方:将接收来的第将接收来的第9位送到位送到SCON中的中的RB8中。中。D0D1D2D3D4D5D6D7D8起始位起始位9位数据位数据停止位停止位SM0SM1SM2 RENTB8RB8TIRI模式模式2 2、3 3的应用之一的应用之一带奇偶校验位的数据传送带奇偶校验位的数据传送n奇偶校验:奇偶校验:发送方:发送方:将第将第9 9位数据位数据TB8TB8作为奇(偶)校验位作为奇(偶)校验位接收方:接收方:收到的第

    29、收到的第9 9位位RB8RB8是发送方送来的奇偶校验位。是发送方送来的奇偶校验位。接收方必须令接收方必须令SM2=0SM2=0。当接收数据后,利用当接收数据后,利用PSW.PPSW.P位进行奇偶校验检错。位进行奇偶校验检错。例如:例如:发送、接收双方约定为发送、接收双方约定为偶偶校验校验(数据中数据中1 1的个数为偶):的个数为偶):则发送方的则发送方的第第9 9位位要根据要根据8 8位数据位数据来确定来确定.若发送的若发送的8 8位数据是:位数据是:1001101010011010 发送方发送方:MOV SBUF,A;TB8TB8为为0 0PSW.P=RB8 则偶校验正确则偶校验正确 若若

    30、PSW.P RB8 则偶校验错误则偶校验错误接收方接收方:MOV A,SBUF;SBUF=10011010,RB8=0RB8=0接收方接收方:=利用模式利用模式2/32/3进行带偶校验的串行通讯程序流程图进行带偶校验的串行通讯程序流程图数据送累加器数据送累加器APSW.P=1?CLR SCON.TB8SETB SCON.TB8MOV SBUF,ATI=1?CLR SCON.TIYESNONOYES发送端程序(原始TI=0)使用使用查询方式查询方式的的发送发送程序程序利用模式利用模式2/32/3进行带偶校验的串行通讯程序流程图进行带偶校验的串行通讯程序流程图RI=1?MOV A,SBUFPSW.

    31、P=RB8?出错处理CLR SCON.RIYESNO接收端程序(原始RI=0)NY数据送内存使用使用查询方式的接收查询方式的接收程序程序模式2、3的应用之二:多机通讯n如果系统采用多如果系统采用多CPU结构,并且有一个做主机,其它为结构,并且有一个做主机,其它为从机时,它们之间可以通过从机时,它们之间可以通过多机通讯多机通讯的方式进行数据交换。的方式进行数据交换。如:多路数据采集系统。如:多路数据采集系统。n选一台单片机作为选一台单片机作为主机主机,专门负责接收从机传回的数据,专门负责接收从机传回的数据,并进行数据的后期处理(保存、打印和显示等);并进行数据的后期处理(保存、打印和显示等);n

    32、其他作为其他作为从机从机:通过传感器完成对现场信号的检测、通过传感器完成对现场信号的检测、A/D转换,转换,最后将数据采用串行通讯的形式上传给主机。最后将数据采用串行通讯的形式上传给主机。采用“智能传感器”组成的多路数据采集系统主机主机从机从机 N从机从机 4从机从机 3从机从机 2从机从机 1串行数据线串行数据线RXDTXDTXDRXD从机做智从机做智能传感器能传感器主从式多机通讯原理1 主机和从机的串口设置为主机和从机的串口设置为模式模式3(或模式(或模式2),其中,其中 主机的主机的SM2=0;从机的从机的SM2=1;(;(窄接收窄接收)从机接收到的第九位数据从机接收到的第九位数据RB8

    33、=1时,时,接收到的数据才能接收到的数据才能从移位从移位寄存器寄存器送到送到SBUFSBUF,并使,并使RI=1RI=1;从机接收到的第九位数据从机接收到的第九位数据RB8=0时时,移位寄存器中接收到的数移位寄存器中接收到的数据丢弃据丢弃且且RIRI不置位。不置位。主从式多机通讯原理2 主机首先通过发送主机首先通过发送地址帧地址帧来寻找从机来寻找从机 地址帧的特征是地址帧的特征是第第9位数据为位数据为1:地址帧地址帧=8位地址码位地址码+1 所有的从机都能接收到主机发出的地址帧,并使所有的从机都能接收到主机发出的地址帧,并使RI=1。(因为从机(因为从机SM2=1,RB8=1)。)。各从机将接

    34、收到地址码与自己的地址进行比较:各从机将接收到地址码与自己的地址进行比较:若比较结果相等,则为被寻址从机,将若比较结果相等,则为被寻址从机,将SM2=0;若比较结果不等,则为未被寻址从机,仍保持若比较结果不等,则为未被寻址从机,仍保持SM2=1。主从式多机通讯原理3 当主机找到从机后,开始向从机当主机找到从机后,开始向从机发数据帧,其特征为第发数据帧,其特征为第9位位=0,即,即数据帧数据帧=8位数据位数据+0 1)被寻址从机)被寻址从机(宽接收宽接收):SM2=0,接收到的,接收到的RB8=0,可以使从机的,可以使从机的RI=1,完成数据的接收。,完成数据的接收。2)未被寻址从机)未被寻址从

    35、机(窄接收窄接收):SM2=1,因为接收到的第,因为接收到的第9位数据即位数据即 RB8=0,移位寄存器中接收到的移位寄存器中接收到的数据数据不会装入不会装入BUF,不会使,不会使RI=1。对主机发来的数据帧不予理睬。对主机发来的数据帧不予理睬。4 主机重新发出地址帧,所有从机可以并接收地址信息,被寻址从机主机重新发出地址帧,所有从机可以并接收地址信息,被寻址从机SM2=0;未被寻址从机;未被寻址从机SM2=1。多机通讯小结:1 1,主机的,主机的SM2=0,从机的,从机的SM2=1;(初始化);(初始化)2 2,主机向从机发送地址帧(第,主机向从机发送地址帧(第9位为位为“1”););3 3

    36、,所有的从机(,所有的从机(SM2=1、RB8=1)都接收主机的地址比)都接收主机的地址比较、确认是否为被寻从机。较、确认是否为被寻从机。4 4,被寻从机将,被寻从机将SM2清零,以保证能接收主机的数据帧同清零,以保证能接收主机的数据帧同时向主机返回地址供主机核实。没有被选中的从机保持时向主机返回地址供主机核实。没有被选中的从机保持SM2=1。5 5,被寻址的从机与主机之间进行数据交换被寻址的从机与主机之间进行数据交换7.4 波特率及定时器T1的设定n波特率的定义:波特率的定义:串行口每秒发送(或接收)的二进制数据的位数。串行口每秒发送(或接收)的二进制数据的位数。设发送一位所需要的时间为设发

    37、送一位所需要的时间为T,则波特率为,则波特率为1/T。串口4 种通讯模式的波特率SM0 SM1模式功 能波特率 0 00同步移位寄存器模式同步移位寄存器模式Fosc/12 0 1110位异步通信位异步通信UART可变,由可变,由T1/T2溢出率溢出率确定确定 1 0211位异步通信位异步通信UARTFosc/64或或/32*1 1311位异步通信位异步通信UART可变,由可变,由T1/T2溢出率溢出率确定确定*当SMOD=1时,B=fosc/32;当SMOD=0时,B=fosc/64。(1)方式方式0时,波特率固定为时钟频率固定为时钟频率fosc的的1/12,不受SMOD位值的影响。若fosc

    38、=12 MHz,波特率为1Mbit/s。(2)方式方式2时,波特率仅与SMOD位的值有关。方式方式2波特率波特率=fosc若fosc=12 MHz:SMOD=0,波特率=187.5 kbit/s;SMOD=1,波特率 为为375 kbit/s。63SMOD264波特率固定波特率可变(3)方式1或方式3定时:n80C51单片机的串行口波特率单片机的串行口波特率是由是由定时器定时器T1的溢出率的溢出率来决定的(来决定的(PCON中的中的SMOD=1波特率加倍)。波特率加倍)。n80C52单片机的串口波特率单片机的串口波特率 是由是由定时器定时器T1的溢出率的溢出率或或T2的溢出率的溢出率来决定来决

    39、定。3 Baud Rate Generator Timer 2 in Baud Rate Generator Mode(89C52)T2CON Timer/Counter 2 Control RegisterTimer 2 Operating ModesT1T1做串口方式做串口方式1 1或或3 3波特率发生器时初值与波特率的关系波特率发生器时初值与波特率的关系T1T1 溢出周期:溢出周期:812(2)oscXfT1T1 溢出率:溢出率:812(2)oscfX串口方式串口方式1 1或或3 3时时的波特率:的波特率:823212(2)SMODoscfBX方式方式1 1或或3 32132SMODT

    40、overflow rateT2T2做串口方式做串口方式1 1或或3 3波特率发生器时初值与波特率的关系波特率发生器时初值与波特率的关系T2T2 溢出周期:溢出周期:162(2)oscXfT2T2 溢出率:溢出率:162(2)oscfX串口方式串口方式1 1或或3 3时的波特率:时的波特率:1632(2)oscfBX实际使用时,需要根据波特率和时钟频率波特率和时钟频率fosc来计算计算T1的初值的初值X。为避免繁杂的初值计算,常用的波特率和初值常用的波特率和初值X间的关间的关系常列成系常列成表表7-1的的形式形式,以供查用。70表表7-1 用定时器用定时器T1产生的常用波特率产生的常用波特率71

    41、波 特 率foscSMOD位方式初值X62.5kbit/s12 MHz12FFH19.2kbit/s11.0592 MHz12FDH9.6kbit/s11.0592 MHz02FDH4.8kbit/s11.0592 MHz02FAH2.4kbit/s11.0592 MHz02F4H1.2kbit/s11.0592 MHz02E8H对对表表7-1有两点注意:有两点注意:(1)在使用的时钟振荡频率fosc为12MHz或或6MHz时,将初值X和fosc带入式(7-3)中计算出的波特率有一定误有一定误差差。消除误差可采用时钟频率时钟频率11.0592MHz。(2)如果选用很低的波特率很低的波特率,如波

    42、特率选为55,可将定时器T1设置为方式1定时。但在这种情况下,T1溢出时,需在中断服务程序中重新装入初值。中断响应时间和执行指令时间会使波特率产生一定的误差,可用改变初值的方法加以调整。72【例【例7-3】若时钟频率为11.0592MHz,选用T1的方式方式2定时定时作为波特率发生器,波特率为波特率为2 400bit/s,求初值。设T1为方式2定时,选SMOD=0。波特率波特率=2400从中解得X=244=F4H。只要把F4H装入TH1和TL1,则T1产生的波特率为2 400bit/s。该结果也可直接从表7-1中查到。时钟振荡频率选为11.0592MHz,可使初值为整数初值为整数,从而产生精确

    43、的波特率。73SMODosc23212(256)fX7.5 UART串行口的应用串行口的应用利用串行口可实现:1)单片机间的点对点串行通信、多机通信;2)单片机与PC机间的单机或多机通信。3)通过串行通信标准RS-232RS-485实现远距离分布式测控系统4)实现单片机与带有RS-232RS-485接口的OEM模块的连接应用。GSM/GPRS通信模块、蓝牙通信模块、红外通信模块、GPS接收模块、感应卡读卡器、微型打印机等。747.5.1 双机串行通信的硬件连接双机串行通信的硬件连接1)AT89S51UART串行口的输入、输出均为TTL电平:电平:抗干扰性差,传输距离短,传输速率低。抗干扰性差,

    44、传输距离短,传输速率低。2)采用串行通信标准,标准,如RS-232、RS-422A、RS-485等:增大串行通信的距离、提高传输速率、提高串行通信的可靠性。3)根据通信距离和抗干扰性要求,可选择:TTL电平传输、RS-232C、RS-422A、RS-485串口进行串行数据传输。1TTL电平通信接口电平通信接口如果两个单片机相距在相距在1.5m之内,它们的串行口可直接相直接相连连,接口如图图7-16所示所示。甲机RXD与乙机TXD端相连,乙机RXD与甲机TXD端相连。76图图7-16 双机串行通信的直连电路双机串行通信的直连电路2RS-232C双机通信接口双机通信接口如果双机通信距离在距离在1.

    45、515m之间时,可用RS-232C串行通串行通信信标准标准实现点对点的双机通信,接口如图图7-17所示所示。RS-232C:数据终端设备(数据终端设备(DTE)与数据通信设备()与数据通信设备(DCE)之间的串行之间的串行通信标准通信标准。79图图7-17 RS-232C双机双机(单片机单片机)通信接口电路通信接口电路MAX232A是美国MAXIM(美信)公司生产的RS-232C双工发送器/接收器电路芯片,实现电平转换。nRS232C数据传送格式D7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D0起始位起始位停止位停止位01/1.5/2空闲位空闲位校验位校验位图图7-18 串行通信

    46、字符帧的格式串行通信字符帧的格式nRS232C逻辑电平负逻辑:逻辑“1”电平范围:-5V -15V逻辑“0”电平范围:+5V +15V接收端允许2V的噪音容限7.5.2 PC机与单片机的点对点串行通信接口设计机与单片机的点对点串行通信接口设计在测控系统中,由于单片机的数据存储容量和数据处理能力都较低,所以一般情况下单片机通过串行口与单片机通过串行口与PC机的串机的串行口相连行口相连,把采集到的数据传送到PC机上,再在PC机上进行数据处理。PC机配置的都是机配置的都是RS-232标准串行接口标准串行接口,为9针针“D”型型连接器(插座),如如图图7-19所示所示。表表7-3为“D”型9针插头的引

    47、脚定义。单片机与PC机的接口方案如图7-20所示所示。8283图图7-19 “D”型型9针插头引脚定义针插头引脚定义8485 图图7-20 单片机与单片机与PC机的串行接口方案机的串行接口方案n由于单片机的输入/输出是TTL电平,两者的电平不匹配两者的电平不匹配,必须将单片机端的TTL电平转换为电平转换为RS-232电平电平。图中电平转换芯片为MAX232,接口的连接只用了只用了3条线条线,即RS-232插座中的2脚、3脚与5脚。7.5.3 PC机与多个单片机的串行通信接口设计机与多个单片机的串行通信接口设计1.硬件接口电路硬件接口电路一台PC机和若干台AT89S51单片机可构成小型分布式小型

    48、分布式测控系统测控系统,如图图7-21所示所示。这种分布式测控系统分布式测控系统在许多实时工业控制和数据采集系统中应用。8788图图7-21 PC机与多台单片机构成小型的分布式测控系统机与多台单片机构成小型的分布式测控系统设计作业纸质版word文档要求1)设计要求(功能描述)设计要求(功能描述)2)任务分析、总体设计思路任务分析、总体设计思路3)硬件设计硬件设计4)软件设计软件设计5)实验仿真结果和分析实验仿真结果和分析 设计作业电子版提交要求n电子版:1)WORD文件2)硬件电路原理图文件3)汇编语言源文件或 C语言源文件4)工程文件5)LIST OBJ HEX 文件(可选)15打包成1个压缩文件,文件名格式:专业-年级-姓名-设计题目名

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:51单片机串行口课件.ppt
    链接地址:https://www.163wenku.com/p-3293327.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库