版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第6章 串行接口第第6 6章章 单片机串行口单片机串行口第6章 串行接口主要内容:主要内容:6.1 6.1 串行通信的基本概念串行通信的基本概念6.2 MCS-516.2 MCS-51串行接口的基本结构串行接口的基本结构6.3 6.3 串行口的工作方式串行口的工作方式6.4 6.4 串行口波特率的确定及串行口初始化串行口波特率的确定及串行口初始化6.5 6.5 串行口的应用串行口的应用第6章 串行接口重点、难点:重点、难点:p掌握单片机与外部通信基本方式;了解串行通信的分类,掌握单片机与外部通信基本方式;了解串行通信的分类,掌握异步通信的原理、帧格式;了解常见的数据传输方式。掌握异步通信的原理
2、、帧格式;了解常见的数据传输方式。p了解单片机串行口的结构,掌握控制寄存器了解单片机串行口的结构,掌握控制寄存器SCONSCON的使用方的使用方法。法。p掌握单片机串行口的工作方式及使用方法。掌握串行口波掌握单片机串行口的工作方式及使用方法。掌握串行口波特率的设置。特率的设置。p了解方式了解方式0 0进行串并口的扩展,掌握双机通信及多机通信进行串并口的扩展,掌握双机通信及多机通信的原理及编程(中断和查询)方法。的原理及编程(中断和查询)方法。p掌握掌握RS232RS232串行通信标准,了解串行通信标准,了解RS485RS485通信原理。通信原理。 第6章 串行接口计算机2或外设计算机1(a)并
3、行通信计算机2或外设计算机1(b)串行通信发送接收(1 1)并行通信)并行通信多个数据位同时传输多个数据位同时传输, , 速度快。速度快。因因传输线传输线多,特别适用于近距离通信。多,特别适用于近距离通信。(2 2)串行通信)串行通信数据是一位一位地在通信线上传输,速度慢。数据是一位一位地在通信线上传输,速度慢。因传输线少,特别适用于远距离通信。因传输线少,特别适用于远距离通信。第6章 串行接口6.16.1串行通信的基本概念串行通信的基本概念1.1.串行通信的分类串行通信的分类(1 1)异步通信)异步通信p以字符为单位传送,字符间隔不固定以字符为单位传送,字符间隔不固定p发送端和接收端时钟彼此
4、独立(异步)发送端和接收端时钟彼此独立(异步) p通信双方须规定相同的字符帧格式和波特率通信双方须规定相同的字符帧格式和波特率 0/100/10/10/10/10/10/10/111100/1起始位8位数据奇偶校验位起始位第N个字符第N+1个字符空闲位停止位第6章 串行接口字符帧格式字符帧格式由起始位、数据位、奇偶校检位、停止位等由起始位、数据位、奇偶校检位、停止位等4 4部分组成。部分组成。p起始位:位于字符的开头,起始位:位于字符的开头,1 1位,用低电平位,用低电平0 0表示,表示字符表示,表示字符的开始,通知接收端准备接收。的开始,通知接收端准备接收。p数据位;紧跟在起始位之后,可以是
5、数据位;紧跟在起始位之后,可以是5-85-8位数据,发送时低位数据,发送时低位在前,高位在后。位在前,高位在后。p奇偶校验位:奇偶校验位:1 1位,位于数据位之后,用户根据需要加入。位,位于数据位之后,用户根据需要加入。用来表示串行通信中采用奇校验还是偶校验。用来表示串行通信中采用奇校验还是偶校验。p停止位:位于字符最后,以高电平停止位:位于字符最后,以高电平1 1表示字符的结束,告诉表示字符的结束,告诉接收端本帧数据发送完毕,为下一帧数据作准备。接收端本帧数据发送完毕,为下一帧数据作准备。第6章 串行接口波特率波特率p波特率,即每秒钟传送的二进制位数,其单位为波特率,即每秒钟传送的二进制位数
6、,其单位为bpsbps(bits bits per secondper second),是衡量串行数据速度快慢的重要指标。),是衡量串行数据速度快慢的重要指标。p国际标准:国际标准:110110、300300、600600、12001200、18001800、24002400、48004800、96009600、14.4Kbps14.4Kbps、19.2Kbps19.2Kbps、28.8Kbps28.8Kbps、33.6Kbps33.6Kbps、56Kbps56Kbps。p假如在异步串行通信中,传送一个字符,包括假如在异步串行通信中,传送一个字符,包括1212位(其中位(其中有有1 1个起始位
7、,个起始位,8 8个数据位,个数据位,1 1个奇偶校验位,个奇偶校验位,2 2个停止位),个停止位),其传输速率是其传输速率是1200b/s1200b/s,每秒所能传送的字符数是,每秒所能传送的字符数是1200/1200/(1+8+1+21+8+1+2)=100=100个。个。第6章 串行接口(2 2)同步通信)同步通信p一个信息帧中包含许多字符,每个信息帧用同步字符作为开一个信息帧中包含许多字符,每个信息帧用同步字符作为开始。始。p由统一的时钟来实现发送端与接收端之间的严格同步由统一的时钟来实现发送端与接收端之间的严格同步 p接收端检测到有一串数位和同步字符相匹配时,把此后的数接收端检测到有
8、一串数位和同步字符相匹配时,把此后的数位作为实际传输信息来处理。位作为实际传输信息来处理。p同步信息帧通常由同步字符、数据字符和校验字符同步信息帧通常由同步字符、数据字符和校验字符CRCCRC三部分三部分组成。组成。同步字符同步字符1 1同步字符同步字符2 2数据字符数据字符1 1数据字符数据字符2 2数据字符数据字符n nCRC1CRC1CRC2CRC2第6章 串行接口2.2.串行通信的数据传输方式串行通信的数据传输方式(1 1)单工方式:信息传送只能在一个方向上进行。)单工方式:信息传送只能在一个方向上进行。(2 2)半双工方式:通信双方之间也只有一根数据传输信号)半双工方式:通信双方之间
9、也只有一根数据传输信号线,通过接收和发送转换开关,使得双方可以交替进行发送线,通过接收和发送转换开关,使得双方可以交替进行发送和接收,但两个方向的数据传送不能同时进行。和接收,但两个方向的数据传送不能同时进行。(3 3)全双工方式:通信双方之间有两条数据传输信号线,)全双工方式:通信双方之间有两条数据传输信号线,可以在同一时刻进行两个方向的数据传送。可以在同一时刻进行两个方向的数据传送。第6章 串行接口6.2 MCS-516.2 MCS-51串行接口的基本结构串行接口的基本结构第6章 串行接口1.1.串行口的内部结构串行口的内部结构pMCS-51MCS-51单片机内部的串行接口是全双工的。该接
10、口有两根串单片机内部的串行接口是全双工的。该接口有两根串行通信传输线行通信传输线RXDRXD(P3.0P3.0)和)和TXDTXD(P3.lP3.l),数据的接收和发送),数据的接收和发送就是通过这两根信号线来实现的。就是通过这两根信号线来实现的。p在物理上存在两个互相独立的接收、发送缓冲器在物理上存在两个互相独立的接收、发送缓冲器SBUFSBUF,通过,通过特殊功能寄存器特殊功能寄存器SBUFSBUF来访问。两个缓冲器共用一个地址来访问。两个缓冲器共用一个地址99H99H(特殊功能寄存器(特殊功能寄存器SBUFSBUF的地址)的地址)p串行口还有接收缓冲作用,即从接收寄存器中读出前一个已串行
11、口还有接收缓冲作用,即从接收寄存器中读出前一个已收到的字节之前就能开始接收第二字节。收到的字节之前就能开始接收第二字节。 p收发数据是在发送收发数据是在发送/ /接收控制器的作用下完成的,波特率由定接收控制器的作用下完成的,波特率由定时计数器时计数器T1T1决定。决定。第6章 串行接口2.2.串行口的控制寄存器串行口的控制寄存器(1 1)串行控制寄存器)串行控制寄存器SCONSCOND7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D0SM0SM0SM1SM1SM2SM2RENRENTB8TB8RB8RB8TITIRIRISM0SM0、SM1SM1:指定串行通道的工作方式。:指定串行
12、通道的工作方式。SM0 SM1 SM0 SM1 工作方式工作方式说明说明波特率波特率0 00 0方式方式0 0同步移位寄存器同步移位寄存器fosc/12fosc/120 10 1方式方式1 11010位异步收发位异步收发由定时器控制由定时器控制1 01 0方式方式2 21111位异步收发位异步收发fosc/32fosc/32或或fosc/64fosc/641 11 1方式方式3 31111位异步收发位异步收发由定时器控制由定时器控制第6章 串行接口SM2SM2:多机通信控制位。主要用于方式:多机通信控制位。主要用于方式2 2和方式和方式3 3中。中。p在方式在方式2 2和方式和方式3 3处于接
13、收状态时,如处于接收状态时,如SM2SM2l l,RENREN1 1,且,且接收到的第接收到的第9 9位数据位数据RB8RB8是是1 1,则,则RIRI(接收中断标志位)才被(接收中断标志位)才被置置1 1。若接收到的第。若接收到的第9 9位数据位数据RB8RB8是是0 0,则,则RIRI不会置不会置1 1。p在方式在方式2 2和方式和方式3 3处于接收状态时,如处于接收状态时,如SM2SM20 0,无论接收到,无论接收到的第的第9 9位数据位数据RB8RB8是是0 0还还1 1,则,则RIRI都会被置都会被置1 1。p在方式在方式1 1中,如中,如SM2SM21 1,只有在接收到有效停止位时
14、,则,只有在接收到有效停止位时,则RIRI才会被置才会被置1 1。所以,方式。所以,方式1 1中中SM2SM2一般设置为一般设置为0 0,以免丢失数据。,以免丢失数据。p在方式在方式0 0中,中,SM2SM2必须为必须为0 0。第6章 串行接口RENREN:允许串行接收控制位。由软件置:允许串行接收控制位。由软件置1 1或清除。或清除。pRENREN1 1,允许接收,允许接收pRENREN0 0,禁止接收,禁止接收TB8TB8:发送数据位:发送数据位8 8,由软件进行置,由软件进行置1 1或清或清0 0。 。p在方式在方式2 2和方式和方式3 3时,它就是要发送的第时,它就是要发送的第9 9个
15、数据位。如在多处个数据位。如在多处理通信中,用于表示是地址帧还是数据帧。理通信中,用于表示是地址帧还是数据帧。p在方式在方式0 0和方式和方式1 1中,此位不用。中,此位不用。RB8RB8:接收数据位:接收数据位8 8。p在方式在方式2 2和和3 3时,它是接收到的第时,它是接收到的第9 9个数据位个数据位p在方式在方式1 1中,若中,若SM2SM20 0,RB8RB8是接收到的停止位是接收到的停止位p在方式在方式0 0中,此位不用。中,此位不用。第6章 串行接口TITI:发送中断标志位。:发送中断标志位。p在方式在方式0 0中,当发送完第中,当发送完第8 8位数据时,由硬件置位数据时,由硬件
16、置1 1p在其他方式中,在发送停止位前,由硬件置在其他方式中,在发送停止位前,由硬件置1 1。pTITIl l时,申请中断,时,申请中断,CPUCPU响应中断后,发送下一帧数据。响应中断后,发送下一帧数据。p该位必须由软件清该位必须由软件清0 0。RIRI:接收中断标志位。:接收中断标志位。p在方式在方式0 0中,接收第中,接收第8 8位结束时,由硬件置位结束时,由硬件置1 1;p在其他方式中,在接收停止位的中间时刻,由硬件置在其他方式中,在接收停止位的中间时刻,由硬件置1 1。pRIRI1 1时,申请中断,要求时,申请中断,要求CPUCPU取走数据。取走数据。(但在模式(但在模式1 1中,中
17、,SM2SM21 1时,若未接收到有效的停止位,则不会对时,若未接收到有效的停止位,则不会对RIRI置位。)置位。)p该位必须由软件清该位必须由软件清0 0。第6章 串行接口(2 2)电源控制寄存器)电源控制寄存器PCONPCON电源控制寄存器电源控制寄存器PCONPCON的格式如下所示:的格式如下所示:D7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D0SMODSMODD7D7位位SMODSMOD是串行口波特率倍增位。是串行口波特率倍增位。SMODSMOD为为1 1时,串行口工作时,串行口工作方式方式1 1、方式、方式2 2、方式、方式3 3的波特率加倍。具体值见各种工作方的波特
18、率加倍。具体值见各种工作方式下的波特率计算公式。式下的波特率计算公式。第6章 串行接口6.3 6.3 串行口的工作方式串行口的工作方式1.1.方式方式0 0:同步移位寄存器,用于扩展并行口同步移位寄存器,用于扩展并行口 pRXDRXD:输入或输出引脚:输入或输出引脚 pTXDTXD:移位脉冲输出:移位脉冲输出p接收和方式都是接收和方式都是8 8位位p波特率固定为:波特率固定为:fosc/12fosc/12第6章 串行接口(2 2)数据输)数据输入入: (1 1)数据输)数据输出出: 第6章 串行接口2.2.方式方式1 1:1010位帧,用于位帧,用于双双机通信机通信起始位:起始位:1 1位位
19、数据位:数据位:8 8位位停止位:停止位:1 1位位第6章 串行接口p1010位的异步通信接口,即传送一帧信息为位的异步通信接口,即传送一帧信息为1010位。一位起始位位。一位起始位“0 0”,8 8位数据位(先低位后高位),一位停止位位数据位(先低位后高位),一位停止位“1 1”,其中起,其中起始位和停止位是在发送时自动插入的,数据位由始位和停止位是在发送时自动插入的,数据位由TXDTXD发送,由发送,由RXDRXD接收。接收。p波特率可变。硬件上,波特率可变。硬件上,T1T1的计数输出不仅使的计数输出不仅使TF1TF1置位,而且会置位,而且会产生一个脉冲送串行口。方式产生一个脉冲送串行口。
20、方式1 1的波特率这时就取决于的波特率这时就取决于T1T1(注意(注意只是只是T1T1,不是,不是T0T0)的溢出频率(每秒钟)的溢出频率(每秒钟T1T1溢出多少次)和溢出多少次)和PCONPCON中的中的SMODSMOD的值。的值。p方式方式1 1的波特率(的波特率(2 2SMODSMOD3232) Tl Tl的溢出频率的溢出频率第6章 串行接口(1 1)串行)串行发送发送:(写:(写SBUFSBUF启动发送过程)启动发送过程) (2 2)串行)串行接收接收:( (置置REN=1REN=1启动接收过程启动接收过程) ) 第6章 串行接口3.3.方式方式2 2和方式和方式3 3:1111位帧,
21、用于位帧,用于多多机通信机通信 起始位:1位 数据位:9位停止位:1位第6章 串行接口p串行口发送接收的一帧信息共串行口发送接收的一帧信息共1111位:一位是起始位位:一位是起始位“0 0” ”,8 8位数据,一位奇偶校验位,一位停止位位数据,一位奇偶校验位,一位停止位“1 1” ”。p方式方式2 2和方式和方式3 3的发送、接收过程是完全一样的,只是波特率的发送、接收过程是完全一样的,只是波特率不同。不同。p方式方式2 2的波特率(的波特率(2 2SMODSMOD6464)foscfoscp方式方式3 3的波特率(的波特率(2 2SMODSMOD3232)T1T1的溢出频率的溢出频率第6章
22、串行接口(1 1)串行)串行发送发送:(写:(写SBUFSBUF启动发送过程)启动发送过程) (2 2)串行)串行接收接收:( (置置REN=1REN=1启动接收过程启动接收过程) ) 第6章 串行接口6.4 6.4 串行口波特率的确定及串行口初始化串行口波特率的确定及串行口初始化1.1.波特率的计算波特率的计算(1 1)方式)方式0 0的波特率:固定等于的波特率:固定等于fosc/12fosc/12。(2 2)方式)方式2 2的波特率:固定等于(的波特率:固定等于(2 2SMODSMOD6464)foscfosc。SMODSMOD为波特率加倍位。为波特率加倍位。(3 3)方式)方式1 1或方
23、式或方式3 3的波特率:等于(的波特率:等于(2 2SMODSMOD3232)T1T1的溢出的溢出频率。频率。定时器定时器1 1溢出频率溢出频率fosc/12fosc/12(256-X256-X) 方式方式1、3的波特率的波特率2SMOD fosc/1232(256-X)当时钟频率选用当时钟频率选用110592MHz时,极易获得标准的波特率时,极易获得标准的波特率SMOD位数值的选择直接影响着波特率的精确度位数值的选择直接影响着波特率的精确度第6章 串行接口2.2.串行口初始化的步骤串行口初始化的步骤p确定串行口工作方式(配置确定串行口工作方式(配置SCONSCON寄存器)寄存器)p确定确定T
24、1T1的工作方式(配置的工作方式(配置TMODTMOD寄存器)寄存器)p设置设置SMODSMOD位(若不用位(若不用SMODSMOD,可跳过此步),可跳过此步)p计算计算T1T1的初值,装载的初值,装载TH1TH1和和TL1TL1p启动启动T1T1(置位(置位TR1TR1)p串行口中断设置(配置串行口中断设置(配置IEIE、IPIP寄存器)寄存器)第6章 串行接口【例例6-16-1】某某80518051单片机控制系统,主振频率为单片机控制系统,主振频率为12MHz12MHz,要求,要求串行口发送数据为串行口发送数据为8 8位、波特率为位、波特率为1200b/s1200b/s,编写串行口的初始,
25、编写串行口的初始化程序(设化程序(设SMOD=1SMOD=1)。)。我们设我们设SMOD=1SMOD=1,则,则T1T1的时间常数的时间常数X X的值为:的值为:X=256-2SMODX=256-2SMODfosc /fosc /(12123232波特率)波特率)=256-21=256-211212106/106/(1212323212001200)=256-52.08=203.920CCH=256-52.08=203.920CCH初始化程序为:初始化程序为:MOV SCONMOV SCON,#50H#50H;串行口工作于方式;串行口工作于方式1 1ORL PCONORL PCON,#80H#
26、80H;SMOD=1SMOD=1MOV TMODMOV TMOD,#20H#20H;T1T1工作于方式工作于方式2 2,定时方式,定时方式MOV TH1MOV TH1,#0CCH#0CCH;设置时间常数初值;设置时间常数初值MOV TL1MOV TL1,#0CCH#0CCHSETB TR1SETB TR1;启动;启动T1T1第6章 串行接口6.5 6.5 串行口的应用串行口的应用6.5.1 6.5.1 串行口方式串行口方式0 0用做扩展并行用做扩展并行I/OI/O口口【例例6-26-2】用用80518051串行口外接串行口外接CD4094CD4094扩展扩展8 8位并行输出口,位并行输出口,8
27、 8位位并行输出口的各位都接一个显示发光二极管。要求发光二极管并行输出口的各位都接一个显示发光二极管。要求发光二极管从左到右以一定延时轮流显示,且不断循环。发光二极管为共从左到右以一定延时轮流显示,且不断循环。发光二极管为共阴极接法。阴极接法。第6章 串行接口ORG 0000HORG 0000HMOV SCON,#00H MOV SCON,#00H ;串行口方式;串行口方式0 0初始化初始化MOV A,#80H MOV A,#80H ;最左一位发光管先亮;最左一位发光管先亮CLR P1.0CLR P1.0START:MOV SBUF,ASTART:MOV SBUF,ALOOP: JNB TI,
28、LOOP LOOP: JNB TI,LOOP ;查询;查询TITISETB P1.0 SETB P1.0 ;启动并行输出;启动并行输出LCALL DELAY LCALL DELAY ;调用延时程序;调用延时程序CLR TICLR TIRR A RR A ;循环右移一位;循环右移一位CLR P1.0CLR P1.0LJMP STARTLJMP START第6章 串行接口【例例6-36-3】用用80518051串行口外加移位寄存器扩展串行口外加移位寄存器扩展8 8位并行输入口。位并行输入口。输入数据由输入数据由8 8个开关提供,另有一个开关个开关提供,另有一个开关K K提供联络信号。当提供联络信号
29、。当K K0 0时表示要求输入数据。输入的时表示要求输入数据。输入的8 8位开关量,为逻辑模拟子位开关量,为逻辑模拟子程序程序LOGLOG提供输入信号。提供输入信号。QBTXD(a)RXDP1.08051CLKCD4014并行输入P/STXD(b)RXDP1.08051CLKCD4014P1.1QBP/S第6章 串行接口ORG 0000HORG 0000HSTART:JB P1.1,$START:JB P1.1,$SETB P1.0 SETB P1.0 ;并行置入数据;并行置入数据CLR P1.0 CLR P1.0 ;开始串行移位;开始串行移位MOV SCON,#10H MOV SCON,#1
30、0H ;串行口方式;串行口方式0 0启动接收启动接收LOOP:JNB RI,$ LOOP:JNB RI,$ ;查询;查询RIRICLR RICLR RIMOV A,SBUFMOV A,SBUFLCALL SUB LCALL SUB ;数据交给;数据交给SUBSUB模拟子程序模拟子程序LJMP STARTLJMP START第6章 串行接口6.5.2 双机通信双机通信【例例6-46-4】按图连接两个单片机系统(假设已经扩展了外按图连接两个单片机系统(假设已经扩展了外部数据存储器),编程将甲机的片外部数据存储器),编程将甲机的片外RAMRAM的的2000H-201FH2000H-201FH单单元的
31、数据块从串行口发送。假设串行口工作在方式元的数据块从串行口发送。假设串行口工作在方式3 3,TB8TB8为奇偶校验位。乙机接收甲机发送过来的数据块,并存入为奇偶校验位。乙机接收甲机发送过来的数据块,并存入片内片内RAMRAM的的20H-3FH20H-3FH单元。接收过程要求判断单元。接收过程要求判断RB8RB8,若出错,若出错则设则设F0F0标志为标志为1 1,正确则设,正确则设F0F0标志为标志为0 0。波特率为。波特率为1200bit/s1200bit/s,采用,采用12MHz12MHz的晶振。的晶振。第6章 串行接口ORG 0000HORG 0000HLJMP STARTLJMP STA
32、RTORG 0100HORG 0100HSTART: MOV TMOD,#20HSTART: MOV TMOD,#20HMOV TL1MOV TL1,#0E6H#0E6HMOV TH1MOV TH1,#0E6H#0E6HSETB TR1SETB TR1MOV SCON,#0C0HMOV SCON,#0C0HMOV DPTR,#2000H MOV DPTR,#2000H MOV R7MOV R7,#20H#20H(1)采用查询方式)采用查询方式甲机发送程序:甲机发送程序:SEND: MOVX A,DPTRSEND: MOVX A,DPTR MOV C,P MOV C,P MOV TB8 MOV
33、TB8,C C MOV SBUF,A MOV SBUF,A LOOP: JNB TI,LOOPLOOP: JNB TI,LOOP CLR TI CLR TI INC DPTR INC DPTR DJNZ R7 DJNZ R7,SENDSEND SJMP $ SJMP $ END END第6章 串行接口ORG 0000HORG 0000HLJMP STARTLJMP STARTORG 0100HORG 0100HSTART:MOV TMOD,#20HSTART:MOV TMOD,#20HMOV TL1MOV TL1,#0E6H#0E6HMOV TH1MOV TH1,#0E6H#0E6HSETB
34、TR1SETB TR1MOV R0MOV R0,#20H #20H MOV R7MOV R7,#20H#20HMOV SCON,#0D0HMOV SCON,#0D0HREAD: JNB RI,READREAD: JNB RI,READCLR RICLR RI乙机接收程序乙机接收程序MOV A,SBUFMOV A,SBUFJNB PSW.0JNB PSW.0,PZEROPZEROJNB RB8JNB RB8,ERRORERRORLJMP RIGHTLJMP RIGHTPZERO:JB RB8PZERO:JB RB8,ERRORERRORRIGHT:MOV R0RIGHT:MOV R0,A A I
35、NC R0INC R0DJNZ R7DJNZ R7,READ READ CLR PSW.5CLR PSW.5LJMP LOOPLJMP LOOPERROR: SETB PSW.5ERROR: SETB PSW.5LOOP: SJMP LOOPLOOP: SJMP LOOPENDEND第6章 串行接口(2)采用中断方式)采用中断方式甲机发送程序:甲机发送程序:ORG 0000HORG 0000HLJMP STARTLJMP STARTORG 0023HORG 0023HLJMP SINTLJMP SINTSTART:MOV SP,#60HSTART:MOV SP,#60HMOV SCON,#0C
36、0HMOV SCON,#0C0HMOV DPTR,#2000HMOV DPTR,#2000HMOV R7MOV R7,#20H#20HMOV TMOD,#20HMOV TMOD,#20HMOV TL1MOV TL1,#0E6H#0E6HMOV TH1MOV TH1,#0E6H#0E6HSETB EASETB EASETB ESSETB ESSETB TR1SETB TR1 MOVX A,DPTR MOVX A,DPTR MOV C,P MOV C,P MOV TB8 MOV TB8,C C MOV SBUF,A MOV SBUF,ALOOP: SJMP LOOPLOOP: SJMP LOOPS
37、INT: CLR TISINT: CLR TI DJNZ R7 DJNZ R7,NEXTNEXT CLR ES CLR ES LJMP EXIT LJMP EXITNEXT: INC DPTRNEXT: INC DPTR MOVX A,DPTR MOVX A,DPTR MOV C,P MOV C,P MOV TB8 MOV TB8,C C MOV SBUF,A MOV SBUF,A EXIT: RETI EXIT: RETI END END 第6章 串行接口乙机接收程序:乙机接收程序:ORG 0000HORG 0000HLJMP STARTLJMP STARTORG 0023HORG 0023
38、HLJMP SINTLJMP SINTSTART: MOV SP,#60HSTART: MOV SP,#60HMOV SCON,#40HMOV SCON,#40HMOV R7MOV R7,#20H#20HMOV TMOD,#20HMOV TMOD,#20HMOV TL1MOV TL1,#0E6H#0E6HMOV TH1MOV TH1,#0E6H#0E6HSETB EASETB EASETB ESSETB ESSETB TR1SETB TR1MOV R0MOV R0,#20H#20HMOV R7MOV R7,#20H#20HMOV SCON,#0D0HMOV SCON,#0D0HLOOP: LJ
39、MP LOOPLOOP: LJMP LOOPSINT: CLR RISINT: CLR RI MOV A,SBUF MOV A,SBUF JNB PSW.0 JNB PSW.0,PZEROPZERO JNB RB8 JNB RB8,ERRORERROR LJMP RIGHT LJMP RIGHTPZERO:JB RB8PZERO:JB RB8,ERROR ERROR RIGHT:MOV R0RIGHT:MOV R0,A A DJNZ R7 DJNZ R7,NEXTNEXT CLR ES CLR ES LJMP EXIT LJMP EXITNEXT: INC R0NEXT: INC R0EXIT
40、: RETIEXIT: RETI END END第6章 串行接口6.5.3 多机通信多机通信1.1.多机通信原理多机通信原理单片机的主从式多机通信方式要有一台主机和多台从机。主机单片机的主从式多机通信方式要有一台主机和多台从机。主机发送的信息可以传送到各个从机或指定的从机,各从机发送的发送的信息可以传送到各个从机或指定的从机,各从机发送的信息只能被主机接收,从机之间不能直接进行通信。信息只能被主机接收,从机之间不能直接进行通信。 第6章 串行接口具体过程如下:具体过程如下:p全部从机均初始化为方式全部从机均初始化为方式2 2或方式或方式3 3,SM2SM21 1,允许中断。,允许中断。p主机发
41、送要寻址的从机地址,其中主机发送要寻址的从机地址,其中TB8TB81 1表示发送的是呼叫表示发送的是呼叫地址帧(地址帧( TB8TB80 0时为数据帧时为数据帧 )。)。p所有从机均接收主机发送的地址,并进行地址比较。所有从机均接收主机发送的地址,并进行地址比较。p被寻址的从机确认地址后,置本机的被寻址的从机确认地址后,置本机的SM2SM20 0,向主机返回地,向主机返回地址,供主机核对。址,供主机核对。p核对无误后,主机向被寻址的从机发送命令,通知从机接收核对无误后,主机向被寻址的从机发送命令,通知从机接收或发送数据。或发送数据。p通信只能在主、从机之间进行,两个从机之间的通信需通过通信只能
42、在主、从机之间进行,两个从机之间的通信需通过主机作中介。主机作中介。p本次通信结束后,从机重置本次通信结束后,从机重置SM2SM21 1,主机可再对其他从机寻,主机可再对其他从机寻址。址。第6章 串行接口【例6-5】采用查询方式将主机50H5FH中的数据发送给02号从机;02号从机将接收到的数据放到内部RAM30H3FH单元中,波特率为1200波特,fosc11.0592MHz,预置值TH10E8H。ORG 0000HORG 0000HLJMP MAINLJMP MAINORG 0030HORG 0030HMAINMAIN: MOV TMOD,#20HMOV TMOD,#20HMOV TL1M
43、OV TL1,#0E8H#0E8HMOV TH1MOV TH1,#0E8H#0E8HSETB TR1SETB TR1MOV SCONMOV SCON,D8HD8HM1M1: MOV SBUFMOV SBUF,02H02HL1L1: JNB TIJNB TI,L1L1CLR TICLR TIL2L2: JNB RIJNB RI,L2L2CLR RICLR RIMOV A,SUBF MOV A,SUBF XRL A,#02HXRL A,#02HJZ RHT JZ RHT LJMP M1LJMP M1RHTRHT: CLR TB8 CLR TB8 MOV R0MOV R0,50H50HM1M1: M
44、OV R7MOV R7,10H10HL3L3: MOV AMOV A,R0R0MOV SBUFMOV SBUF,A AL4L4: JNB TIJNB TI,L4L4CLR TICLR TIINC R0INC R0DJNZ R7,L3DJNZ R7,L3LJMP MAINLJMP MAINENDEND主机程序:主机程序:第6章 串行接口ORG 0000HORG 0000HLJMP MAINLJMP MAINORG 0030HORG 0030HMAINMAIN: MOV TMOD,#20HMOV TMOD,#20HMOV TL1MOV TL1,#0E8H#0E8HMOV TH1MOV TH1,#0
45、E8H#0E8HSETB TR1SETB TR1MOV R0MOV R0,30H30HMOV R6MOV R6,10H10HMOV SCONMOV SCON,0F0H0F0HSR1SR1: JNB RIJNB RI,SR1SR1CLR RICLR RISR2SR2: MOV A,SUBFMOV A,SUBFXRL A,#02HXRL A,#02HJNZ SR1JNZ SR1CLR SM2 CLR SM2 ;从机程序:从机程序: MOV SBUFMOV SBUF,#02H#02HSR3SR3: JNB TIJNB TI,SR3SR3CLR TICLR TISR4 SR4 : JNB RIJNB RI,SR4SR4CLR RICLR RIJNB RB8JNB RB8,RHTRHTSETB SM2SETB SM2LJMP SR1LJMP SR1RHTRHT: MOV AMOV A,SBUFSBUFMOV R0 MOV R0 , A AINC R0INC R0DJNZ R6,SR4DJNZ R6,SR4LJMP SILJMP SIEND END 第6章
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年河北燕煤新能源有限公司社会公开招聘笔试备考题库及答案解析
- 4.6.2 神经调节(第二课时)教学设计-2025-2026学年人教版(2024)生物八年级上册
- 2026年2月湖北交投集团部分子公司管理岗位遴选11人笔试备考试题及答案解析
- 2026山东临沂大学招聘人员277人(长期招聘岗位)笔试备考题库及答案解析
- 2026晋城沁水县医疗集团招聘10人笔试备考试题及答案解析
- 2026四川德阳市博雅明德高级中学招聘5人笔试备考题库及答案解析
- 2026江西赣州市龙南市殡葬服务中心招聘会计人员1人笔试备考试题及答案解析
- 2026年陕西国防工业职业技术学院单招综合素质考试备考题库含详细答案解析
- 2026云南临沧沧源佤族自治县疾病预防控制中心编外人员招聘1人笔试备考题库及答案解析
- 2026四川绵阳市三台县潼川第四幼儿园教师招聘笔试备考题库及答案解析
- 高标准农田建设安全文明施工方案
- 店铺安全生产制度
- 2025年及未来5年中国水晶市场竞争格局及行业投资前景预测报告
- 2025广东云浮新兴县特聘动物防疫专员招募2人考试参考题库及答案解析
- 成人重症患者人工气道湿化护理专家共识解读
- 品牌营销与市场推广服务协议
- 再审被申请人意见书
- 基于STS8200测试平台单路LDO芯片测试方案设计
- T/CSPSTC 121-2023海底管道水平定向钻设计规范
- 创新医疗供应链管理模式提升医疗服务水平
- 第17课 明朝的灭亡和清朝的建立【分层作业】【教学评一体化】大单元整体教学 部编版历史七年级下册
评论
0/150
提交评论