电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > PPT文档下载
分享到微信 分享到微博 分享到QQ空间

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

  • 资源ID:11304803       资源大小:488KB        全文页数:32页
  • 资源格式: PPT        下载积分:10金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要10金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

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

,5.2 MCS-51串行接口及其应用,上页,下页,回目录,串行通信:,指数据一位一位按顺序传送,串行通信方式:,单工,半双工,全双工,MCS-51内部有一个全双工的串行通信接口,串行通信:,一、串行通信的两种基本方式,1、异步传送方式,一帧数据:,一个字符在异步传送中称为一帧数据,一帧数据由4部分组成: 起始位、数据位、奇偶位、停止位,一帧数据,起始位,数据位,奇偶位,停止位,第n个字符,第n+1个字符,上页,下页,回目录,为逻辑“0”信号,占用一位,用来通知接收设备,一个新的字符开始了,数据位:,起始位:,奇偶位:,58位。数据的最低位在前,最高位在后。,紧跟在最高位之后,占用一位,奇偶校验时,根据协议置“1”或“0”,停止位:,为逻辑“1”信号,占用1位或2位,当接收端收到停止位时,表示一帧数据结束。,一帧数据,起始位,数据位,奇偶位,停止位,第n个字符,第n+1个字符,2、同步传送方式,数据结构:,在传送大量数据时,为了提高传送信息的效率,采用一个数据块共用一个同步字作为起始位的格式,叫同步通信方式,用发、收双方规定的同步字来作为数据块的开始和结束,二、MCS-51串行口结构,1、数据缓冲器SBUF,包括物理上独立的发送缓冲器、接收缓冲器,发送缓冲器:只能写入不能读出,接收缓冲器:只能读出不能写入,二者共用一个地址99H,2、串行口控制寄存器,字节地址为98H,可位寻址,位地址为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位数据丢弃。 如果SM2=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:,接收中断标志。在方式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置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/32×T1溢出率,方式1发送,CPU 执行一条写SBUF指令,就启动了串口发送,方式1接收,允许接收位REN被置“1”后,接收器就开始工作,跳变检测器以波特率16倍的速率采样RXD端的电平,RXD引脚上发生由“1”到“0”的跳变,接收器开始接收。,3、方式2,9位异步通信接口方式。传送一帧数据信息为11位,波特率=2SMOD/64×fosc,方式2发送,数据由TXD端输出,附加的第9位数据由SCON中的TB8提供。 CPU 执行一条写SBUF指令,就启动了串口发送,发送完TI置1,方式2接收,与方式1相似,REN被置“1”后,跳变检测器以波特率16倍的速率采样RXD端的电平,RXD引脚上发生由“1”到“0”的跳变,接收器开始接收。,4、方式3,9位异步通信接口方式。传送一帧数据信息为11位,波特率= 2SMOD/32×T1的溢出率,方式3发送,数据由TXD端输出,附加的第9位数据由SCON中的TB8提供。 CPU 执行一条写SBUF指令,就启动了串口发送,发送完TI置1,方式3接收,与方式1相似,REN被置“1”后,跳变检测器以波特率16倍的速率采样RXD端的电平,RXD引脚上发生由“1”到“0”的跳变,接收器开始接收。,四、波特率的设计,方式0的波特率是固定的:,波特率=fosc/12,方式2波特率取决于SMOD,波特率=2SMOD/32×T1的溢出率,方式2波特率=2SMOD/64× fosc,SMOD=0时,波特率=fosc/64,SMOD=1时,波特率=fosc/32,方式1、3波特率取决于T1的溢出率,SMOD=0时,波特率= T1的溢出率/32,SMOD=1时,波特率= T1的溢出率/16,上页,下页,回目录,定时器1作波特率发生器,T1的溢出率=计数速度/(2K-初值),K为定时器T1的位数,K=13(方式0) K=16(方式1) K=8(方式2、3),T1为计数器时:,T1为定时器时:,T1的溢出率=fosc/ 12×(2K-初值),工作于方式1、3时波特率:,波特率=2SMOD/32×T1的溢出率,= 2SMOD × fosc/ 32 × 12×(2K-初值),(1)利用方式0扩展并行I/O口 例:利用51单片机的串行口外接74LS164扩展8位并行输出口。电路图如下图所示,8位并行输出口的各位分别接一个发光二极管,要求发光二极管按从左到右的顺序,以一定的时间间隔依次循环发光,试编程实现。,5.4.4 串行口的应用,参考程序如下: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)TI=0;delay();led=led>>1;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()Volatile 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,试编程实现。 参考程序如下:,甲机发送程序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,BACK5 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,

注意事项

本文(MCS-51单片机串行接口及其应用)为本站会员(豆浆)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.