收藏 分销(赏)

单片机及串口通信.ppt

上传人:xrp****65 文档编号:13218911 上传时间:2026-02-04 格式:PPT 页数:27 大小:503.50KB 下载积分:10 金币
下载 相关 举报
单片机及串口通信.ppt_第1页
第1页 / 共27页
单片机及串口通信.ppt_第2页
第2页 / 共27页


点击查看更多>>
资源描述
,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,计应专业综合实训,串行通信,一、串行通信与并行通信概念,在微型计算机中,通信(数据交换)有两种方式:并行通信和串行通信。,并行通信是指计算机与,I/O,设备之间通过多条传输线交换数据,数据的各位同时进行传送。一般有多少位数据就有多少要根数据线。,串行通信是指计算机与,I/O,设备之间数据传输的各位是按顺序依次一位接一位进行传送。通常数据在一根数据线或一对差分线上传输。,串行通信,串口通信和并行通信示意图如下:,串行通信,串行通信传输速度慢,但使用的传输设备成本低,可利用现有的通信手段和通信设备,适合于计算机远程通信,;,并行通信的速度快,但使用的传输设备成本高,适合于近距离的数据传送。而且一些差分串行通信总线,它们的传输距离远,且抗干扰能力强,速度也比较快。,二、串行通信基础,串行通信主要涉及以下几个方面的概念:单工、半双工和全双工,同步通信和异步通信,波特率和收发时钟频率。下面分别介绍这几个概念。,串行通信,1,、单工、半双工、全双工,串行通信的方式主要有这三种。,单工:如果在通信过程的任意时刻,信息只能由一方,A,传到另一方,B,,则称为单工。例如:,BP,半双工:如果任意时刻,信息既可由,A,传到,B,,又能从,B,传到,A,,但由于两个通信方向使用同一条信道,因此同一时刻只能有一个方向上的传输存在。收发方向主要是通过软件协议来控制的,接收和发送只能交替进行。例如:无线通话对讲机。,全双工:如果在任意时刻,线路上存在,A,到,B,和,B,到,A,的双向信号传输,此时两个方向的信号使用不同的信道,,串行通信,二者不会互相干扰,因此可以同时进行传输。,这种方式称为全双工。全双工使用信道划分技术,通信每一端都包含发送器和接收器,可以同时发送和接收数据。例如:电话系统。,2,、同步通信和异步通信,串行通信中,数据传输的方法有两种,一种是异步通信,一种是同步通信。,异步通信:异步通信以帧的形式发送字符数据,每一帧信息由起始位、数据位、奇偶校验位和停止位构成。,异步通信中,每传送一个字节就要使用起始位和停止位,因此传输速度有限,常用于低速场合,。,空闲位,起始位,数据,奇偶校验位,停止位,空闲位,111,0,0/1,0/1,0/1,0/1,1,111,串行通信,起始位:当通信线路上没有数据传送时,通信线路保持逻辑电平,1,,一旦有数据需要发送,发送设备会发送一个逻辑,0,信号,接收方检测到这个低电平后,开始接收数据。,数据位:紧跟在起始位后面的就是数据位,数据位长度为,5-8bit,不等,数据传送时,将从数据位的最低位开始发送。,奇偶校验位:用于有限差错检测,有奇校验和偶校验两种。奇校验是指所有数据位和校验位中,,1,的个数为奇数,偶校验是指所有数据位和校验位中,,1,的个数为偶数。,串行通信,停止位:数据帧的最后是停止位,停止位可以是,1,位、,1,位半或,2,位,表示一个字符传输的结束。,同步通信:同步通信使用数据块传送信息,而不是字节,因此省去了每个字节的起始位和停止位等数据,提高了通信的速率。同步通信的每个数据块的开始使用同步字符,使接收和发送同步。,同步通信使用同步字符使接收和发送方时序同步,数据连续传送,期间不允许出现空隙,当无数据发送时,发送同步字符。与异步通信相比,同步通信发送数据量大、速度快,常用于传输速率要求较高的场合。,同步字符,SYN1,同步字符,SYN2,数据,串行通信,3,、波特率和收发时钟频率,计算机通信速度的单位称为波特率,波特率是指单位时间内传送的信息量,信息量单位为,bit,时间单位为秒,因此:,1,波特,=1,位,/,秒,=1bit/s=1bps,在异步串行通信中,接收方和发送方使用相同的波特率,才能成功传输数据。,收发时钟是指控制通信设备接收或发送字符的时钟信号,通常一个位持续时间中,会有多个收发时钟周期,收发时钟频率的大小影响同步的准确性。波特率一般为收发时钟频率的,n,分之一。同步传送方式下,,n,的值为,1,,异步方式下,,n,值可以被设为,1,、,16,、,64.,串行通信,三、单片机串口结构,STC12C5A60S2,系列单片机具有,2,个采用,UART,工作方式的全双工串行通信接口,(,串口,1,和串口,2),。每个串行口由,2,个数据缓冲器、一个移位寄存器、一个串行控制寄存器和一个波特率发生器等组成。每个串行口的数据缓冲器由,2,个互相独立的接收、发送缓冲器构成,可以同时发送和接收数据。发送缓冲器只能写入而不能读出,接收缓冲器只能读出而不能写入,因而两个缓冲器可以共用一个地址码。,STC12C5A60S2,系列单片机的两个串行口都有,4,种工作方式,其中两种方式的波特率是可变的,另两种是固定的,以供不同应用场合选用。用户可用软件设置不同的波特率和选择不同的工作方式。主机可通过查询或中断方式对接收,/,发送进行程序处理。,串行通信,3.1,、串行口相关寄存器,串口的访问和设置是通过访问其相关特殊寄存器进行的。与串口相关的特殊寄存器有如下,:,符号,地址,复位值,符号,地址,复位值,BRT,9CH,0000 0000B,IP,B8H,0000 0000B,AUXR,8EH,0000 0000B,IPH,B7H,0000 0000B,SCON,98H,0000 0000B,SADEN,B9H,0000 0000B,SBUF,99H,xxxx,xxxxB,SADDR,A9H,0000 0000B,PCON,87H,0000 0000B,WAKE_CLKO,8FH,0000 0000B,IE,A8H,0000 0000B,串行通信,3.1.1,串行口控制寄存器,SCON,(可以位寻址),串行控制寄存器,SCON,用于选择串行通信的工作方式和某些控制功能。其格式如下:,D7,D6,D5,D4,D3,D2,D1,D0,SM0/FE,SM1,SM2,REN,TB8,RB8,TI,RI,下面介绍各个位的功能:,SM0,、,SM1,为了适应不同通信环境和接口的需要,单片机提供,4,种不同的工作方式,这两位就用于设置串口的工作方式。,SM0,、,SM1,串口工作方式的对应关系如下表:,串行通信,SM2,:串口多机通信控制位。,REN,:允许串行接收控制。将其置为,1,时允许接收。,RB8,:用于保存串口工作方式,2,和方式,3,情况下接收到的第,9,位数据。,TI:,串口中断发送标志。当串行口数据发送完毕时置位,TI,,同时向,CPU,发送串口中断请求,,CPU,响应中断后,SM0,SM1,工作方式,功能说明,0,0,方式,0,同步移位串行方式,0,1,方式,1,8,位,UART,波特率可变,1,0,方式,2,9,位,UART,1,1,方式,3,9,位,UART,波特率可变,串行通信,不对该位清,0,。必须由软件清零。,RI,:串口中断接收标志。当串行口数据接收到一个数据时置位,RI,,同时,CPU,发送串口中断请求。,CPU,响应中断后不对该位清,0,。必须由软件清零。,3.1.2,特殊功能寄存器,PCON,特殊功能突破口,PCON,仅有高两位与串口有关,D7,D6,D5,D4,D3,D2,D1,D0,SM0D,SM0D0,SMOD,:波特率选择位。当用软件置位,SMOD,,则使串行通信波特率加倍。,串行通信,SM0D0:,帧错误检测有效控制位,.,当,SMOD0=1,,,SCON,寄存器中的,SM0/FE,位用于,FE(,帧错误检测,),功能;当,SMOD0=0,,,SCON,寄存器中的,SM0/FE,位用于,SM0,功能,和,SM1,一起指定串行口的工作方式。,3.1.3,串行口数据缓冲寄存器,SBUF,串口中的发送,/,接收缓冲器,SBUF,实际上共有两个,分别为发送缓冲器和接收缓冲器,它们在物理上是完全独立的。因此可以同时进行发送和接收。两个缓冲器共用一个内存地址,99H,。两个操作作分别对应两个不同的寄存器,,1,个是只写寄存器,,1,个是只读寄存器。,3.1.4,辅助寄存器,AUXR,辅助寄存器格式及各个位的含义如下表:,串行通信,T0 x12,:定时器,0,速度设置位,置,1,定时器,0,的速度是传统,8051,速度的,12,倍。不分频。,T1x12,:定时器,1,速度设置位,置,1,定时器,1,的速度是传统,8051,速度的,12,倍。不分频。,如果,UART,串口用定时器,1,做波特率发生器,,T1x12,位就可以控制,UART,串口是,12T,还是,1T,了,D7,D6,D5,D4,D3,D2,D1,D0,T0 x12,T1x12,Uart_Mox6,BRTR,S2SMOD,BRTx12,EXTRAM,S1BRS,串行通信,Uart_Mox6:,串行口模式,0,的通信速度设置位,置,1 UART,串口的模式,0,的速度是传统,12T,的,8051,的,6,倍,,2,分频。,BRTR,:独立波特率发生器运行控制位,置,1,允许独立波特率发生器运行。,S2SMOD,:串口,2,的波特率加倍控制位,置,1,串口,2,的波特率加倍。,对于,STC12C5A60S2,系列单片机,串口,2,只能使用独立波特率发生器作为波特率发生器,不能够选择定时器,1,作为波特率发生器;而串口,1,既可以选择定时器,1,作为波特率发生器,也可以选择独立波特率发生器作为波特率发生器,串行通信,BRTx12,:独立波特率发生器计数控制位。,置,1,独立波特率发生器每,1,个时钟计数一次。,EXTRAM,:,置,0,允许使用内部扩展的,1024,字节扩展,RAM,。,置,1,禁止使用内部扩展的,1024,字节扩展,RAM,。,S1BRS,:串行口波特率发生器选择位,置,0,串行口波特率发生器选择定时器,1,。,置,1,独立波特率发生器作为串行口的波特率发生器,此时定时器,1,得到释放,可以作为独立定时器使用,串行通信,3.1.4,独立波特率发生器,BRT,独立波特率发生器,BRT,用于保存重装时间常数,3.2,与串行口中断相关的寄存器,IE,、,IP,和,IPH,IE,中断允许寄存器,(,可位寻址,),D7,D6,D5,D4,D3,D2,D1,D0,EA,ELVD,EADC,ES,ET1,EX1,ET0,EX0,EA,:,CPU,的总中断允许控制位,,EA=1,,,CPU,开放中断,,EA=0,,,CPU,屏蔽所有的中断申请。,EA,的作用是使中断允许形成多级控制。即各中断源首先受,EA,控制,;,其次还受各中断源自己的中断允许控制位控制,串行通信,ES,:串行口中断允许位,,ES=1,,允许串行口中断,,ES=0,,禁止串行口中断。,IP,:中断优先级控制寄存器低,(,可位寻址,),IPH,:中断优先级控制寄存器高,(,不可位寻址,),Name,D7,D6,D5,D4,D3,D2,D1,D0,IP,PPCA,PLVD,PADC,PS,PT1,PX1,PT0,PX0,Name,D7,D6,D5,D4,D3,D2,D1,D0,IPH,PPCAH,PLVDH,PADCH,PSH,PT1H,PX1H,PT0H,PX0H,PS PSH,串行口,1,中断优先级控制位,串行通信,PSH=0,且,PS=0,,串行口,1,中断为最低优先级中断,(,优先级,0),PSH=0,且,PS=1,,串行口,1,中断为较低优先级中断,(,优先级,1),PSH=1,且,PS=0,,串行口,1,中断为较高优先级中断,(,优先级,2),PSH=1,且,PS=1,,串行口,1,中断为最高优先级中断,(,优先级,3),3.3,串行口,1,工作模式,1,:,8,位,UART,,波特率可变,当软件设置,SCON,的,SM0,、,SM1,为,01,时,串行口,1,则以模式,1,工作。此模式为,8,位,UART,格式,一帧信息为,10,位:,1,位起始位,,8,位数据位,(,低位在先,),和,1,位停止位。,TxD/P3.1,为发送信息,,RxD/P3.0,为接收端接收信息,串行口为全双工接受,/,发送串行口。,通常在,T1,被用作串口波特率的设置时,,T1,常被设置为工作模式,2,,即,8,位自动装入初值定时器模式。此时,TH1,用于保存定时器初值,,串行通信,当定时器溢出时,会自动装载初值,无需进行软件处理,串行通信模式,1,的,波特率,=2SMOD/32(,定时器,/,计数器,1,溢出率或,BRT,独立波特率发生器溢出率,),当,T1x12=0,时,定时器,1,的溢出率,=SYSclk/12/(256-TH1),当,T1x12=1,时,定时器,1,的溢出率,=,SYSclk,/(256-TH1),当,BRTx12=0,时,,BRT,独立波特率发生器的溢出率,=SYSclk/12/(256-BRT),当,BRTx12=1,时,,BRT,独立波特率发生器的溢出率,=,SYSclk,/(256-BRT),串行通信,通过前面两个公式可以推导出定时器,/,计数器,1,溢出率或,BRT,独立波特率发生器溢出率计算公式。,当工作在,12T,模式下,:(,baud,是波特率),=256-(2SMOD x,SYSclk,/32/12/baud);,当工作在,1T,模式下:,=256-(2SMOD x,SYSclk,/32/baud);,串行通信,串行通信,串行通信,串行通信,串行通信,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服