MCS-51单片机串行接口及其应用

上传人:豆浆 文档编号:11304803 上传时间:2017-08-15 格式:PPT 页数:32 大小:488KB
返回 下载 相关 举报
MCS-51单片机串行接口及其应用_第1页
第1页 / 共32页
MCS-51单片机串行接口及其应用_第2页
第2页 / 共32页
MCS-51单片机串行接口及其应用_第3页
第3页 / 共32页
MCS-51单片机串行接口及其应用_第4页
第4页 / 共32页
MCS-51单片机串行接口及其应用_第5页
第5页 / 共32页
点击查看更多>>
资源描述

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

1、,5.2 MCS-51串行接口及其应用,上页,下页,回目录,串行通信:,指数据一位一位按顺序传送,串行通信方式:,单工,半双工,全双工,MCS-51内部有一个全双工的串行通信接口,串行通信:,一、串行通信的两种基本方式,1、异步传送方式,一帧数据:,一个字符在异步传送中称为一帧数据,一帧数据由4部分组成: 起始位、数据位、奇偶位、停止位,一帧数据,起始位,数据位,奇偶位,停止位,第n个字符,第n+1个字符,上页,下页,回目录,为逻辑“0”信号,占用一位,用来通知接收设备,一个新的字符开始了,数据位:,起始位:,奇偶位:,58位。数据的最低位在前,最高位在后。,紧跟在最高位之后,占用一位,奇偶校

2、验时,根据协议置“1”或“0”,停止位:,为逻辑“1”信号,占用1位或2位,当接收端收到停止位时,表示一帧数据结束。,一帧数据,起始位,数据位,奇偶位,停止位,第n个字符,第n+1个字符,2、同步传送方式,数据结构:,在传送大量数据时,为了提高传送信息的效率,采用一个数据块共用一个同步字作为起始位的格式,叫同步通信方式,用发、收双方规定的同步字来作为数据块的开始和结束,二、MCS-51串行口结构,1、数据缓冲器SBUF,包括物理上独立的发送缓冲器、接收缓冲器,发送缓冲器:只能写入不能读出,接收缓冲器:只能读出不能写入,二者共用一个地址99H,2、串行口控制寄存器,字节地址为98H,可位寻址,位

3、地址为98H9FH,SM0 SM1 SM2 REN TB8 RB8 TI RI,SCON (98H),(1)SM0、SM1:串行口工作方式选择位。,0 0 0 移位寄存器方式(用于I/O扩展),0 1 1 8位UART,波特率可变,1 0 2 9位UART,波特率为fosc/32或fosc/64,1 1 3 9位UART,波特率可变,(2)SM2 多机通信控制位 用于方式2或方式3中。 如果SM2=1,只有当接收到的第9位数据(RB8)为“1”时,才将接收到的前8位数据送入SBUF,并置“1” RI,产生中断请求;当接收到的第9位数据(RB8)为“0”时,则将接收到的前8位数据丢弃。 如果SM

4、2=0,则不论第9位数据是“1”还是“0”,都将前8位数据送入SBUF中,并置“1” RI,产生中断请求。,REN:允许接收控制位。,由软件置“1”时,允许接收。,置“0”时,禁止接收,TB8:发送的第9位数据方式2和3时,TB8是要发送的第9位数据,可作为奇偶校验位使用,也可作为地址帧或数据帧的标志。 =1为地址帧, =0为数据帧,RB8:,在方式2和方式3中要接收的第9位数据,在方式1时,如SM2=0,RB8是接收到的停止位。在方式0中,不使用RB8,TI:,发送中断标志。在方式0串行发送第8位结束时由硬件置“1”,或在其他方式中串行发送停止位的开始时置“1”,必须由软件清“0”,RI:,

5、接收中断标志。在方式0串行接收第8位结束时由硬件置“1”,或在其他方式中串行接收停止位的开始时置“1”,必须由软件清“0”,上页,下页,回目录,3、特殊功能寄存器PCON,其字节地址87H,没有位寻址功能。,PCON(87H),SMOD:波特率选择位。SMOD=1时,波特率加倍,三、串行口工作方式,1、方式0,同步移位寄存器输入/输出方式,常用于外接移位寄存器,以扩展并行I/O口。 8位数据为一帧,不设起始位和停止位,先发送或接收最低位。,74LS164,数据输出,移位脉冲,方式0 发送,一个数据写入SBUF,串口将数据从RXD输出(波特率fosc/12),TXD输出同步移位信号,发送完TI置

