MCS51单片机串行接口及其应用课件

上传人:hs****ma 文档编号:579480797 上传时间:2024-08-26 格式:PPT 页数:33 大小:456.50KB
返回 下载 相关 举报
MCS51单片机串行接口及其应用课件_第1页
第1页 / 共33页
MCS51单片机串行接口及其应用课件_第2页
第2页 / 共33页
MCS51单片机串行接口及其应用课件_第3页
第3页 / 共33页
MCS51单片机串行接口及其应用课件_第4页
第4页 / 共33页
MCS51单片机串行接口及其应用课件_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《MCS51单片机串行接口及其应用课件》由会员分享,可在线阅读,更多相关《MCS51单片机串行接口及其应用课件(33页珍藏版)》请在金锄头文库上搜索。

1、5.2 MCS-515.2 MCS-51串行接口及其应用串行接口及其应用串行接口及其应用串行接口及其应用下页下页回目录回目录串行通信:串行通信:串行通信:串行通信:指数据一位一位按顺序传送指数据一位一位按顺序传送指数据一位一位按顺序传送指数据一位一位按顺序传送串行通信方式:串行通信方式:串行通信方式:串行通信方式:半双工半双工半双工半双工MCS-51MCS-51内部有一个全双工的串行通信接口内部有一个全双工的串行通信接口内部有一个全双工的串行通信接口内部有一个全双工的串行通信接口串行通信:串行通信:串行通信:串行通信:异步通信异步通信异步通信异步通信同步通信同步通信同步通信同步通信MCS51单

2、片机串行接口及其应用一、串行通信的两种基本方式一、串行通信的两种基本方式一、串行通信的两种基本方式一、串行通信的两种基本方式1 1、异步传送方式、异步传送方式、异步传送方式、异步传送方式一帧数据:一帧数据:一帧数据:一帧数据:一个字符在异步传送中称为一帧数据一个字符在异步传送中称为一帧数据一个字符在异步传送中称为一帧数据一个字符在异步传送中称为一帧数据一帧数据由一帧数据由一帧数据由一帧数据由4 4部分组成:部分组成:部分组成:部分组成: 起始位、数据位、奇偶位、停止位起始位、数据位、奇偶位、停止位起始位、数据位、奇偶位、停止位起始位、数据位、奇偶位、停止位1/01/0 1/01/0 1/01/

3、0 1/01/0 1/01/0 1/01/0 1/01/0 1/01/0 1/01/00 01 1一帧数据一帧数据一帧数据一帧数据起起起起始始始始位位位位数数数数据据据据位位位位奇奇奇奇偶偶偶偶位位位位停停停停止止止止位位位位0 01/01/0 1/01/0 1/01/0起起起起始始始始位位位位数数数数据据据据位位位位1 11/01/0停停停停止止止止位位位位第第第第n n个字符个字符个字符个字符第第第第n+1n+1个字符个字符个字符个字符上页上页下页下页回目录回目录LSBLSBMSBMSBMCS51单片机串行接口及其应用为逻辑为逻辑为逻辑为逻辑“0”“0”信号,占用一位,用来通知接收设备,信

4、号,占用一位,用来通知接收设备,信号,占用一位,用来通知接收设备,信号,占用一位,用来通知接收设备,一个新的字符开始了一个新的字符开始了一个新的字符开始了一个新的字符开始了数据位:数据位:数据位:数据位:起始位:起始位:起始位:起始位:奇偶位:奇偶位:奇偶位:奇偶位:5 58 8位。数据的最低位在前,最高位在后。位。数据的最低位在前,最高位在后。位。数据的最低位在前,最高位在后。位。数据的最低位在前,最高位在后。紧跟在最高位之后,占用一位,奇偶校验时,根据紧跟在最高位之后,占用一位,奇偶校验时,根据紧跟在最高位之后,占用一位,奇偶校验时,根据紧跟在最高位之后,占用一位,奇偶校验时,根据协议置协

