《串行接口与应用PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《串行接口与应用PPT讲稿.ppt(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、串行接口与应用串行接口与应用第1页,共38页,编辑于2022年,星期三7.1 串行通信的基本知识串行通信的基本知识在在在在MCS-51MCS-51单单单单片片片片机机机机内内内内部部部部,有有有有一一一一个个个个通通通通用用用用异异异异步步步步接接接接收收收收/发发发发送送送送器器器器(UARTUART)。这这这这是是是是一一一一个个个个全全全全双双双双工工工工串串串串行行行行接接接接口口口口,能能能能同同同同时时时时进进进进行行行行发发发发送送送送和和和和接接接接收收收收数数数数据据据据。利利利利用用用用这这这这个个个个串串串串行行行行接接接接口口口口,可可可可以以以以实实实实现现现现单单单
2、单片片片片机机机机之之之之间间间间的的的的单单单单机机机机通通通通信信信信、多多多多机机机机通通通通信信信信,以以以以及及及及与与与与PCPC机机机机之之之之间间间间的的的的通通通通信。信。信。信。第2页,共38页,编辑于2022年,星期三7.1.1 7.1.1 数据通信的基本概念数据通信的基本概念数据通信的基本概念数据通信的基本概念1 1、数据通信数据通信数据通信数据通信2 2、通信方式通信方式通信方式通信方式有两种通信方式:一种是并行通信,一种是串行有两种通信方式:一种是并行通信,一种是串行有两种通信方式:一种是并行通信,一种是串行有两种通信方式:一种是并行通信,一种是串行通信。通信。通信
3、。通信。7.1.2 7.1.2 串行通信方式串行通信方式串行通信方式串行通信方式串行通信有三种方式:单工通信、半双工通信和串行通信有三种方式:单工通信、半双工通信和串行通信有三种方式:单工通信、半双工通信和串行通信有三种方式:单工通信、半双工通信和全双工通信。全双工通信。全双工通信。全双工通信。7.1.3 7.1.3 数据同步技术数据同步技术数据同步技术数据同步技术1 1、异步通信异步通信异步通信异步通信第3页,共38页,编辑于2022年,星期三第4页,共38页,编辑于2022年,星期三第5页,共38页,编辑于2022年,星期三7.2 MCS-51单片机串行口的单片机串行口的结构与工作方式结构
4、与工作方式7.2.1 7.2.1 串行口的结构串行口的结构串行口的结构串行口的结构MCS-51MCS-51有有有有一一一一个个个个可可可可编编编编程程程程的的的的全全全全双双双双工工工工串串串串行行行行通通通通信信信信接接接接口口口口,可可可可作作作作为为为为通通通通用用用用异异异异步步步步接接接接收收收收/发发发发送送送送器器器器UARTUART,也也也也可可可可作作作作为为为为同同同同步步步步移移移移位位位位寄寄寄寄存存存存器器器器。它它它它的的的的帧帧帧帧格格格格式式式式有有有有8 8位位位位、1010位位位位和和和和1111位位位位,可可可可以以以以设设设设置置置置为为为为固固固固定定
5、定定波波波波特特特特率率率率和和和和可可可可变变变变波波波波特特特特率率率率,给给给给使使使使用用用用者者者者带带带带来来来来很很很很大大大大的的的的灵灵灵灵活活活活性。性。性。性。第6页,共38页,编辑于2022年,星期三7.2.2 7.2.2 串行口控制寄存器串行口控制寄存器串行口控制寄存器串行口控制寄存器SCONSCON和电源控制寄存器和电源控制寄存器和电源控制寄存器和电源控制寄存器PCONPCON1 1、串行口控制寄存器串行口控制寄存器串行口控制寄存器串行口控制寄存器SCONSCON串行口控制寄存器串行口控制寄存器串行口控制寄存器串行口控制寄存器SCONSCON决定串行口通信工作方式,
6、决定串行口通信工作方式,决定串行口通信工作方式,决定串行口通信工作方式,控制数据的接收和发送,并标示串行口的工作状态等。控制数据的接收和发送,并标示串行口的工作状态等。控制数据的接收和发送,并标示串行口的工作状态等。控制数据的接收和发送,并标示串行口的工作状态等。其位格式为:其位格式为:其位格式为:其位格式为:第7页,共38页,编辑于2022年,星期三 SM0 SM0、SM1SM1:串行口工作方式控制位,两位对应四种:串行口工作方式控制位,两位对应四种:串行口工作方式控制位,两位对应四种:串行口工作方式控制位,两位对应四种工作方式,如表工作方式,如表工作方式,如表工作方式,如表7-17-1所示
7、(所示(所示(所示(foscfosc是晶振频率)。是晶振频率)。是晶振频率)。是晶振频率)。第8页,共38页,编辑于2022年,星期三2 2、电源控制寄存器电源控制寄存器电源控制寄存器电源控制寄存器PCONPCON电电电电源源源源控控控控制制制制寄寄寄寄存存存存器器器器PCONPCON中中中中只只只只有有有有一一一一位位位位SMODSMOD与与与与串串串串行行行行口口口口工工工工作作作作有关,它的位格式为:有关,它的位格式为:有关,它的位格式为:有关,它的位格式为:SMODSMOD:波波波波特特特特率率率率倍倍倍倍增增增增位位位位。串串串串行行行行口口口口工工工工作作作作在在在在方方方方式式式
8、式1 1、方方方方式式式式2 2、方方方方式式式式3 3时时时时,若若若若SMOD=1SMOD=1,则则则则波波波波特特特特率率率率提提提提高高高高一一一一倍倍倍倍;若若若若SMOD=0SMOD=0,则波特率不提高一倍。单片机复位时,则波特率不提高一倍。单片机复位时,则波特率不提高一倍。单片机复位时,则波特率不提高一倍。单片机复位时,SMOD=0SMOD=0。第9页,共38页,编辑于2022年,星期三7.2.3 7.2.3 波特率设计波特率设计波特率设计波特率设计1 1、方式方式方式方式0 0的波特率的波特率的波特率的波特率工工工工作作作作方方方方式式式式0 0时时时时,移移移移位位位位脉脉脉
9、脉冲冲冲冲由由由由机机机机器器器器周周周周期期期期的的的的第第第第6 6个个个个状状状状态态态态周周周周期期期期S6S6给给给给出出出出,每每每每个个个个机机机机器器器器周周周周期期期期产产产产生生生生一一一一个个个个移移移移位位位位脉脉脉脉冲冲冲冲,发发发发送送送送或或或或接接接接收收收收一一一一位位位位数数数数据据据据。因因因因此此此此,波波波波特特特特率率率率是是是是固固固固定定定定的的的的,为为为为振振振振荡荡荡荡频频频频率率率率的的的的1/121/12,不不不不受受受受PCONPCON寄寄寄寄存存存存器器器器中中中中SMODSMOD的的的的影影影影响响响响。用用用用公公公公式式式式表
10、示为:表示为:表示为:表示为:工作方式工作方式工作方式工作方式0 0的波特率的波特率的波特率的波特率=fosc/12=fosc/12第10页,共38页,编辑于2022年,星期三2 2、方式方式方式方式2 2的波特率的波特率的波特率的波特率工作方式工作方式工作方式工作方式2 2时,移位脉冲由振荡频率时,移位脉冲由振荡频率时,移位脉冲由振荡频率时,移位脉冲由振荡频率foscfosc的第二节的第二节的第二节的第二节拍拍拍拍P2P2时钟(即时钟(即时钟(即时钟(即fosc/2fosc/2)给出,所以,方式)给出,所以,方式)给出,所以,方式)给出,所以,方式2 2波特率取决波特率取决波特率取决波特率取
11、决于于于于PCONPCON中的中的中的中的SMODSMOD位的值,当位的值,当位的值,当位的值,当SMOD=0SMOD=0时,波特率时,波特率时,波特率时,波特率为为为为foscfosc的的的的1/641/64;当;当;当;当SMOD=1SMOD=1时,波特率为时,波特率为时,波特率为时,波特率为foscfosc的的的的1/321/32,用公式表示为;用公式表示为;用公式表示为;用公式表示为;工作方式工作方式工作方式工作方式2 2波特率波特率波特率波特率=(2 2SMODSMOD/64/64)foscfosc第11页,共38页,编辑于2022年,星期三3 3、工作、工作、工作、工作方式方式方式
12、方式1 1和方式和方式和方式和方式3 3的波特率的波特率的波特率的波特率【例例例例8-18-1】80518051单片机时钟振荡频率为单片机时钟振荡频率为单片机时钟振荡频率为单片机时钟振荡频率为11.0592MHZ11.0592MHZ,选用定时器,选用定时器,选用定时器,选用定时器T1T1(工作在方式(工作在方式(工作在方式(工作在方式2 2)作波特率发生器,波)作波特率发生器,波)作波特率发生器,波)作波特率发生器,波特率为特率为特率为特率为4800bps4800bps,求定时器,求定时器,求定时器,求定时器T1T1的初值的初值的初值的初值X X。解解解解 设波特率控制位设波特率控制位设波特率
13、控制位设波特率控制位SMOD=0SMOD=0,则:,则:,则:,则:X=256X=256(11.05921011.0592106 6(0+10+1)/(38448003844800)=250=FAH=250=FAH所以,(所以,(所以,(所以,(TH1TH1)=(TL1TL1)=FAH=FAH系统晶振频率选用系统晶振频率选用系统晶振频率选用系统晶振频率选用11.0592MHZ11.0592MHZ,是为了使初值为,是为了使初值为,是为了使初值为,是为了使初值为整数,从而产生精确的波特率。整数,从而产生精确的波特率。整数,从而产生精确的波特率。整数,从而产生精确的波特率。第12页,共38页,编辑于
14、2022年,星期三7.2.4 7.2.4 串行口的四种工作方式串行口的四种工作方式串行口的四种工作方式串行口的四种工作方式串行口的四种工作方式中,串行通信只使用方式串行口的四种工作方式中,串行通信只使用方式串行口的四种工作方式中,串行通信只使用方式串行口的四种工作方式中,串行通信只使用方式1 1、方式方式方式方式2 2、方式、方式、方式、方式3 3,方式,方式,方式,方式0 0主要用于扩展并行输入输出口。主要用于扩展并行输入输出口。主要用于扩展并行输入输出口。主要用于扩展并行输入输出口。1 1、串行口工作方式串行口工作方式串行口工作方式串行口工作方式0 0第13页,共38页,编辑于2022年,
15、星期三第14页,共38页,编辑于2022年,星期三第15页,共38页,编辑于2022年,星期三第16页,共38页,编辑于2022年,星期三第17页,共38页,编辑于2022年,星期三第18页,共38页,编辑于2022年,星期三第19页,共38页,编辑于2022年,星期三第20页,共38页,编辑于2022年,星期三第21页,共38页,编辑于2022年,星期三7.3 主从式多机通信主从式多机通信7.3.17.3.17.3.17.3.1主从式多机通信原理主从式多机通信原理主从式多机通信原理主从式多机通信原理7.3.27.3.27.3.27.3.2多机通信协议多机通信协议多机通信协议多机通信协议7.3
16、.37.3.37.3.37.3.3串行通信实例串行通信实例串行通信实例串行通信实例 【例例例例7-17-1】有有有有两两两两台台台台80318031单单单单片片片片机机机机相相相相距距距距很很很很近近近近,直直直直接接接接将将将将它它它它们们们们的的的的串串串串行行行行口口口口相相相相连连连连,1#1#机机机机的的的的TXDTXD接接接接2#2#机机机机的的的的RXDRXD,2#2#机机机机的的的的TXDTXD接接接接1#1#机机机机的的的的RXDRXD,二二二二机机机机的的的的GNDGND相相相相连连连连。二二二二机机机机的的的的晶晶晶晶振振振振频频频频率率率率均均均均为为为为11.0592
17、MHZ11.0592MHZ,通通通通信信信信的的的的波波波波特特特特率率率率为为为为4800bps4800bps。现现现现将将将将第第第第一一一一台台台台80318031单单单单片片片片机机机机片片片片内内内内RAM40HRAM40H5FH5FH单单单单元元元元内内内内的的的的数数数数据据据据,串串串串行行行行发发发发送送送送到到到到第第第第二二二二台台台台80318031单单单单片片片片机机机机片片片片内内内内RAM60HRAM60H7FH7FH单单单单元中。元中。元中。元中。第22页,共38页,编辑于2022年,星期三发送与接收的参考程序如下:发送与接收的参考程序如下:发送与接收的参考程序
18、如下:发送与接收的参考程序如下:1#1#单片机发送程序:单片机发送程序:单片机发送程序:单片机发送程序:ORG 1000HORG 1000HTX:TX:MOV TMOD,#02HMOV TMOD,#02HMOV TH1,#0FAHMOV TH1,#0FAHMOV TL1,#0FAHMOV TL1,#0FAHMOV SCON,#80HMOV SCON,#80H;设定工作方式设定工作方式设定工作方式设定工作方式2 2MOV PCON,#00H MOV PCON,#00H ;波特率为波特率为波特率为波特率为fosc/64fosc/64fosc/64fosc/64SETB TR0SETB TR0第23
19、页,共38页,编辑于2022年,星期三MOV R0,#40HMOV R0,#40H;设发送数据的地址;设发送数据的地址;设发送数据的地址;设发送数据的地址指针指针指针指针MOV R2,#20HMOV R2,#20H;设发送数据长度;设发送数据长度;设发送数据长度;设发送数据长度LOOP:LOOP:MOV A,R0MOV A,R0;取发送数据送;取发送数据送;取发送数据送;取发送数据送A A A A MOV C,PSW.0MOV C,PSW.0MOV TB8,CMOV TB8,C;奇偶位送;奇偶位送;奇偶位送;奇偶位送TB8TB8MOV SBUF,AMOV SBUF,A;启动发送;启动发送;启动
20、发送;启动发送WAIT:WAIT:JBC TI,LL1JBC TI,LL1;判发送中断标志;判发送中断标志;判发送中断标志;判发送中断标志SJMP WAITSJMP WAIT第24页,共38页,编辑于2022年,星期三LL1:LL1:INC R0INC R0DJNZ R2,LOOPDJNZ R2,LOOPRETRET2#2#单片机接收程序:单片机接收程序:单片机接收程序:单片机接收程序:ORG 1000HORG 1000HRX:RX:MOV TMOD,#02HMOV TMOD,#02HMOV TH1,#0FAHMOV TH1,#0FAHMOV TL1,#0FAHMOV TL1,#0FAHMOV
21、 SCON,#90HMOV SCON,#90H;设定工作方式;设定工作方式;设定工作方式;设定工作方式2 2 2 2,并允许接,并允许接,并允许接,并允许接收收收收第25页,共38页,编辑于2022年,星期三MOV PCON,#00HMOV PCON,#00HSETB TR0SETB TR0MOV R0,#60HMOV R0,#60HMOV R2,#20HMOV R2,#20HLOOP:LOOP:JBC RI,MM1JBC RI,MM1;等待接收数据;等待接收数据;等待接收数据;等待接收数据SJMP LOOPSJMP LOOPMM1:MM1:MOV A,SBUFMOV A,SBUF;读入一帧数
22、据;读入一帧数据;读入一帧数据;读入一帧数据JB PSW.0,PP1JB PSW.0,PP1;判接收端奇偶;判接收端奇偶;判接收端奇偶;判接收端奇偶JB RB8,ERRORJB RB8,ERROR;判发送端奇偶;判发送端奇偶;判发送端奇偶;判发送端奇偶SJMP RIGHTSJMP RIGHT第26页,共38页,编辑于2022年,星期三PP1:PP1:JNB RB8,ERRORJNB RB8,ERROR;接收出错;接收出错;接收出错;接收出错RIGHT:RIGHT:MOV R0,AMOV R0,A;接收正确;接收正确;接收正确;接收正确INC R0INC R0DJNZ R2,LOOPDJNZ R
23、2,LOOPERROR:ERROR:SETB PSW.5SETB PSW.5;置出错标志;置出错标志;置出错标志;置出错标志RETRET第27页,共38页,编辑于2022年,星期三 【例例例例7-27-2】甲乙两机进行串行通信,将甲机片外甲乙两机进行串行通信,将甲机片外甲乙两机进行串行通信,将甲机片外甲乙两机进行串行通信,将甲机片外RAMRAM中中中中1000H1000H单元开始的单元开始的单元开始的单元开始的3232个数据发送到乙机的片外个数据发送到乙机的片外个数据发送到乙机的片外个数据发送到乙机的片外RAM 1000HRAM 1000H开始的单元中。二机的晶振频率均为开始的单元中。二机的晶
24、振频率均为开始的单元中。二机的晶振频率均为开始的单元中。二机的晶振频率均为11.0592MHZ11.0592MHZ,通信的波特率为,通信的波特率为,通信的波特率为,通信的波特率为1200bps1200bps。设甲、乙机串行口均工作在方式设甲、乙机串行口均工作在方式设甲、乙机串行口均工作在方式设甲、乙机串行口均工作在方式1 1,根据发送和接,根据发送和接,根据发送和接,根据发送和接收的波特率,设置定时器收的波特率,设置定时器收的波特率,设置定时器收的波特率,设置定时器T1T1工作在方式工作在方式工作在方式工作在方式2 2,当,当,当,当SMOD=0SMOD=0,则计数初值为,则计数初值为,则计数
25、初值为,则计数初值为E8HE8H。甲机发送子程序流程图如图。甲机发送子程序流程图如图。甲机发送子程序流程图如图。甲机发送子程序流程图如图7-7-7 7(a a)所示,乙机接收子程序流程图如图)所示,乙机接收子程序流程图如图)所示,乙机接收子程序流程图如图)所示,乙机接收子程序流程图如图7-77-7(b b)所)所)所)所示。示。示。示。第28页,共38页,编辑于2022年,星期三第29页,共38页,编辑于2022年,星期三 参考程序如下:参考程序如下:参考程序如下:参考程序如下:(1)(1)甲机发送子程序:甲机发送子程序:甲机发送子程序:甲机发送子程序:ORG 1000HORG 1000HTT
26、TT:TTTT:MOV TMOD,#20HMOV TMOD,#20HMOV TH1,#0E8HMOV TH1,#0E8HMOV TL1,#0E8HMOV TL1,#0E8HSETB TR1 SETB TR1 MOV SCON,#50HMOV SCON,#50HMOV 87H,#00HMOV 87H,#00H第30页,共38页,编辑于2022年,星期三ENTER:ENTER:MOV DPH,#10HMOV DPH,#10HMOV DPL,#00HMOV DPL,#00HMOV R4,#20HMOV R4,#20HMOV R5,#00HMOV R5,#00HTX1:TX1:MOV A,#04HMO
27、V A,#04HMOV SBUF,AMOV SBUF,AWAIT1:WAIT1:JBC TI,RX1JBC TI,RX1SJMP WAIT1SJMP WAIT1RX1:RX1:JBC RI,NEXT1JBC RI,NEXT1SJMP RX1SJMP RX1第31页,共38页,编辑于2022年,星期三NEXT1:NEXT1:MOV A,SBUFMOV A,SBUFCJNE A,#00H,TX1CJNE A,#00H,TX1TX2:TX2:MOV A,R4MOV A,R4MOV SBUF,AMOV SBUF,AADD A,R5ADD A,R5MOV R5,AMOV R5,AWAIT2:WAIT2:
28、JBC TI,TX3JBC TI,TX3SJMP WAIT2SJMP WAIT2TX3TX3:MOVX A,DPTRMOVX A,DPTRMOV SBUF,AMOV SBUF,AADD A,R5ADD A,R5MOV R5,AMOV R5,AINC DPTRINC DPTR第32页,共38页,编辑于2022年,星期三WAIT3:WAIT3:JBC TI,NEXT2JBC TI,NEXT2SJMP WAIT3SJMP WAIT3NEXT2:NEXT2:DJNZ R4,TX3DJNZ R4,TX3MOV A,R5MOV A,R5MOV SBUF,AMOV SBUF,AWAIT4:WAIT4:JBC
29、 TI,RX_11HJBC TI,RX_11HSJMP WAIT4SJMP WAIT4RX_11H:RX_11H:JBC RI,IF_11HJBC RI,IF_11HSJMP RX_11HSJMP RX_11HIF_11H:IF_11H:MOV A,SBUFMOV A,SBUFCJNE A,#11H,ENTERCJNE A,#11H,ENTERRETRET第33页,共38页,编辑于2022年,星期三(2)(2)乙机接收子程序:乙机接收子程序:乙机接收子程序:乙机接收子程序:ORG 1000HORG 1000HRRRR:RRRR:MOV TMOD,#20HMOV TMOD,#20HMOV TH1
30、,#0E8HMOV TH1,#0E8HMOV TL1,#0E8HMOV TL1,#0E8HSETB TR1 SETB TR1 MOV SCON,#50HMOV SCON,#50HMOV 87H,#00HMOV 87H,#00HENTER:ENTER:MOV DPH,#10HMOV DPH,#10HMOV DPL,#00HMOV DPL,#00HMOV R5,#00HMOV R5,#00H第34页,共38页,编辑于2022年,星期三RX1:RX1:JBC RI,IF_04HJBC RI,IF_04HSJMP RX1SJMP RX1IF_04H:IF_04H:MOV A,SBUFMOV A,SBU
31、FCJNE A,#04H,TX_FFHCJNE A,#04H,TX_FFHMOV A,#00HMOV A,#00HMOV SBUF,AMOV SBUF,AWAIT1:WAIT1:JBC TI,RX2JBC TI,RX2SJMP WAIT1SJMP WAIT1LJMP RX2LJMP RX2TX_FFH:TX_FFH:MOV A,#0FFHMOV A,#0FFHMOV SBUF,AMOV SBUF,A第35页,共38页,编辑于2022年,星期三WAIT2:WAIT2:JBC TI,LL1JBC TI,LL1SJMP WAIT2SJMP WAIT2LL1:LL1:LJMP ENTERLJMP EN
32、TERRX2:RX2:JBC RI,LL2JBC RI,LL2SJMP RX2SJMP RX2LL2:LL2:MOV A,SBUFMOV A,SBUFMOV R4,AMOV R4,AMOV R5,AMOV R5,ARX3:RX3:JBC RI,LL3JBC RI,LL3SJMP RX3SJMP RX3第36页,共38页,编辑于2022年,星期三LL3:LL3:MOV A,SBUFMOV A,SBUFMOVX DPTR,AMOVX DPTR,AINC DPTRINC DPTRADD A,R5ADD A,R5MOV R5,AMOV R5,ADJNZ R4,RX3DJNZ R4,RX3RX4:RX4
33、:JBC RI,LL4JBC RI,LL4SJMP RX4SJMP RX4LL4:LL4:MOV A,SBUFMOV A,SBUFMOV 30H,R5MOV 30H,R5CJNE A,30H,T_ERRCJNE A,30H,T_ERR第37页,共38页,编辑于2022年,星期三T_RIGHT:MOV A,#11HT_RIGHT:MOV A,#11HMOV SBUF,AMOV SBUF,AWAIT3:WAIT3:JBC TI,ENJBC TI,ENSJMP WAIT3SJMP WAIT3T_ERR:T_ERR:MOV A,#0F0HMOV A,#0F0HMOV SBUF,AMOV SBUF,AWAIT4:WAIT4:JBC TI,AGAINJBC TI,AGAINSJMP WAIT4SJMP WAIT4AGAIN:AGAIN:LJMP ENTERLJMP ENTEREN:EN:RETRET第38页,共38页,编辑于2022年,星期三