版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章串行通讯接口一、串行通讯概述二、MCS51串行通讯接口三、与PC机串行接口电路四、其它通讯方式一、串行通讯概述计算机与外部(计算机)交换信息称为通讯。并行通讯——计算机数据各位同时传送。串行通讯——数据逐位传送。1.串行通讯的特点串行通讯只要一对数据线。传输速度慢。接口电路复杂。应用1、长距离传送。
2、只能接收串行信号的设备或只能串行输出设备。2.串行通讯类型串行通讯有同步和异步两种通讯类型。3.异步串行通讯组成字符数据在传输时,以桢为单位进行传输,每一桢都包含同步信息(---指明字符的开始及结束)。
1桢数据包含有起始位(1位)、数据位(5,6,7,8位)、校验位(1位,可选)、结束位(1,1.5,2位)。D0D1Dn一个字符帧起始位数据位奇偶校验停止位1位5~8位1位1,1.5,2位异步串行通讯格式举例起始位:1,数据位:8,停止位:1,带奇偶校验无空闲位字符帧有空闲位字符帧异步通讯的特点(1)以字符为单位发送,字符之间的间隔不受限制;(2)由起始位和停止位使收发双方同步;(3)通讯的精确格式(通讯协议)由收发双方选择。说明:☆通讯协议
约定传输字符的格式。规定起始位、数据位、校验位、停止位的长度;
约定通讯传输速率(波特率),收发双方的波特率必须相等。☆异步通讯收/发器(UART)
实现并行数据
串行数据的转换,形成桢。可用软件实现,多用硬件实现。形成以桢为单位的基本传输结构。
通讯波特率:取决于移位脉冲频率。4.同步通讯
同步通讯是由一个起始同步符和若干个数据位以及一个CRC检验字段组成,传输的数据可以以字符为单位,也可以以二进制位为单位,因此同步传输也称为数据流。(1)同步通讯以同步符作为一帧数据的起始标志,因此在传输的数据中不能包含有同步符。(2)同步通讯中一般数据位可达上千位,因此传输效率较高,传输速度较快。(3)同步通讯中传输位数较多,要求收发时钟严格同步。同步通讯的特点5.串行通讯的传输方式信号传输速率———波特率。指每秒传输的二进制位数。常用的波特率有:110,300,600,900,1200,2400,
4800,9600,19200,38400,57600,115200,·····线路传输方式
1、单工方式:数据只能按一个固定方向传输。如:寻呼系统。
2、半双工方式:可以2个方向传送,但不能同时传送。如:对讲机。
3、全双工方式:双方可以同时传送。如:电话。信号传输方式
1、基波传输方式—基波传输又称基带传输,按信号原样进行直流传输。这种方式适合于近距离慢速传输。
2、模拟载波传输方式—使用调制解调器将数字信号转换成模拟信号进行传输。调制方式:
移幅键控(ASK)由两种幅值正弦波表示“0”和“1”。
移频键控(FSK)由两种频率正弦波表示“0”和“1”。
移相键控(PSK)由正弦波两种相位表示“0”和“1”。6.串行通讯的校验方法循环冗余校验CRC(CyclicRedundancyCheck)CRC校验是用一个固定数去除信息码得出余数,将此余数附加在原信息之后,成为CRC字符。接收方用同样的数去除含有CRC字符的信息,若接收无错误,则结果为0。奇偶校验(ParityCheck)发送时每个字符的最高位之后附加一个奇偶校验位,以保证整个字符(包括奇偶校验位)为“1”的位数为奇数(奇校验)或为偶数(偶校验)。接收时按照发送方所确定的同样的奇偶性对收到的字符进行校验。7.异步通讯收/发器(UART)的实现软件实现书P333例9.120HRAM20H:数据起始单元LEN:数据长度单元要求字符帧长度11位,由P1.0送出。起始位:1数据位:7奇校验:1停止位:2奇校验位:1数据位:7程序采用双重循环,外循环控制发送字符个数,内循环控制字符帧的位数。
ORG1000HSOUT: MOVR0,#20H ;取数首址NEXT: MOVR2,#0BH ;字符帧长度
CLRC ;为形成起始位作准备
MOVA,@R0 ;取数据
RLCA ;起始位送ACC.0 INCR0 ;下一个取数地址LOOP: MOVR1,A ;发送字符暂存R1 ANLA,#01H ;屏蔽A中高7位
ANLP1,#0FEH ;清除P1.0 ORLP1,A ;在P1.0上输出串行数据
MOVA,R1 ;恢复A中的数
ACALLDELAY RRC ;准备下一位
SETBC ;在C中形成停止位
DJNZR2,LOOP ;一帧未完,跳转
DJNZLEN,NEXT ;一帧已完,下一帧
RETDELAY:···········硬件实现接收:串入并出发送:并入串出接收数据的采样16TRxCT启动检测确认启动位采样数据16T二、MCS51串行通讯接口在MCS-51芯片中,内含一个以UART方式工作的全双工串行通讯口,可同时收/发串行数据。芯片的P3.0=RXD为串行输入线,P3.1=TXD为串行输出线。内部包含2个独立的收/发BUF(名称为RBUF/TBUF),统称为SBUF。对TBUF是只可写入,不可读出,对于RBUF,只可读出而不可写入,故可共用一个地址99H。即SBUF地址为99H。MCS51串行通讯须解决的问题:1、如何确定串行通讯工作方式?2、如何确定串行通讯的波特率?指令:MOVA,SBUF,接收;MOVSBUF,A发送1.MCS-51中UART电路框图波特率产生发送控制接收控制中断产生数据采样采样脉冲是接收脉冲的16倍频。16TRxCT确认启动位在此3个脉冲上采样数据,3比2表决取值。采到低电平后,如连续8个都是低电平,确认为起始位。2.串行通讯控制寄存器SCON寄存器(98H)SCON(98H)PCON(87H)SM0、SM1:通讯方式控制位。SM2:方式2/3下的主-从式多机通讯操作的控制位。REN:接收允许位,REN=0禁收,REN=1允许接收。TB8:在方式2/3下的第9位发送数据,作校验位或在多机通讯中作地址/数据标志位。RB8:在方式2/3下,是收到的第9位数据。TI、RI:发送/接收中断。SM0SM1SM2RENTB8RB8TIRI9F9E9D9C9B9A9998位地址SCON通讯方式控制SM0SM1SM2RENTB8RB8TIRI9F9E9D9C9B9A9998SCONSM0SM1方式串口工作方式波特率000同步移位寄存器工作方式fosc/1201110位异步收发可变102fosc/64或fosc/32113可变11位异步收发11位异步收发10位异步收发:起始位:1,数据位:8,停止位1。11位异步收发:起始位:1,数据位:9,停止位1。PCON寄存器(87H)SMOD———GF1GF0PDIDL为8051设计的电源控制寄存器。SMOD=1,方式1/2/3波特率加倍。SMOD(D7):串口波特率选择位GF1、GF0:通用标志位。PD:掉电控制位。=0正常方式,=1掉电方式。IDL:空闲控制位。=0正常方式,=1空闲方式。PCONP338方式0:同步移位寄存器工作方式3.串行通讯的四种工作方式串行数据从RXD发送/接收;同步时钟从TXD发出。(波特率=f0/12)主要用途:和外部同步移位寄存器连接,扩展一个并行I/O口。8031移位寄存器TXDRXD8031移位寄存器TXDRXD发送接收方式0:同步移位寄存器工作方式SM0SM1SM2RENTB8RB8TIRISCON发送指令:MOVSBUF,A发送条件:TI=0接收条件:RI=0、REN=10000/10000发送当执行发送指令:MOVSBUF,A后,MCU即开始从RXD移位输出,发送完TI=1,以供中断或查询,TI用软件复位。接收当满足接收条件即从RXD接收数据,收到8位数据后RI=1,以供中断或查询,MCU用MOVA,SBUF
读入数据,RI用软件复位。接收时,数据低位在前。发送:SCON=00H接收:SCON=10HP342例9.2
以方式0工作,自左至右轮流点亮指示灯。设串行口采用中断方式发送。方式0-串行发送SM0SM1SM2RENTB8RB8TIRISCON0000000000H不允许接收CD4094:8位串入并出同步移位寄存器STB=0:接收串行数据,锁存并行输出。STB=1:并行数据输出,关闭串行数据。自左至右轮流点亮指示灯。主程序
ORG2000H MOVSCON,#00H;方式0
MOVIE,#90H CLRP1.0 ;STB=0
MOVA,#80H MOVSBUF,ALOOP: SJMPLOOP中断服务程序
ORG0023H AJMPSBV ORG0100HSBV: SETBP1.0 ;
点亮
ACALLDELAY
CLRTI RRACLRP1.0 ;灭显示
MOVSBUF,A RETIDELAY:………..STB=0:接收串行数据,关闭并行输出。STB=1:并行数据输出,关闭串行数据。P343例9.3CD4014:8位并入串出同步移位寄存器P/S’=0:数据串行输出,关闭并行输入。P/S’=1:数据并行输入,关闭串行输出。方式0-串行接收要求:Kc断开(=1)时,8031等待,
Kc合上(=0)时,8031输入数据。采用查询方式进行数据输入。SM0SM1SM2RENTB8RB8TIRISCON0001000010H
ORG2000HSTART:JBP1.0,$ ;KC=1,则等待
STEBP1.1 ;输入开关量
CLRP1.1 ;开始串行输出
MOVSCON,#10H;启动接收
JNBRI,$ CLRRI MOVA,SBUF MOV20H,A ;输入数据存入20H单元
ACALLOTHER ;执行其它程序
SJMPSTART ;准备下次输入
ENDP/S’=0:数据串行输出,关闭并行输入。P/S’=1:数据并行输入,关闭串行输出。方式1:10位异步通讯方式8位数据,1位起始位,1位停止位。SM0SM1SM2RENTB8RB8TIRISCON0100/10000波特率可变,用CTC1作波特率发生器。启动发送:CPU执行MOVSBUF,A送数据指令后,开始自动从TXD发出串行数据,发送完后,TI置1(需用软件复位)。接收:(前提REN=1)串行数据从RXD输入;对数据位每位采样3次,至少2次采样信号相同才予以接收,在接收第9位数据(即停止位)时,若满足条件:(SM2=0且RI=0),则将收到的数据送接收SBUF,并置RI
=1,RI需用软件复位。(方式1发送时,一般令SM2=0)方式2/3:11位异步通讯方式9位数据,1位起始位,1位停止位。方式2:波特率固定(f0/32或f0/64)方式3:波特率可变,用CTC1作波特率发生器。唯一区别启动发送:CPU执行
MOVSBUF,A后,开始自动从TXD发出串行数据,发送完后,TI置1。发送前TB8应预先存入相应的数值,构成第9位发送的数据,例如可存入奇偶校验的值或其它的控制数值。D0D1D7起始位9位数据位停止位TB8方式2/3:11位异步通讯方式9位数据,1位起始位,1位停止位。接收:(前提REN=1)串行数据从RXD输入;对数据位每位依旧是3取2表决,收完一桢(11位数据)后,若满足条件(SM2=0且RI=0)或者(SM2=1且RI=0且第九位数据=1)后RI置1,RI需用软件复位。第9位数据送RB8。方式2、3时,SM2根据需要置成1或0,由其可控制是否接收数据。SM0SM1SM2RENTB8RB8TIRISCON11×0/1000010×0/10000方式2方式34、串行通讯波特率设计方式0:波特率不受SMOD影响。方式1/3:Baud可变,受SMOD影响,由CTC1的溢出频率决定(T1一般工作在定时方式)。方式2:Baud受SMOD影响。串行通讯波特率设计CTC1的溢出频率T1为方式0:K=13T1为方式1:K=16T1为方式2、3:K=8P342:常用波特率表。思考:如晶振改为11.0592MHz,重新计算定时常数。方式1/3的波特率为:常用:T1为方式2(8位自动重装):K=85、串行通讯应用串口初始化选好控制字,送入SCON和CTC1;选择恰当的Baud,设计好TC及SMOD,送入TH1、TL1和PCON。例:甲乙二机串行通讯,甲发乙收,设Boud=400,f0=6MHz。甲:将片外RAM首址为ADT的128字节数据顺序发出。乙:将收到的128字节数据顺序存放在首址为ADR的片外RAM中。设计:Boud=400,f0=6MHz,串口工作方式为1,CTC1工作方式为2。SCON:
甲:01000000,即40H
乙:01010000,即50HTC=256-6000000/(384×400)=256-39=217=D9HCTC1的控制字:00100000即TMOD=20HSM0SM1SM2RENTB8RB8TIRISCONGATEC/TM1M0GATEC/TM1M0TMODT1T0设SMOD=0
ORG0000HLJMPMAIN
ORG0023HLJMPINT
ORG0100HMAIN:MOVSCON,#40H MOVPCON,#00HMOVTMOD,#20HMOVTH1,#0D9HMOVTL1,#0D9HSETBESSETBEASETBTR1MOVDPTR,#ADTMOVR0,#00HMOVXA,@DPTRMOVSBUF,AREP:SJMPREP;INT:CLRTICJNER0,#7FH,LOOPCLRES
SJMPENDTLOOP:INCR0INCDPTRMOVXA,@DPTRMOVSBUF,AENDT:RETIENDSCON=40H,TMOD=20H,TH1=TL1=D9H甲机发送程序
ORG0023HLJMPINT
ORG1000HMAIN:MOVSCON,#50HMOVTMOD,#20HMOVTH1,#0D9HMOVTL1,#0D9HMOVDPTR,#ADRMOVR0,#00HSETBTR1SETBEASETBESREP:SJMPREPINT:CLRRIMOVA,SBUFMOVX@DPTR,AINCDPTR INCR0CJNER0,#80H,LOOPCLRESLOOP:RETIENDSCON=50H,TMOD=20H,TH1=TL1=D9H乙机接收程序P344例9.4用中断法编写串口方式1下的发送程序。设f0=6MHz,T1作波特率发生器,波特率为2400bps。数据首地址:TBLOCK,长度:LEN。要求奇校验位在数据第8位发送,字符块长度LEN首先发送。SM0SM1SM2RENTB8RB8TIRISCON0100000040HTMODGATEC/TM1M0GATEC/TM1M00010000020H定时常数:设SMOD=1准备工作:方式1:8位数据传送方式2:8位定时,自动重装。PCON=80H约定原数据的最高位=0。主程序: ORG2100HTBLOCKDATA20HLENDATA14HSTART:MOVTMOD,#20H MOVTL1,#0F3H MOVTH1,#0F3H MOVPCON,#80H SETBTR1 MOVSCON,#40H MOVR0,#TBLOCK MOVA,#LEN MOVR2,A MOVSBUF,A SETBEAWAIT: SETBES SJMPWAIT初始化发送LENP444,该指令对标志位P产生影响.=1,A中1的个数为奇数。=0,为偶数。P位于PSW.0 ORG0023H LJMPTXSVE ORG2150HTXSVE:CLRES CLRTI
MOVA,@R0
MOVC,PSW.0
CPLC MOVACC.7,C MOVSBUF,A DJNZR2,NEXT SJMP$NEXT: INCR0 RETI END中断程序:约定原数据的最高位=0发送完后停在此处。思考:若发完后,程序还需继续执行,如何修改程序?6、单片机的多机通讯多机通讯模式:星型、环型、串行总线型、主从式多机型星型环型串行总线型单片机的多机通讯(续)8031
TxD
RxD
8031RxD
TxD
8031RxD
TxD
主机从机1从机n……..主机可以发送信息到任一台从机;从机只能发送信息到主机,从机之间不能通讯。接口必须加驱动和隔离,不能简单地线对线连接。主从式多机型2.串行通讯控制寄存器SCON寄存器(98H)SCON(98H)PCON(87H)SM0、SM1:通讯方式控制位。SM2:方式2/3下的主-从式多机通讯操作的控制位。REN:接收允许位,REN=0禁收,REN=1允许接收。TB8:在方式2/3下的第9位发送数据,作校验位或在多机通讯中作地址/数据标志位。RB8:在方式2/3下,是收到的第9位数据。TI、RI:发送/接收中断。SM0SM1SM2RENTB8RB8TIRI9F9E9D9C9B9A9998位地址SCON多机通讯识别多机通讯运用方式2或方式3进行。方式2、3的发送:增加第9位数据TB8。方式2、3的接收:第9位数据送入RB8。RI=0,SM2=02.RI=0,SM2=1,且收到第9位数据=1接收条件主机发送顺序:先地址后数据;从机只发数据给主机。多机通讯识别主机设置:1。SM2=0,能随时接收从机数据。2。主机发地址时,TB8=1;不管从机处于什么状态都能接收数据。发数据时,TB8=0;只有SM2=0的从机才能接收数据。
从机设置:1。未收到地址前(即等待通讯时),所有从机的SM2=1,只可以接收主机发来的地址;2。从机收到地址进行比较,地址相符的从机使SM2=0以便接收主机发送的数据。3。地址不相同的从机,保持SM2=1,不能接收主机发送的数据。4。地址相符的从机也可向主机发送数据。5。从机数量=255。RI=0,SM2=02.RI=0,SM2=1,且收到第9位数据=1P352例9.7编出主机和从机通讯程序,波特率为1200bps。
通讯数据类型,一般除地址、数据外,还应包括供主/从机识别的命令字和状态字。主从通讯中,主机程序为一个,从机程序有若干个,各自完成规定的功能,但其通讯部分程序,除地址号不同外,其余都相同。8031
TxD
RxD
8031RxD
TxD
8031RxD
TxD
主机从机1从机n……..通讯命令字:00—主机发送从机接收命令。
01-从机发送主机接收命令。
FF-从机复位命令,使从机的SM2=1,重新准备接收地址。从机状态字:ERR00000TRDYRRDY=0:合法命令=1:非法命令=0:从机接收未就绪=1:从机接收己就绪=0:从机发送未就绪=1:从机发送己就绪本例假设有:准备工作:要求波特率为1200bps。SM0SM1SM2RENTB8RB8TIRISCON11011000D8HTMODGATEC/TM1M0GATEC/TM1M00010000020H定时常数:设SMOD=0主机:方式3:9位数据收发方式2:8位定时,自动重装。PCON=00HSM0SM1SM2RENTB8RB8TIRISCON11111000F8HTMODGATEC/TM1M0GATEC/TM1M00010000020H定时常数:设SMOD=0从机:方式3:9位数据收发方式2:8位定时,自动重装。PCON=00H设fo=6MHz设fo=11.0592MHz本例主从应答要求主机发地址对应从机返还地址命令分类地址不正确主机发命令对应从机返还命令返还命令不正确从机接收就绪从机接收未就绪从机发送就绪01-收数命令00-发数命令从机发送未就绪发送数据块接收数据块开始从机程序=从机主程序+从机中断服务程序主机程序=主机主程序+主机通讯子程序主机主程序
ORG2000HSTART:MOVTMOD,#20H MOVTL1,#0F3H MOVTH1,#0F3H SETBTR1 MOVSCON,#0D8H ;TB8=1 MOVPCON,#00H MOVR0,#40H ;发送数据块首址
MOVR1,#20H ;存接收数据块的首址
MOVR2,#SLAVE;被寻址从机地址
MOVR3,#00H/01H;00-主发从收命令
01-从发主收命令
MOVR4,#20H ;发送数据块长度
MOVR5,#20H ;接收数据块长度
ALCALLCOMMU ;通讯子程序
…….
SJMP$完成主机初始化工作主机通讯子程序框图完成地址、数据命令的发送、接收及应答判断等工作。主机通讯子程序
ORG2100HCOMMU:MOVA,R2 ;从机地址→A MOVSBUF,A JNBRI,$ ;等待从机应答
CLRRI MOVA,SBUF;从机应答地址送A XRLA,R2 ;地址核对
JZMTXD2 ;相符转MTXD1:MOVSBUF,#0FFH;发送从机复位信号,TB8=1,则从机的RB8=1 SETBTB8 ;重新送地址标志
SJMPCOMMU ;重发地址MTXD2:CLRTB8 ;命令以数据格式发送,TB8=0 MOVSBUF,R3;发命令
JNBRI,$ ;等待从机应答返还状态字
CLRRI状态字含有命令是否合法的标志位。
MOVA,SBUF ;收返还命令
JNBACC.7,MTXD3 ;核对命令无错,则跳转命令分类
SJMPMTXD1 ;命令收错,则重新联络MTXD3:CJNER3,#00H,MRXD;从发主收--跳转
JNBACC.0,MTXD1;从机接收未就绪,则重新联络MTXD4:MOVSBUF,@R0 ;从机接收就绪,开始发数据
JNBTI,$ CLRTI INCR0 DJNZR4,MTXD4 RET命令分类发送数据从机状态字:ERR00000TRDYRRDY=0:合法命令=1:非法命令=0:从机接收未就绪=1:从机接收己就绪=0:从机发送未就绪=1:从机发送己就绪MRXD:JNBACC.1MTXD1;从机发送未就绪,从新联络MRXD1:JNBRI,$ CLRRI MOVA,SBUF MOV@R1,A INCR1 DJNZR5,MRXD1 RET END从机状态字:ERR00000TRDYRRDY=0:合法命令=1:非法命令=0:从机接收未就绪=1:从机接收己就绪=0:从机发送未就绪=1:从机发送己就绪接收数据从机主程序完成从机初始化工作
ORG1000HSTART:MOVTMOD,#20H MOVTL1,#0E8H MOVTH1,#0E8H SETBTR1 MOVSCON,#0F8H;TB8=1,SM2=1 MOVPCON,#00H MOVR0,#20H ;发送数据块首址
MOVR1,#40H ;接收数据块首址
MOVR2,#20H;发送数据块长度
MOVR3,#20H;接收数据块长度
SETBEA SETBES CLRRI
…….
SJMP$从
机
中
断
服
务
程
序
框
图此框图没有处理复位指令。从机中断服务程序1R0:发送数据首址R1:接收数据首址R2:发送数据块长度R3:接收数据块长度PSW.5:本机发送就绪位标志=1发送准备就绪PSW.1:本机接收就绪位标志=1接收
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 西餐课程设计案例
- 2024年旅游度假型住宅预售认购协议3篇
- 农业产业链的信息化管理与智能化决策
- 小学教育中的文化传承与语文课堂互动教学研究
- 二零二五年家用中央空调系统安装与智能化改造及环保认证合同3篇
- 家庭音乐教育提升孩子情感智商的途径
- 2025年度田地租赁与农业绿色发展合作协议2篇
- 练反应力的课程设计
- 2025年度家暴离婚赔偿协议书赔偿金支付与终止条件协议3篇
- 2025年冀教版九年级科学下册月考试卷
- 化妆品购销合同范本
- PE拖拉管施工方案标准版
- 7725i进样阀说明书
- 铁路建设项目施工企业信用评价办法(铁总建设〔2018〕124号)
- 银监会流动资金贷款需求量测算表
- 时光科技主轴S系列伺服控制器说明书
- 无机非金属材料专业 毕业设计论文 年产240万平方米釉面地砖陶瓷工厂设计
- 社会组织绩效考核管理办法
- 密封固化剂配方分析
- 国际项目管理专业资质认证(ipmp)b级报告模板
- 计数培养基适用性检查记录表
评论
0/150
提交评论