您好,欢迎访问三七文档
MCS-51串行口电气工程学院王民慧串行异步通信的工作方式串行异步通信的波特率知识点:串行异步通信的控制串行异步通信的帧格式单片机的应用已从单机应用发展成多机应用,解决多机互连的核心问题是单片机之间的通信。它们之间的通信有两种基本的通信方式:串行通信和并行通信。直接用两块单片机的四个并行口中的一个并行口进行数据的传输称为并行通信;用两块单片机的TXD,RXD进行数据传输称为串行通信问题的提出什么是串行通信?串行通信和并行通信计算机1GND计算机2GND并行通信计算机1GND计算机2GND发送接收串行通信并行通信:数据的各位同时传送;串行通信:数据一位一位顺序传送。例如:如果一个8位二进制数据用并行通信传送所需时间为T,用串行同步通信所需时间约为8T,而用串行异步通信所需时间大于8T。在并行通信中,一个并行数据占多少位二进制数,就需要多少根传输线。这种方式的特点是通信速度快,但传输线多,成本高,只适合近距离传送信息,一般通信距离应小于30米。串行通信仅需一到两根传输线,故在长距离传送数据时,比较经济。但由于它每次只能传送一位,所以,传送速度较慢。通信的方向串行通信的分类:异步(AsynchronousCommunication)同步(SynchronousCommunication)串行通信制式:单工(a)、半双工(b)和全双工(c)(simplexhalfduplexfullduplex)发送器A站接收器B站单工通信(a)发收A站发收B站发收A站发收B站(b)(c)串行通信有两种基本通信方式,即异步通信和同步通信。1.异步通信在异步通信中,数据或字符是分为一帧一帧地传送。在帧格式中,一个字符由四个部分组成:起始位、数据位、奇偶校验位和停止位。异步通信和同步通信起始位“0”信号用来通知接收设备一个待接收的字符开始到来。线路上在不传送字符期间应保持为“1”。接收端不断检测线路的状态,若连续为“1”以后又测到一“0”,表示发来了一个新字符,应马上准备接收起始位后面紧接着是数据位,它可以是5位(DO~D4)、6位、7位或8位(DO~D7)奇偶校验位:为了防止接收错误数据特意安排的校验位。在通信中也可以用这一位是“0”或“1”来确定这一帧中的字符所代表的信息是地址或数据。停止位用来表征字符的结束,它一定是高电位“1”,停止位可以是l位(常用)、1.5位或2位。接收端收到停止位后,知道上一字符已传送完毕,同时,也为接收下一个字符做好准备由于异步通信每传送一帧有固定格式,通信双方只需按约定的帧格式来发送和接收数据,所以,硬件结构比同步通信方式简单;此外,它还能利用校验位检测错误,所以,这种通信方式应用较广泛。2.同步通信同步通信中,在数据开始传送前用同步字符来指示(通常约为1~2个),并由时钟来实现发送端和接收端同步,即检测到规定的同步字符后,下面就连续按顺序传送数据,直到通信告一段落。同步传送时,字符与字符之间没有间隙,也不用起始位和停止位,仅在数据块开始时用同步字符SYNC来指示,但要求双方公用同一个时钟。同步传送格式如下:波特率:即数据传送速率,表示每秒钟传送二进制代码的位数,它的单位是位/秒。假如数据传送的速率每秒为120个字符,每个字符包含10个代码位(一个起始位、一个停止位、8个数据位),这时,传送的波特率为:10×120位/秒=1200波特(bps)每一位代码的传送时间Td为波特率的倒数:1Td==0.833(ms)1200异步通信的传送速率在50到19200波特之间,常用于计算机到CRT终端,以及双机和多机之间的通信等。波特率(BaudRate)当异步通信的距离在30米以内时,则计算机之间可以直接通信。当传输距离较远时,通常是用电话线进行传送,由于电话线的带宽限制以及信号传送中的衰减,会使信号发生明显的畸变。所以,在这种情况下,发送时要用调制器(Modulator)把数字信号转换为模拟信号,并加以放大再传送,这个过程称为调制。在接收时,再用解调器(Demodulator)检测此模拟信号,并把它转换成数字信号再送入计算机,这个过程称为解调。信号的调制与调解MCS-51串行接口寄存器SBUF——串行口数据缓冲器,地址99H共两个:一个发送寄存器SBUF,一个接收SBUF,二者共用一个地址99H。SCON——串行口控制寄存器,地址98HPCON——电源及波特率选择寄存器,地址87H串行口控制寄存器SCONSM0SM1工作方式说明波特率000110110123同步移位寄存器10位异步收发11位异步收发11位异步收发fOSC/12可变fOSC/32或fOSC/64可变PCON是为了在CHMOS的MCS-51单片机上实现电源控制而设置的,其中只有一位SMOD与串行口工作有关。它的格式和功能如下:SMOD称为波持率选择位。在工作方式1、工作方式2和工作方式3时,若SMOD=1,则波特率提高一倍;若SMOD=0,则波特率不加倍。整机复位时,SMOD=0。电源控制寄存器PCON串行口工作原理串行口数据发送缓冲器,地址99H数据在这里完成并行到串行的转换串行口数据接收缓冲器,地址99H数据在这里完成串行到并行的转换串行口四种工作方式应用及波特率比较方式的选择由SM1、SM0实现。工作方式功能说明波特率方式08位同步移位寄存器常用于扩展I/O口fosc/12方式110位UART8位数据、起始位、结束位可变(取决于定时器1溢出率)方式211位UART8位数据、起始位0、结束位1和奇偶校验位fosc/64或fosc/32方式311位UART数据、起始、校验、结束位可变(取决于定时器1溢出率)各种常用波特率及其初值波特率fOSCSMOD定时器T1C/T模式初值方式0:1MHz12MHz××××方式2:375K12MHz1×××方式1、3:62.5K12MHz102FFH19.2K11.059MHz102FDH9.6K11.059MHz002FDH4.8K11.059MHz002FAH2.4K11.059MHz002F4H1.2K11.059MHz002E8H137.5K11.059MHz0021DH110Hz6MHz00272H110Hz6MHz001FEEBH注意:在实际应用中可所需波特率直接查表获取其它参数,无须计算1、串行通信的方向分为哪几类?2、串行异步通信的帧格式是怎样的?3、波特率的含义是什么?4、信号的调制与解调的过程是怎样的?串行通信的方向分为3类。即单工、半双工、全双工数据传送速率,表示每秒钟传送二进制代码的位数,它的单位是位/秒。发送时要用调制器(Modulator)把数字信号转换为模拟信号,并加以放大再传送,这个过程称为调制。在接收时,再用解调器(Demodulator)检测此模拟信号,并把它转换成数字信号再送入计算机,这个过程称为解调。串行通信的四种工作方式方式0:在方式0下,串行口作同步移位寄存器用,其波特率固定为fosc/12。串行数据从RXD(P3.0)端输入或输出,同步移位脉冲由TXD(P3.1)送出。这种方式常用于扩展I/O口。例如:晶振频率fosc为12MHz则波特率为1Mb/s晶振频率fosc为6MHz则波特率为0.5Mb/s128345610111213数据输出移位脉冲RXDTXD805174LS164D7D6D5D4D3D2D1D092654314131211数据输入移位脉冲RXDTXD805174LS165D7D6D5D4D3D2D1D0扩展输出扩展输入方式1D0D1D2D3D4D5D6D71D0D11D7……00第n+1字符帧第n字符帧8位数据起始位停止位10位的帧格式串行口为波特率可调的10位通用异步接口UART。每发送或接收的一帧信息中,包括1位起始位0,8位数据位和1位停止位1。工作方式1用于串行发送或接收数据,为10位通用异步接口。TXD用于发送数据,RXD用于接收数据,收发一帧数据的格式为:1位起始位、8位数据位和1位停止位,共10位,其波特率为2SMOD×T1溢出率/32其中,SMOD取0或1,T1的溢出率取决于计数速率和定时器的初值。计数速率与TMOD中C/T的状态有关。当C/T=0时,计数速率=fosc/12;当C/T=1时,计数速率取决于外部输入信号的频率。方式2串行口为11位UART,传送波特率与SMOD有关。发送或接收的一帧数据中包括1位起始位0,8位数据位,1位可编程位(用于奇偶校验)和1位停止位1。D0D1D2D3D4D5D6D70/1D0D110/1……100第n+1字符帧第n字符帧8位数据起始位停止位奇偶校验11位的帧格式工作方式2时,串行口以每帧11位异步通信格式收发数据。收发一帧数据的格式为:1位起始、8位数据位、1位可编程位(或奇偶校验位)和1位停止位。其波特率为:2SMOD×fosc/64方式3方式3为波特率可变的11位UART通信方式,除了波特率以外,方式3和方式2完全相同。工作方式3和工作方式2的工作状况完全一样,只是工作方式3的波特率为:2SMOD×T1溢出率/321、为什么说串行通信的方式0是一个移位寄存器?2、方式1、方式2、方式3的波特率与哪些参数有关?3、当fosc=12MHz、串行通信工作分别工作在方式1和方式3,定时器T1的初值应为多少?(查表)在方式0下,其波特率固定为fosc/12。串行数据从RXD(P3.0)端输入或输出,同步移位脉冲由TXD(P3.1)送出。其作用相当于同步移位寄存器。SMOD的状态(1、0)、T1的溢出率、晶振频率fosc查表可知,当SMOD=1时方式1和方式3对应的定时器T1的初值均为FFH。
本文标题:MCS51_串行口
链接地址:https://www.777doc.com/doc-3175619 .html