5、议置协议置协议置“1”“1”或或或或“0”“0”停止位:停止位:停止位:停止位:为逻辑为逻辑为逻辑为逻辑“1”“1”信号,占用信号,占用信号,占用信号,占用1 1位或位或位或位或2 2位,当接收端收到停位,当接收端收到停位,当接收端收到停位,当接收端收到停止位时,表示一帧数据结束。止位时,表示一帧数据结束。止位时,表示一帧数据结束。止位时,表示一帧数据结束。1/01/0 1/01/0 1/01/0 1/01/0 1/01/0 1/01/0 1/01/0 1/01/0 1/01/00 01 1一帧数据一帧数据一帧数据一帧数据起起起起始始始始位位位位数数数数据据据据位位位位奇奇奇奇偶偶偶偶位位位位

6、停停停停止止止止位位位位0 01/01/0 1/01/0 1/01/0起起起起始始始始位位位位数数数数据据据据位位位位1 11/01/0停停停停止止止止位位位位第第第第n n个字符个字符个字符个字符第第第第n+1n+1个字符个字符个字符个字符LSBLSBMSBMSBMCS51单片机串行接口及其应用2 2、同步传送方式、同步传送方式、同步传送方式、同步传送方式数据结构:数据结构:数据结构:数据结构: 在传送大量数据时,为了提高传送信息的效率,采用一在传送大量数据时,为了提高传送信息的效率,采用一个数据块共用一个同步字作为起始位的格式,叫同步通信方个数据块共用一个同步字作为起始位的格式,叫同步通信

7、方式式 用发、收双方规定的同步字来作为数据块的开始和结束用发、收双方规定的同步字来作为数据块的开始和结束MCS51单片机串行接口及其应用二、二、二、二、MCS-51MCS-51串行口结构串行口结构串行口结构串行口结构MCS51单片机串行接口及其应用1 1、数据缓冲器、数据缓冲器、数据缓冲器、数据缓冲器SBUFSBUF包括物理上独立的发送缓冲器、接收缓冲器包括物理上独立的发送缓冲器、接收缓冲器发送缓冲器:只能写入不能读出发送缓冲器:只能写入不能读出接收缓冲器:只能读出不能写入接收缓冲器:只能读出不能写入二者共用一个地址二者共用一个地址99H2 2、串行口控制寄存器、串行口控制寄存器、串行口控制寄

8、存器、串行口控制寄存器字节地址为字节地址为98H,可位寻址,位地址为,可位寻址,位地址为98H9FHSM0 SM1 SM2 REN TB8 RB8 TI RISM0 SM1 SM2 REN TB8 RB8 TI RISCON (98H)SCON (98H)D7D7D0D0MCS51单片机串行接口及其应用SM0 SM1 SM2 REN TB8 RB8 TI RISM0 SM1 SM2 REN TB8 RB8 TI RISCON (98H)SCON (98H)D7D7D0D0(1)SM0、SM1:串行口工作方式选择位。:串行口工作方式选择位。 0 0 0 0 0 0 移位寄存器方式(用于移位寄存器

9、方式(用于移位寄存器方式(用于移位寄存器方式(用于I/OI/O扩展)扩展)扩展)扩展) 0 1 1 8 0 1 1 8位位位位UARTUART,波特率可变,波特率可变,波特率可变,波特率可变 1 0 2 9 1 0 2 9位位位位UARTUART,波特率为,波特率为,波特率为,波特率为fosc/32fosc/32或或或或fosc/64fosc/64 1 1 3 9 1 1 3 9位位位位UARTUART,波特率可变,波特率可变,波特率可变,波特率可变SM0 SM1SM0 SM1 方式方式方式方式功功功功 能能能能MCS51单片机串行接口及其应用(2 2)SM2 SM2 多机通信控制位多机通信控

10、制位 用于方式用于方式2 2或方式或方式3 3中。中。 如如果果SM2=1,只只有有当当接接收收到到的的第第9位位数数据据(RB8)为为“1”时时,才才将将接接收收到到的的前前8位位数数据据送送入入SBUF,并并置置“1” RI,产产生生中中断断请请求求;当当接接收收到到的的第第9位位数数据据(RB8)为为“0”时时,则将接收到的前则将接收到的前8位数据丢弃。位数据丢弃。 如如果果SM2=0,则则不不论论第第9位位数数据据是是“1”还还是是“0”,都都将前将前8位数据送入位数据送入SBUF中,并置中,并置“1” RI,产生中断请求。,产生中断请求。MCS51单片机串行接口及其应用RENREN:

11、允许接收控制位。:允许接收控制位。:允许接收控制位。:允许接收控制位。由软件置由软件置“1”时,允许接收。时,允许接收。置置“0”时,禁止接收时,禁止接收TB8TB8TB8TB8:发送的第发送的第9 9位数据位数据方式方式2 2和和3 3时,时,TB8TB8是要发送的第是要发送的第9 9位数据,可作为位数据,可作为奇偶奇偶校验位校验位使用,也可作为使用,也可作为地址帧地址帧或或数据帧数据帧的标志。的标志。 =1=1为地址帧为地址帧, , =0=0为数据帧为数据帧MCS51单片机串行接口及其应用RB8RB8:在方式在方式2和方式和方式3中要接收的第中要接收的第9位数据,在方式位数据,在方式1时,

12、时,如如SM2=0,RB8是接收到的停止位。在方式是接收到的停止位。在方式0中,中,不使用不使用RB8TITI:发送中断标志发送中断标志。在方式。在方式0串行发送第串行发送第8位结束时由硬件置位结束时由硬件置“1”,或在其他方式中串行发送停止位的开始时置,或在其他方式中串行发送停止位的开始时置“1”,必须由软件清,必须由软件清“0”RIRI:接收中断标志。接收中断标志。在方式在方式0串行接收第串行接收第8位结束时由硬件位结束时由硬件置置“1”,或在其他方式中串行接收停止位的开始时置,或在其他方式中串行接收停止位的开始时置“1”,必须由软件清,必须由软件清“0”上页上页下页下页回目录回目录MCS

13、51单片机串行接口及其应用3 3、特殊功能寄存器、特殊功能寄存器、特殊功能寄存器、特殊功能寄存器PCONPCON其字节地址其字节地址其字节地址其字节地址87H87H,没有位寻址功能。,没有位寻址功能。,没有位寻址功能。,没有位寻址功能。PCONPCON(8 87H7H)SMODSMODSMODSMOD:波特率选择位。:波特率选择位。:波特率选择位。:波特率选择位。SMOD=1SMOD=1时,波特率加倍时,波特率加倍时,波特率加倍时,波特率加倍三、串行口工作方式三、串行口工作方式三、串行口工作方式三、串行口工作方式1 1、方式、方式、方式、方式0 0 同步移位寄存器输入同步移位寄存器输入/ /输

14、出方式输出方式,常用于外接移位寄存,常用于外接移位寄存器,以扩展并行器,以扩展并行I/OI/O口。口。 8 8位数据为一帧,不设起始位和停止位,先发送或接收位数据为一帧,不设起始位和停止位,先发送或接收最低位。最低位。 MCS51单片机串行接口及其应用80518051RXDRXDTXDTXD74LS16474LS1643 3 4 4 5 5 6 6 1010 1111 1212 1313数据输出数据输出数据输出数据输出移位脉冲移位脉冲移位脉冲移位脉冲方式方式方式方式0 0 发送发送发送发送 一个数据写入一个数据写入SBUF,串口将数据从,串口将数据从RXD输出(波特率输出(波特率fosc/12

15、),),TXD输出同步移位信号,发送完输出同步移位信号,发送完TI置置1D7 D0D7 D0图图5-12 方式方式0扩展扩展I/O口硬件逻辑图口硬件逻辑图方式方式方式方式0 0 0 0的波特率为:波特率的波特率为:波特率的波特率为:波特率的波特率为:波特率=fosc/12=fosc/12=fosc/12=fosc/12MCS51单片机串行接口及其应用方式方式方式方式0 0 接收接收接收接收 REN置置1,串口将数据从,串口将数据从RXD输入(波特率输入(波特率fosc/12),),TXD输出同步移位信号,发送完输出同步移位信号,发送完RI置置180518051RXDRXDTXDTXD74LS1

16、6574LS1653 3 4 4 5 5 6 614141111 1212 1313数据输入数据输入数据输入数据输入移位脉冲移位脉冲移位脉冲移位脉冲D7 D0D7 D0上页上页下页下页回目录回目录图图5-12 方式方式0扩展扩展I/O口硬件逻辑图口硬件逻辑图MCS51单片机串行接口及其应用2 2、方式、方式、方式、方式1 1波特率可变的波特率可变的8位异步通信接口方式。位异步通信接口方式。波特率波特率波特率波特率=2=2SMODSMOD/32T1/32T1溢出率溢出率溢出率溢出率方式方式方式方式1 1发送发送发送发送CPU 执行一条写执行一条写SBUF指令,就启动了串口发送指令,就启动了串口发

