51单片机串行通信详解:9位异步模式
需积分: 10 41 浏览量
更新于2024-07-13
收藏 3.63MB PPT 举报
"该资源是关于C51单片机串行异步通信接口的讲解,主要涵盖了方式2和方式3的9位异步通信。9位数据帧包括1个低电平起始位,9个数据位和1个高电平停止位。方式2的波特率可设置为fosc/32或fosc/64,而方式3的波特率由SMOD乘以定时器T1的溢出率再除以32来确定。涉及的关键点有TXD和RXD引脚,串行口的特殊功能寄存器如SBUF、SCON以及电源控制寄存器PCON。SBUF作为收发数据的寄存器,而SCON则用于控制工作方式、接收和发送状态。"
C51单片机的串行异步通信是微控制器与外界进行数据交换的重要方式之一。在本课程中,重点讲解了51系列单片机的串行接口,特别是在方式2和方式3下的9位异步通信。这种通信模式下,每个数据帧包含一个低电平起始位,接着是9个数据位,最后是1个高电平的停止位。数据传输过程中,TXD(发送数据端)用于发送数据,而RXD(接收数据端)用于接收数据。
在方式2中,波特率可设定为系统的时钟频率fosc除以32或64,这为用户提供了灵活性,可以根据实际需求调整通信速率。而在方式3,波特率的计算更为复杂,它依赖于SMOD(双波特率模式位)的状态和定时器T1的溢出率,公式为2SMOD×(T1的溢出率)/32,这使得波特率可以在更广泛的范围内进行调整。
51系列单片机的串行接口涉及到多个特殊功能寄存器,其中SBUF(串行口数据寄存器)位于地址99H,用于发送和接收数据。值得注意的是,虽然SBUF只有一个地址,但实际上是两个独立的物理寄存器,CPU写入SBUF时会将数据放入发送数据寄存器,然后按照约定的格式依次发送;而读取SBUF时,则是从接收数据寄存器中获取接收到的信息。
SCON(串行口控制寄存器)位于地址98H,它的各个位负责设定串行口的工作模式(SM0和SM1)、多机通信控制(SM2)、接收允许(REN)、发送和接收的第9位(TB8和RB8),以及发送和接收中断标志(TI和RI)。系统复位时,SCON会被清零。TI标志位在数据发送完成后由硬件自动置位,通知CPU下一个数据的发送,但需要通过软件清除,以避免中断发生后无法正常处理新的数据。
此外,PCON(电源控制寄存器)虽然不是直接与串行通信相关的寄存器,但其包含的SMOD位会影响方式3的波特率计算,因此在进行波特率设置时也需要考虑。
总结来说,51单片机的串行通信提供了多种工作模式,特别是方式2和方式3的9位异步通信,允许灵活的波特率配置和数据传输。理解这些工作模式、波特率计算以及相关寄存器的使用,对于有效地进行单片机的串行通信编程至关重要。
2020-07-19 上传
2022-12-01 上传
2021-10-05 上传
2023-05-30 上传
2024-10-31 上传
2024-10-31 上传
2023-05-23 上传
2024-10-31 上传
2023-06-08 上传
小炸毛周黑鸭
- 粉丝: 24
- 资源: 2万+
最新资源
- 平尾装配工作平台运输支撑系统设计与应用
- MAX-MIN Ant System:用MATLAB解决旅行商问题
- Flutter状态管理新秀:sealed_flutter_bloc包整合seal_unions
- Pong²开源游戏:双人对战图形化的经典竞技体验
- jQuery spriteAnimator插件:创建精灵动画的利器
- 广播媒体对象传输方法与设备的技术分析
- MATLAB HDF5数据提取工具:深层结构化数据处理
- 适用于arm64的Valgrind交叉编译包发布
- 基于canvas和Java后端的小程序“飞翔的小鸟”完整示例
- 全面升级STM32F7 Discovery LCD BSP驱动程序
- React Router v4 入门教程与示例代码解析
- 下载OpenCV各版本安装包,全面覆盖2.4至4.5
- 手写笔画分割技术的新突破:智能分割方法与装置
- 基于Koplowitz & Bruckstein算法的MATLAB周长估计方法
- Modbus4j-3.0.3版本免费下载指南
- PoqetPresenter:Sharp Zaurus上的开源OpenOffice演示查看器