您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 38第9章MCS51的串行接口
第九章:MCS-51系统的串行接口§9.1:串行通信的基本知识§9.2:MCS-51单片机的串行接口§9.3:MCS-51单片机串行接口的应用§9.4:MCS-51单片机RS-232串行接口2§9.1:串行通信的基本知识•串行通信的基本通信方式•串行通信中的数据传送方式•并行/串行变换及串行接口3串行通信:按位顺序传输方式进行的数据传输(通信)并行数据传输:30m计算机内部效高成本高串行数据传输:internet速度慢成本低串行通信分类:异步串行通信AsynchronousTransmission同步串行通信SynchronousTransmission4串行通信的基本通信方式•串行通信协议异步协议(异步串行通信)同步协议(同步串行通信)数据可顺次地出现在数据流中,数据间的相对延迟没有专门的时钟来控制。数据流中顺次出现的数据由一个主数据时钟来管理,以一定的时间间隔出现。注:同步串行通信速度虽快,但要求收发方在整个数传过程中始终保持同步,因此对硬件要求高,实现难度大。5串行通信的基本通信方式•异步串行通信协议中的位定义•同步串行通信协议中的字节定义010/1起始位停止位数据位(位同步)0/10/1同步字节数据字节(字节同步)6串行通信的基本通信方式•异步传送方式异步传送的特点异步传送的格式•数据在线路上的传送不是连续的•收发双方各用自已的时钟源控制接收和发送•起始位——1bit,0电平•数据位——Nbits,有效电平•校验位——1bit,与数据位中的值有关,可不用•停止位——1~2bit,1电平注:传送字符由4部分组成7串行通信的基本通信方式•异步传送方式(续)异步传送中的数据间同步位——起始位异步传送中数据间的延时控制——停止位•发端按传送格式发数据流•收端若收到0电平(1bit),则认为后面将固定收Nbits数据位和1bit校验位•固定收Nbits数据位和1bit校验位后•固定收异步传送格式定义的停止位(固定延迟)•若无新的起始位(0电平),则收Mbits个1电平(可变延迟)8串行通信的基本通信方式•异步传送方式(续)异步传送中的数据位•收发端必顺采用相同的异步传送格式•收发端必顺采用相近的速率(波特率)收发端的一致性特点(约定)•7bits数据位格式•8bits数据位格式注:波特率的概念看271页的说明:每秒传送的二进制数码的位数,单位:位/秒注:数据位格式由工作方式确定9串行通信的基本通信方式•同步传送方式同步传送的特点同步传送的格式数据在线路上的传送是连续的•同步字符块——由N字节数据组成•数据块——由M长度的字节数据组成注:同步字符和数据块由协议确定10串行通信的基本通信方式•异步、同步传送比较异步同步•用位作为收发字符的同步信号•相对效率低•用字节作为收发数据块的同步信号,•相对效率高注:传送数据量少时,用串行异步方式传送数据量多时,用串行同步方式11并行/串行变换及串行接口•数据传送方式计算机内部的数据传送均采用并行传送方式计算机间的数据传送应采用串行传送方式•数据变换方式计算机向外发送数据需完成数据的并行/串行变换计算机由外接收数据需完成数据的串行/并行变换•数据变换方法用软件实现数据的并行/串行变换用硬件实现数据的并行/串行变换12§9.2:MCS-51单片机的串行接口8051的串行接口电路是能实现同步通信,又能实现异步通信的全双工串行口。用途:网络通信;串行异步通信;同步移位寄存器但最常用的是异步方式。常写为UART通用异步接收/发送器UARTUniversalAsynchronousReceiver/Transmitter13§9.2:MCS-51单片机的串行接口•MCS-51单片机串行接口的硬件•MCS-51单片机串行接口的控制•MCS-51单片机串行接口工作方式P3.0位的第二功能——收端RXDP3.1位的第二功能——发端TXD寄存器SCON、PCON、SBUF寄存器IE、IP方式0方式2方式1方式314发送SBUF(99H)接收SBUF(99H)移位时钟输入移位寄存器8051内总线Rxd串行输入Txd串行输出RI(接收中断)TI(发送中断)串口寄存器结构:15MCS-51单片机串行接口的控制•8位数据缓冲器——SBUF全双工串行接口寄存器SBUF为特殊功能寄存器,地址为99H串行输出时为发送数据缓冲器MOVSBUF,A串行输入时为接收数据缓冲器MOVA,SBUF注:数据从发送端TXD(P3.1)开始输出注:数据从接收端RXD(P3.0)已经输入注:不可位寻址16MCS-51单片机串行接口的控制•串行口控制寄存器——SCONb7b6b5b4b3b2b1b0SM0SM1SM2RENTB8RB8TIRI9FH9EH9DH9CH9BH9AH99H98HSM0、SM1——串行接口工作方式定义位•SM0、SM1=00——方式0,同步移位寄存器•SM0、SM1=01——方式1,10位异步接收发送•SM0、SM1=10——方式2,11位异步接收发送•SM0、SM1=11——方式3,11位异步接收发送注:方式0的特点,方式2、方式3的差异为多机通信设计的,方3的波特率可设方2固定。17MCS-51单片机串行接口的控制•串行口控制寄存器——SCON(续)SM2——多机通信控制位•SM2=0,无多机通信•SM2=1,允许多机通信REN——串行口接收数据控制位•REN=1,允许串行口接收数据•REN=0,禁止串行口接收数据TB8——发送串行输出数据的第9位RB8——接收串行输入数据的第9位注:方式2和方式3时,该位用于作校验位多机通信多机通信多机通信18MCS-51单片机串行接口的控制•串行口控制寄存器——SCON(续)TI——串行口中发送完一组数据后的中断标志RI——串行口中接收完一组数据后的中断标志•若串口发送完一组数据,则由硬件自动置TI=1•若串口还要发数据,则应手动编程使TI=0•若串口接收完一组数据,则由硬件自动置RI=1•若串口还要收数据,则应手动编程使RI=019MCS-51单片机串行接口的控制•串行数据传送速率控制寄存器——PCONb7b6b5b4b3b2b1b0SMODSMOD=0,定义波特率不变SMOD=1,定义波特率加倍注:PCON寄存器的地址为87H,仅b7位有用,不可位寻址。用于方式220MCS-51单片机串行接口的工作方式•方式0——移位寄存器输入/输出方式非串行通信用方式RXD、TXD线的作用•用并入串出移位寄存器扩展并行输入口•用串入并出移位寄存器扩展并行输出口•RXD——串→并、并→串数据传送线•TXD——同步时钟线,同步时钟为fosc/12注:方0是应用串行接口扩展并行接口的方式。21MCS-51单片机串行接口的工作方式•方式1——10位异步接收/发送(波特率可变)方式1的数位•1位起始位——值0•8位数据位——为有用信息(可含1位校验位)•1位停止位——值1异步传送时的速率设置•速率设置的方法——设置定时器T1的初值•常用波特率(表9.2,280页)注:双机通信常用方式1!22MCS-51单片机串行接口的工作方式•方式1(续)异步发送时的工作过程•发送条件——清SCON中发送中断标志TI=0•发送指令——MOVSBUF,A注:需发送的8位字节数据送串行数据缓冲器SBUF后将启动异步发送开始。•起始位0、停止位1在执行发送指令时自动加入•发送传输线——TXD、GND•发送10位数据结束——发送中断标志TI=1注:若需继续发送,置TI=0,送数据到SBUF23MCS-51单片机串行接口的工作方式•方式1(续)异步接收时的工作过程•接收条件——清SCON中接收中断标志RI=0置SCON中接收控制标志REN=1•接收传输线——RXD、GND•接收同步位——接收传输线RXD有从1到0的信号•接收数据——9位数据送数据接收器8位字节数据送串行数据缓冲器SBUF1位停止位送入SCON中的RB8=1•接收10位数据结束——接收中断标志RI=1注:若需继续接收,置RI=024MCS-51单片机串行接口的工作方式•方式2——11位异步接收/发送(波特率固定)方式2的数位•1位起始位——值0•8位数据位——为1字节有用信息•1位校验位——对有用信息的奇偶校验•1位停止位——值1异步传送时的速率设置•若PCON中SMOD=1,速率=fosc/32•若PCON中SMOD=0,速率=fosc/6425MCS-51单片机串行接口的工作方式•方式2(续)异步发送时的工作过程异步接收时的工作过程•基本过程同方式1•1位校验位在发送前应先置入SCON中的TB8•基本过程同方式1•1位校验位(第9位)送SCON中的RB8注:RB8中未存放1位停止位26MCS-51单片机串行接口的工作方式•方式3——11位异步接收/发送(波特率可变)基本定义同方式2速率设置同方式1注:方式0——固定波特率为fosc/12方式2——固定波特率为fosc/32或fosc/64上述方式与单片机主频有关方式1——可变波特率方式3——可变波特率上述方式与定时器T1的初值有关27§9.3:51单片机串行接口的应用•方式0用于扩展并行I/O口•方式1和方式3仅传送数位不同•方式2为固定波特率•方式1和方式3均需设置可变波特率28方式0用于扩展并行I/O口•串→并方式,扩展并行输出口电路图RXDTXDDATACLK功能线•RXD——接移位寄存器的数据输入端•TXD——接移位寄存器的同步时钟端8031串入并出移位寄存器注:注意信号方向CD40947416429方式0用于扩展并行I/O口•并→串方式,扩展输入口电路图功能线RXDTXDDATACLK8031并入串出移位寄存器•RXD——接移位寄存器的数据输出端•TXD——接移位寄存器的同步时钟端注:注意信号方向CD40147416530方式0用于扩展并行I/O口例9.1:用8031的串口外接1个串入并出移位寄存器芯片CD4094扩展为8位并行输出口,并口接8个LED,并循环轮流显示。•电路图P1.0DATACLKTBSCD40948031TXDRXD输出允许控制端…31方式0用于扩展并行I/O口•编程ORG0000HLJMPMAINORG0023HLJMPSBR;串口中服程序符号地址MAIN:MOVSCON,#00XXXX0XB;方式0,TI=0SETBEASETBESMOVA,#10000000B;初值,左边LED亮CLRP1.0;CD4094输出并口关闭MOVSBUF,A;数据传出LOOP:SJMP$;等待中断产生32方式0用于扩展并行I/O口•编程(续)串口中服程序SBR:SETBP1.0;CD4094输出并口打开,LED亮ACALLDELAYCLRTI;手动清中断标志RRA;循环位移;80H、40H、20H、10H、08H…CLRP1.0;CD4094输出并口关闭MOVSBUF,A;数据传出,一段时间后将;产生中断RETIEND注:延时子程序DELAY未给出33方式0用于扩展并行I/O口例9.2:用8031的串口外接1个并入串出移位寄存器芯片CD4014扩展为8位并行输入口,并口接8个开关量输入,开关K闭合时有效。•电路图P//SCD40148031P1.0KRXDTXDDATACLKP1.134方式0用于扩展并行I/O口•编程START:JBP1.0,START;若K未合上则循环查询SETBP1.1;CD4014并行数据输入有效MOVSCON,#00X1XXX0B;方式0,REN=1允许接收,RI=0CLRP1.1;CD4014串行数据输出有效LOOP:JNBRI,LOOP;若RI=0数据未收完;若RI=1数据已收完CLRRI;手动清RI,准备下次传送数据MOVA,SBUFwaiting35方式1用于串行通信(双机通信)例9.3:8031串行口双工方式收发ASCII字符,最高1位用来作奇偶校验位,采用奇校验方式,波特率为1200。•工作方式•数据区•主频选用方式1
本文标题:38第9章MCS51的串行接口
链接地址:https://www.777doc.com/doc-3247332 .html