您好,欢迎访问三七文档
第7章MCS-51的串行接口•7.1串行通信概述•7.2串行接口的结构•7.3串行口的应用举例•7.4串行通信物理接口标准7.1串行通信概述•一、异步串行通信和同步串行通信•二、串行通信数据传送的方向•三、串行通信的检错与纠错•四、串行接口芯片UART和USART一、串行通信数据传送的方向•单工、半双工、全双工二、串行通信的方式•常用的通信方式有两种:同步方式和异步方式,也称同步通信和异步通信。•1.异步通信•例如,传送一个7位的ASCII码字符,再加上一个起始位、一个奇偶校验位和一个停止位组成的一帧共10位。传输字符“E”的ASCII码的波形。2.同步通信3比较•①从硬件设备的要求看•②从数据的传输效率看4.串行传送速率--波特率•所谓的波特率,是指每秒钟内所传送二进制数据的位数,单位为波特(Bd),实际上它是传送每一位信息所用时间内的倒数。•如果一个串行字符由1个起始位,7个数据位,1个奇偶校验位和1个停止位等10个数位构成,每秒钟传送120个字符,则实际传送的波特率为:•10位/字符×120字符/秒=1200位/秒=1200波特•传送每位信息所占用的时间:•1秒/1200=0.833毫秒常用的标准波特率:•110、300、600、1000、1200、2400、4800、9600和19200波特。它也是国际上规定的标准波特率。同步传送的波特率高于异步方式,可达到64000波特。三、串行接口芯片UART和USART•由于计算机是按并行方式传送数据的,当它采用串行方式与外部通信时,必须进行串并行变换。发送数据时,需通过并行输入、串行输出移位寄存器将CPU送来的并行数据转换成串行数据后,再从串行数据线上发送出去;接收数据时,则需经串行输入、并行输出移位寄存器,将接收到的串行数据转换成并行数据后送到CPU去。•异步收发器UART、•通用同步异步收发器USART。四、调制解调器1.幅度调制2.频率键移调制(FSK)7.2MCS-51串行接口的机构•MCS-51单片机内部的串行接口是全双工的,即它能同时发送和接收数据。这个口既可以用于网络通信,也可以实现串行异步通信,还可以作为同步移位寄存器使用。在串行口中可供用户使用的是它的寄存器。•一、结构•二、控制寄存器•三、工作方式•四、波特率的设定一、串行口寄存器的结构•串行口中寄存器的基本结构如图7-8所示。•图中共有两个串行口的缓冲寄存器(SBUF)。一个是发送寄存器,一个是接收寄存器。•串行发送时,从片内总线向发送SBUF写入数据;串行接收时,从接收SBUF向片内总线读出数据。它们都是可寻址的寄存器,但因为发送和接收不能同时进行,所以给这两个寄存器赋以同一地址(99H)。二、串行口控制寄存器•(1)串行控制寄存器SCON•(2)电源控制寄存器PCON•(3)中断允许寄存器IE三、串行口的工作方式•1.串行口工作方式0•串行口工作方式0为同步移位寄存器输入/输出模式,可外接移位寄存器,以扩展I/O口。•2.串行口工作方式1串行口工作于方式1时,为波特率可变的8位异步通信接口。•3.方式2和方式3串行口工作于方式2和方式3时,被定义为9位异步通信接口。四、波特率的设定•串行口每秒钟发送或接收数据位数称为波特率。假设发送一位数据所需时间位T,则波特率为1/T。•方式0的波特率是固定的,等于单片机晶振频率的1/12,即每个机器周期接收或发送一位数据。•方式2的波特率与电源控制器PCON的最高位SMOD的值有关:•方式2的波特率=晶振频率×2SMOD/64•方式1和方式3的波特率除了与SMOD位有关外,还与定时器T1的溢出率有关。定时器T1作为波特率发生器,常选用电视方式2(8位重装载初值方式),并且禁止T1中断。此时TH1从初值计数到产生溢出,它每秒钟溢出的次数称为溢出率。于是•方式1或3的波特率=T1的溢出率×2SMOD/32=2SMOD/32×fosc/(12×(256-TH1))7.3串行口的应用举例•①按选定串行口的操作方式设定SCON的SM0、SM1两位二进制编码。•②对于方式2或3,应根据需要在TB8中写入待发送的第9位数据。•③若选定的操作方式不是方式0,还需设定发送的波特率:•设定SMOD的状态,以控制波特率是否加倍。•若选定操作方式1或3,则应对定时器T1进行初始化以设定其溢出率。六、RS-232C串行口标准及应用•RS-232C是美国电子工业协会EIA(ElectronicIndustryAssociation)于1962年指定的一种串行通信接口标准。
本文标题:第7章串行口
链接地址:https://www.777doc.com/doc-3215984 .html