电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

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

32页
  • 卖家[上传人]:woxinch****an2018
  • 文档编号:53678172
  • 上传时间:2018-09-04
  • 文档格式:PPT
  • 文档大小:488KB
  • / 32 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、,5.2 MCS-51串行接口及其应用,上页,下页,回目录,串行通信:,指数据一位一位按顺序传送,串行通信方式:,单工,半双工,全双工,MCS-51内部有一个全双工的串行通信接口,串行通信:,一、串行通信的两种基本方式,1、异步传送方式,一帧数据:,一个字符在异步传送中称为一帧数据,一帧数据由4部分组成: 起始位、数据位、奇偶位、停止位,一帧数据,起始位,数据位,奇偶位,停止位,第n个字符,第n+1个字符,上页,下页,回目录,为逻辑“0”信号,占用一位,用来通知接收设备,一个新的字符开始了,数据位:,起始位:,奇偶位:,58位。数据的最低位在前,最高位在后。,紧跟在最高位之后,占用一位,奇偶校验时,根据协议置“1”或“0”,停止位:,为逻辑“1”信号,占用1位或2位,当接收端收到停止位时,表示一帧数据结束。,一帧数据,起始位,数据位,奇偶位,停止位,第n个字符,第n+1个字符,2、同步传送方式,数据结构:,在传送大量数据时,为了提高传送信息的效率,采用一个数据块共用一个同步字作为起始位的格式,叫同步通信方式,用发、收双方规定的同步字来作为数据块的开始和结束,二、MCS-51串行口结构,

      2、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:发送的第

      3、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输出同步移位信号,发送完T

      4、I置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,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位

      5、异步通信接口方式。传送一帧数据信息为11位,波特率= 2SMOD/32T1的溢出率,方式3发送,数据由TXD端输出,附加的第9位数据由SCON中的TB8提供。 CPU 执行一条写SBUF指令,就启动了串口发送,发送完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作波特率发生器,T1的溢出率=计数速度/(2K-初值),K为定时器T1的位数,K=13(方式0) K=16(方式1) K=8(方式2、3),T1为计数器时:,T1为定时器时:,T1的溢出率=fosc/ 12(

      6、2K-初值),工作于方式1、3时波特率:,波特率=2SMOD/32T1的溢出率,= 2SMOD fosc/ 32 12(2K-初值),(1)利用方式0扩展并行I/O口例:利用51单片机的串行口外接74LS164扩展8位并行输出口。电路图如下图所示,8位并行输出口的各位分别接一个发光二极管,要求发光二极管按从左到右的顺序,以一定的时间间隔依次循环发光,试编程实现。,5.4.4 串行口的应用,参考程序如下: ORG 0000HLJMP MAIN ORG 2000H MAIN:CLR P1.0MOV SCON,#00HSETB P1.0MOV A,#80H BACK1:MOV SBUF,A,BACK2:JNB TI,BACK2CLR TILCALL DELAYRR 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

      7、(!TI) TI=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() 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个字节后,再发送一

      8、个累加效验和。乙机接收数据进行累加和校验,如果和发送方的累加和一致,发送数据“00”,表示接收正确,如果不一致,发数据FFH,甲机再重发,乙机接收的数据存入片内70H7FH单元中。设波特率为2400,fosc=6MHz,试编程实现。参考程序如下:,甲机发送程序 TRT:MOV TMOD,#20HMOV TH1,#0F3HMOV TL1,#0F3HSETB TR1MOV SCON,#50H RPT:MOV R0,#50HMOV R2,#10HMOV R3,#00HMOV SBUF,R2 BACK1:JNB TI,BACK 1CLR TI BACK2:MOV A,R0MOV SBUF,AADD A,R3,MOV R3,AINC R0 BACK3:JNB TI,BACK 3CLR TIDJNZ R2,BACK 2MOV SBUF,R3MOV R3,#0 BACK4:JNB TI,BACK4CLR TI BACK5:JNB RI,BACK5CLR RIMOV A,SBUF JNZ RPT RET,乙机接收程序 RSU:MOV TMOD,#20HMOV TH1,#0F3HMOV TL1,#0F3

      9、HSETB TR1MOV SCON,#50H BACK:MOV R0,#70H BACK1:JNB RI,BACK1CLR RIMOV A,SBUF MOV R2,AMOV R3,#00H BACK2:JNB RI,BACK2CLR RIMOV A,SBUF MOV R0,AINC R0,ADD A,R3MOV R3,A DJNZ R2,BACK 2 BACK3:JNB RI,BACK3CLR RI MOV A,SBUFXRL A,R3MOV R3,#00HJZ BACK5MOV SBUF,#0FFH BACK4:JNB TI,BACK4CLR TIAJMP BACK BACK5:MOV SBUF,#00H BACK6:JNB TI,BACK6CLR TIRET,甲机发送C51参考程序: #include “reg51.h” Void main() Volatile unsigned char rev; Unsigned char *pt,chk,len; TMOD=0x20; TH1=0xF3; TL1=0xF3; TR1=1; SCON=0x50; Do Pt=0x50; Len=0x10; Chk=0; SBUF=len; While(!TI) TI=0; Do,SBUF=*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;,

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

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.