6、1,D7 D0,图5-12 方式0扩展I/O口硬件逻辑图,方式0的波特率为:波特率=fosc/12,方式0 接收,REN置1,串口将数据从RXD输入(波特率fosc/12),TXD输出同步移位信号,发送完RI置1,上页,下页,回目录,图5-12 方式0扩展I/O口硬件逻辑图,2、方式1,波特率可变的8位异步通信接口方式。,波特率=2SMOD/32T1溢出率,方式1发送,CPU 执行一条写SBUF指令,就启动了串口发送,方式1接收,允许接收位REN被置“1”后,接收器就开始工作,跳变检测器以波特率16倍的速率采样RXD端的电平,RXD引脚上发生由“1”到“0”的跳变,接收器开始接收。,3、方式2

7、,9位异步通信接口方式。传送一帧数据信息为11位,波特率=2SMOD/64fosc,方式2发送,数据由TXD端输出,附加的第9位数据由SCON中的TB8提供。 CPU 执行一条写SBUF指令,就启动了串口发送,发送完TI置1,方式2接收,与方式1相似,REN被置“1”后,跳变检测器以波特率16倍的速率采样RXD端的电平,RXD引脚上发生由“1”到“0”的跳变,接收器开始接收。,4、方式3,9位异步通信接口方式。传送一帧数据信息为11位,波特率= 2SMOD/32T1的溢出率,方式3发送,数据由TXD端输出,附加的第9位数据由SCON中的TB8提供。 CPU 执行一条写SBUF指令,就启动了串口

8、发送,发送完TI置1,方式3接收,与方式1相似,REN被置“1”后,跳变检测器以波特率16倍的速率采样RXD端的电平,RXD引脚上发生由“1”到“0”的跳变,接收器开始接收。,四、波特率的设计,方式0的波特率是固定的:,波特率=fosc/12,方式2波特率取决于SMOD,波特率=2SMOD/32T1的溢出率,方式2波特率=2SMOD/64 fosc,SMOD=0时,波特率=fosc/64,SMOD=1时,波特率=fosc/32,方式1、3波特率取决于T1的溢出率,SMOD=0时,波特率= T1的溢出率/32,SMOD=1时,波特率= T1的溢出率/16,上页,下页,回目录,定时器1作波特率发生

9、器,T1的溢出率=计数速度/(2K-初值),K为定时器T1的位数,K=13(方式0) K=16(方式1) K=8(方式2、3),T1为计数器时:,T1为定时器时:,T1的溢出率=fosc/ 12(2K-初值),工作于方式1、3时波特率:,波特率=2SMOD/32T1的溢出率,= 2SMOD fosc/ 32 12(2K-初值),(1)利用方式0扩展并行I/O口 例:利用51单片机的串行口外接74LS164扩展8位并行输出口。电路图如下图所示,8位并行输出口的各位分别接一个发光二极管,要求发光二极管按从左到右的顺序,以一定的时间间隔依次循环发光,试编程实现。,5.4.4 串行口的应用,参考程序如

10、下:ORG 0000H LJMP MAINORG 2000HMAIN: CLR P1.0 MOV SCON,#00H SETB P1.0 MOV A,#80HBACK1: MOV SBUF,A,BACK2: JNB TI,BACK2 CLR TI LCALL DELAY RR A SJMP BACK1,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)T

11、I=0;delay();led=led1;If(led=0)Led=0x80;Return;,利用51单片机的串行口外接74ls165扩展8位并行输入口,如图所示要求通过8位输入口读入一个字节数据存入R2中,汇编语言源程序: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()Vol

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

13、程序TRT:MOV TMOD,#20H MOV 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,BA

14、CK5 CLR RI MOV A,SBUF JNZ RPT RET,乙机接收程序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,SBUF 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 RET,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

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