STC90C51RC/RD+串行口工作模式解析
需积分: 50 96 浏览量
更新于2024-08-10
收藏 4.63MB PDF 举报
"串行口工作模式-beginning python(中文)"
本文主要介绍了STC90C51RC/RD+系列单片机的串行口工作模式,该系列单片机支持四种不同的工作模式,这些模式可以通过设置SCON寄存器中的SM0和SM1来选择。在这些模式中,模式1、模式2和模式3用于异步通信,每个发送和接收的字符都包含起始位和停止位,而模式0则作为简单的移位寄存器使用。
在模式0下,串行口工作在同步移位寄存器模式。当单片机工作在6T模式时,波特率固定为SYSclk/6;而在12T模式下,波特率则是SYSclk/12。数据通过RxD(P3.0)输入,同步移位脉冲SHIFTCLOCK由TxD(P3.1)输出,数据传输是从低位到高位进行的。
发送过程如下:当执行写数据到发送缓冲器SBUF的指令时启动发送,串行口会以SYSclk/12或SYSclk/6的波特率从RxD引脚输出数据(低电平到高电平)。发送完成后,中断标志T1被置为"1",TxD输出同步移位脉冲SHIFTCLOCK。当写信号有效后,一个时钟周期后,SEND控制端变为高电平,允许RxD发送数据,并且TxD输出同步移位脉冲。一帧数据发送完毕后,所有控制端恢复原始状态,只有T1保持高电平,表示中断请求。再次发送数据前,必须通过软件将T1清零。
接收过程如下:在模式0接收时,需先清除接收中断请求标志RI(即RI=0),并设置接收允许控制位REN=1,此时启动串行口模式0的接收。RxD作为串行输入,TxD输出同步脉冲,波特率为SYSclk/12或SYSclk/6。接收一帧数据后,控制信号恢复,RI被置"1",进入中断请求状态。再次接收时,需要通过软件将RI清零。
在模式0中,多机通信控制位SM2必须清零,以免影响TB8和RB8。因为波特率固定,不需要定时器提供,而是由单片机的时钟作为同步移位脉冲。图中展示了模式0的工作流程,TI和RI中断请求标志由TX和RX控制单元产生,并通过与非门送到主控器请求中断。因此,主控器响应中断后,必须通过软件判断是TI还是RI中断请求,并相应地清零这两个标志。
STC90C51RC/RD+系列单片机因其低功耗、高速度、高可靠性以及强大的抗干扰能力,被广泛应用于各种嵌入式系统中。它们是STC89系列的升级版本,可以直接替换89系列,软硬件无需修改。此外,STC90C51RC/RD+系列还支持在线升级软件STC-ISP,为开发和调试提供了便利。
2017-02-24 上传
2009-10-15 上传
2021-04-29 上传
点击了解资源详情
点击了解资源详情
2021-04-09 上传
2024-02-22 上传
2021-05-19 上传
2019-09-05 上传
Yu-Demon321
- 粉丝: 23
- 资源: 3994
最新资源
- 磁性吸附笔筒设计创新,行业文档精选
- Java Swing实现的俄罗斯方块游戏代码分享
- 骨折生长的二维与三维模型比较分析
- 水彩花卉与羽毛无缝背景矢量素材
- 设计一种高效的袋料分离装置
- 探索4.20图包.zip的奥秘
- RabbitMQ 3.7.x延时消息交换插件安装与操作指南
- 解决NLTK下载停用词失败的问题
- 多系统平台的并行处理技术研究
- Jekyll项目实战:网页设计作业的入门练习
- discord.js v13按钮分页包实现教程与应用
- SpringBoot与Uniapp结合开发短视频APP实战教程
- Tensorflow学习笔记深度解析:人工智能实践指南
- 无服务器部署管理器:防止错误部署AWS帐户
- 医疗图标矢量素材合集:扁平风格16图标(PNG/EPS/PSD)
- 人工智能基础课程汇报PPT模板下载