第9章MCS51的串行接口

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第十章:MCS-51系统的串行接口§10.1:串行通信的基本知识§10.2:MCS-51单片机的串行接口§10.3:MCS-51单片机串行接口的应用§10.4:MCS-51单片机RS-232串行接口2§10.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数据位格式注:波特率的概念看268页的说明:每秒传送的二进制数码的位数,单位:位/秒注:数据位格式由工作方式确定9串行通信的基本通信方式•同步传送方式同步传送的特点同步传送的格式数据在线路上的传送是连续的•同步字符块——由N字节数据组成•数据块——由M长度的字节数据组成注:同步字符和数据块由协议确定10串行通信的基本通信方式•异步、同步传送比较异步同步•用位作为收发字符的同步信号•相对效率低•用字节作为收发数据块的同步信号,•相对效率高注:传送数据量少时用串行异步方式传送数据量多时用串行同步方式11并行/串行变换及串行接口•数据传送方式计算机内部的数据传送均采用并行传送方式计算机间的数据传送应采用串行传送方式•数据变换方式计算机向外发送数据需完成数据的并行/串行变换计算机由外接收数据需完成数据的串行/并行变换•数据变换方法用软件实现数据的并行/串行变换用硬件实现数据的并行/串行变换12§10.2:MCS-51单片机的串行接口8051的串行接口电路是能实现同步通信,又能实现异步通信的全双工串行口。用途:网络通信;串行异步通信;同步移位寄存器但最常用的是异步方式。常写为UART通用异步接收/发送器UARTUniversalAsynchronousReceiver/Transmitter13§10.2:MCS-51单片机的串行接口•MCS-51单片机串行接口的硬件•MCS-51单片机串行接口的控制•MCS-51单片机串行接口工作方式P3.0位的第二功能——收端RXDP3.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单片机串行接口的控制•串行口控制寄存器——SCONb7b6b5b4b3b2b1b0SM0SM1SM2RENTB8RB8TIRI9FH9EH9DH9CH9BH9AH99H98HSM0、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单片机串行接口的控制•串行数据传送速率控制寄存器——PCONb7b6b5b4b3b2b1b0SMODSMOD=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的初值•常用波特率(表10.2,276页)注:双机通信常用方式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§10.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口例10.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口例10.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用于串行通信(双机通信)例10.3:8031串行口双工方式收发ASCII字符,最高1位用来作奇偶校验位,采用奇校验方式,波特率为1200。•工作方式•数

1 / 41
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功