17、送方式方式方式方式1 1接收接收接收接收 允许接收位允许接收位REN被置被置“1”后,接收器就开始工作,跳后,接收器就开始工作,跳变检测器以波特率变检测器以波特率16倍的速率采样倍的速率采样RXD端的电平,端的电平,RXD引引脚上发生由脚上发生由“1”到到“0”的跳变,接收器开始接收。的跳变,接收器开始接收。MCS51单片机串行接口及其应用3 3、方式、方式、方式、方式2 29位异步通信接口方式。传送一帧数据信息为位异步通信接口方式。传送一帧数据信息为11位位波特率波特率=2SMOD/64fosc方式方式方式方式2 2发送发送发送发送 数据由数据由TXD端输出,附加的第端输出,附加的第9位数据

18、由位数据由SCON中的中的TB8提供。提供。 CPU 执行一条写执行一条写SBUF指令,就启动了串口发指令,就启动了串口发送,发送完送,发送完TI置置1方式方式方式方式2 2接收接收接收接收 与方式与方式1相似,相似,REN被置被置“1”后,跳变检测器以波特率后,跳变检测器以波特率16倍的速率采样倍的速率采样RXD端的电平,端的电平,RXD引脚上发生由引脚上发生由“1”到到“0”的跳变,接收器开始接收。的跳变,接收器开始接收。MCS51单片机串行接口及其应用4 4、方式、方式、方式、方式3 39位异步通信接口方式。传送一帧数据信息为位异步通信接口方式。传送一帧数据信息为11位位波特率波特率=

19、2SMOD/32T1的溢出率的溢出率方式方式方式方式3 3发送发送发送发送 数据由数据由TXD端输出,附加的第端输出,附加的第9位数据由位数据由SCON中的中的TB8提供。提供。 CPU 执行一条写执行一条写SBUF指令,就启动了串口发指令,就启动了串口发送,发送完送,发送完TI置置1方式方式方式方式3 3接收接收接收接收 与方式与方式1相似,相似,REN被置被置“1”后,跳变检测器以波特后,跳变检测器以波特率率16倍的速率采样倍的速率采样RXD端的电平,端的电平,RXD引脚上发生由引脚上发生由“1”到到“0”的跳变,接收器开始接收。的跳变,接收器开始接收。MCS51单片机串行接口及其应用四、

20、波特率的设计四、波特率的设计四、波特率的设计四、波特率的设计方式方式方式方式0 0的波特率是固定的:的波特率是固定的:的波特率是固定的:的波特率是固定的:波特率波特率波特率波特率=fosc/12=fosc/12方式方式方式方式2 2波特率取决于波特率取决于波特率取决于波特率取决于SMODSMOD波特率波特率波特率波特率=2=2SMODSMOD/32T1/32T1的溢出率的溢出率的溢出率的溢出率方式方式方式方式2 2波特率波特率波特率波特率=2=2SMODSMOD/64 fosc/64 foscSMOD=0SMOD=0时,波特率时,波特率时,波特率时,波特率=fosc/64=fosc/64,SM

21、OD=1SMOD=1时,波特率时,波特率时,波特率时,波特率=fosc/32=fosc/32方式方式方式方式1 1、3 3波特率取决于波特率取决于波特率取决于波特率取决于T1T1的溢出率的溢出率的溢出率的溢出率SMOD=0SMOD=0时,波特率时,波特率时,波特率时,波特率= T1= T1的溢出率的溢出率的溢出率的溢出率/32/32,SMOD=1SMOD=1时,波特率时,波特率时,波特率时,波特率= T1= T1的溢出率的溢出率的溢出率的溢出率/16/16上页上页下页下页回目录回目录MCS51单片机串行接口及其应用定时器定时器定时器定时器1 1作波特率发生器作波特率发生器作波特率发生器作波特率

22、发生器T1的溢出率的溢出率=计数速度计数速度/(2K-初值)初值)K为定时器为定时器T1的位数的位数K=13(方式(方式0) K=16(方式(方式1) K=8(方式(方式2、3)T1T1为计数器时:为计数器时:为计数器时:为计数器时:T1T1为定时器时:为定时器时:为定时器时:为定时器时:T1的溢出率的溢出率=fosc/ 12(2K-初值)初值)工作于方式工作于方式工作于方式工作于方式1 1、3 3时波特率:时波特率:时波特率:时波特率:波特率波特率=2SMOD/32T1的溢出率的溢出率= 2SMOD fosc/ 32 12(2K-初值)初值)MCS51单片机串行接口及其应用(1)利用方式0扩

23、展并行I/O口 例:利用51单片机的串行口外接74LS164扩展8位并行输出口。电路图如下图所示,8位并行输出口的各位分别接一个发光二极管,要求发光二极管按从左到右的顺序,以一定的时间间隔依次循环发光,试编程实现。 5.4.4 5.4.4 串行口的应用串行口的应用MCS51单片机串行接口及其应用参考程序如下:ORG 0000H LJMP MAINORG 2000HMAIN: CLR P1.0 MOV SCON,#00H SETB P1.0 MOV A,#80HBACK1: MOV SBUF,ABACK2: JNB TI,BACK2 CLR TI LCALL DELAY RR A SJMP BA

24、CK1MCS51单片机串行接口及其应用C51参考程序如下:#include “reg51.h”Sbit P1_0 =P10;/void delay(void)Void main()Unsigned char led;P1_0=0;SCON=0;P1_0=1;Led=0x80;While(1)SBUF=led;While(!TI)TI=0;delay();led=led1;If(led=0)Led=0x80;Return;MCS51单片机串行接口及其应用 利用51单片机的串行口外接74ls165扩展8位并行输入口,如图所示要求通过8位输入口读入一个字节数据存入R2中S/LP1.0TXDRXD51

25、单片机P3.0P3.1QCLKGND74LS165D0D7 MCS51单片机串行接口及其应用汇编语言源程序:ORG 0000H;LJMP MAIN;ORG 2000H;MAIN: CLR P1.0; SETB P1.0;BACK: MOV SCON,#10H;BACK1:JNB RI,BACK1; CLR RI; MOV A,SBUF; MOV R2,A; SJMP $;C51参考程序:#include “reg51.h”Sbit P1_0=P10;Void main()Volatile unsigned char led;P1_0=0;P1_0=1;SCON=0x10;While(!RI)R

26、I=0;led=SBUF;While(1);Return;MCS51单片机串行接口及其应用(2)利用方式1实现点对点的异步通信 例:编程将甲机片内RAM 50H5FH单元中的数据向乙机发送,在发送之前将数据块长度N发送给乙机,当发送完N个字节后,再发送一个累加效验和。乙机接收数据进行累加和校验,如果和发送方的累加和一致,发送数据“00”,表示接收正确,如果不一致,发数据FFH,甲机再重发,乙机接收的数据存入片内70H7FH单元中。设波特率为2400,fosc=6MHz,试编程实现。 参考程序如下: MCS51单片机串行接口及其应用甲机发送程序甲机发送程序TRT:MOV TMOD,#20H MO

27、V TH1,#0F3H MOV TL1,#0F3H SETB TR1 MOV SCON,#50HRPT:MOV R0,#50H MOV R2,#10H MOV R3,#00H MOV SBUF,R2BACK1:JNB TI,BACK 1 CLR TIBACK2:MOV A,R0 MOV SBUF,A ADD A,R3 MOV R3,A INC R0BACK3:JNB TI,BACK 3 CLR TI DJNZ R2,BACK 2 MOV SBUF,R3 MOV R3,#0BACK4:JNB TI,BACK4 CLR TIBACK5:JNB RI,BACK5 CLR RI MOV A,SBUF

28、JNZ RPT RETMCS51单片机串行接口及其应用乙机接收程序乙机接收程序RSU:MOV TMOD,#20H MOV TH1,#0F3H MOV TL1,#0F3H SETB TR1 MOV SCON,#50HBACK:MOV R0,#70HBACK1:JNB RI,BACK1 CLR RI MOV A,SBUF MOV R2,A MOV R3,#00HBACK2:JNB RI,BACK2 CLR RI MOV A,SBUF MOV R0,A INC R0 ADD A,R3 MOV R3,A DJNZ R2,BACK 2BACK3:JNB RI,BACK3 CLR RI MOV A,SBU

29、F XRL A,R3 MOV R3,#00H JZ BACK5 MOV SBUF,#0FFHBACK4:JNB TI,BACK4 CLR TI AJMP BACKBACK5:MOV SBUF,#00HBACK6:JNB TI,BACK6 CLR TI RETMCS51单片机串行接口及其应用甲机发送甲机发送C51C51参考程序:参考程序:#include “reg51.h”Void main()Volatile unsigned char rev;Unsigned char *pt,chk,len;TMOD=0x20;TH1=0xF3;TL1=0xF3;TR1=1;SCON=0x50;DoPt=

30、0x50;Len=0x10;Chk=0;SBUF=len;While(!TI)TI=0;DoSBUF=*pt;Chk=chk+*pt;Pt+;While(!TI)TI=0;Len-;while(len0);SBUF=chk;While(!TI)TI=0;While(!RI)RI=0;Rev=SBUF;while(rev!=0);Return;MCS51单片机串行接口及其应用乙机接收乙机接收C51C51参考程序:参考程序:#include “reg51.h”Void main()Volatile unsigned char rev;Unsigned char *pt,chk,len;Bit st

31、at;TMOD=0x20;TH1=0xF3;TL1=0xF3;TR1=1;SCON=0x50;Do pt=0x70; while(!RI) RI=0; Rev=SBUF; Len=rev; Chk=0; do While(!RI)RI=0;Rev=SBUF;*pt=rev;Pt+;Chk=chk+rev;Len-;while(len0);While(!RI)RI=0;Rev=SBUF;If (Rev=chk)SBUF=0;ElseSBUF=0xff;While(!TI)TI=0;while(rev!=chk);Return;MCS51单片机串行接口及其应用(3)利用方式2、方式3与多机通信 串

32、行口控制寄存器SCON中的SM2位为方式2、方式3的多机通讯控制位。在多机通讯中起着非常重要的作用。一个典型的多机通讯系统硬件连接如下图所示。MCS51单片机串行接口及其应用 当串行口以方式2、方式3发送时,数据的第9位是可编程位,即可以通过程序改变TB8的状态,以区分当前所发送的是地址还是数据,TB8=1时发送地址,TB8=0时发送数据。 发送方发送的第9位TB8,将被接收方的第9位,即RB8所接收。接收时,如果接收方的SM2=1,则只有接收到的RB8=1,即传送的是地址时,才能激活RI,接收数据才有效。如果接收方的SM2=0,则无论接收到的RB8的状态如何,均能激活RI,接收到的数据有效。

33、 利用串行口方式2、方式3的这个特点便可以实现多机通讯。 MCS51单片机串行接口及其应用 上图为一主多从结构的多机通讯系统,主机和从机应设置成相同的方式,使用相同的波特率。其工作通讯过程简单描述如下: 主机发出要求与之通讯的从机地址信号,并使TB81。 将所有从机的SM2都置为1,将接收到的第9位的状态送入从机的RB8,使RB81。 所有满足SM21、RB8=1条件的从机都能激活RI,进入各自的中断服务程序,在从机的中断服务程序中判断主机发出的地址信号是否与本从机号相同,若相同则将其SM2设为0,并将本机地址发回主机作为应答,否则不动作。 主机发出需传送的数据。并使TB8=0。MCS51单片机串行接口及其应用 所有从机均接收到该数据帧,其第9位进入RB8,即RB8=0。对于地址号与主机发出的地址不相符的那些从机,由于其SM2=1,而接收到的第9位使它们的RB8都为0,因此都不能激活RI,使得接收到的数据自然丢失。 地址号与主机发出的地址相同的那台从机SM20,这就使得不管接收到的第9位为何值,都能激活RI,接收到的数据有效。 通过以上6步,可完成主机与从机的一对一通讯。当主机需与其他从机联系时,则正与主机通讯的这台从机应恢复SM2=1,主机可再发出地址帧寻址其他从机。 MCS51单片机串行接口及其应用MCS51单片机串行接口及其应用

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号