STC单片机串行通信波特率设置解析
需积分: 50 47 浏览量
更新于2024-08-09
收藏 5.62MB PDF 举报
"串行通信中波特率的设置在STC12C5620AD系列单片机中是一个关键的参数,它直接影响到数据传输的速度和效率。串行通信的波特率设置取决于所选用的工作模式。"
在STC12C5620AD系列单片机中,串行通信的波特率可以分为几种不同的情况:
1. **工作模式0**:在这种模式下,波特率与系统时钟频率SYSclk以及UART_M0x6/AUXR.5位有关。如果UART_M0x6/AUXR.5设置为0,波特率等于SYSclk/16;若设置为1,波特率同样为SYSclk/16。一旦SYSclk选定且UART_M0x6/AUXR.5设定好,模式0的波特率便固定不变。
2. **工作模式2**:在这个模式下,波特率不仅与SYSclk有关,还受到PCON中的SMOD位的影响。基本公式为:波特率 = 2 * SMOD / 64 * (SYSclk)。当SMOD为0时,波特率为SYSclk/64;当SMOD为1时,波特率为SYSclk/32。通过软件设置PCON的SMOD位,可以选择两种不同的波特率,因此模式2的波特率基本固定。
3. **工作模式1和3**:这两种模式的波特率是可变的,因为它们不仅依赖于SYSclk,还与定时器/计数器1(T1)的溢出率相关。基本表达式为:波特率 = 2 * SMOD / 32 * (定时器溢出率)。溢出率由TH1的值决定,具体计算为:当T1的预置值为0时,溢出率为SYSclk / (256 - TH1);当预置值不为0时,溢出率为SYSclk / (256 - TH1)。通过调整TH1的值,可以灵活地改变波特率。在实际应用中,模式1和模式3由于其灵活性常被选择。
为了设置SMOD位,可以使用如下的汇编指令:
- 使SMOD=0:`MOV PCON,#00H`
- 使SMOD=1:`MOV PCON,#80H`
需要注意的是,SMOD仅占据电源控制寄存器PCON的最高位,其他位的设置应根据具体应用需求来确定。
STC12C5620AD系列单片机是南通国芯微电子有限公司的产品,具备高速、低功耗、强抗静电和抗干扰等特点,并支持在线编程(ISP)。其内部结构、管脚图、选型表和应用电路图等信息可以在相关手册中找到,便于用户进行开发和设计。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2023-05-03 上传
251 浏览量
点击了解资源详情
点击了解资源详情
173 浏览量
点击了解资源详情

菊果子
- 粉丝: 50

最新资源
- 深入研究软件体系结构的评估方法论文集
- 精通蓝牙开发:构建Android服务端与客户端应用
- systemctl-php:PHP中systemctl管理的扩展包
- IE6安装卸载工具包:文件包内容与使用说明
- SQL2000备份与压缩自动化解决方案
- Eclipse代码折叠工具修复版发布:解决Java字符串越界异常
- OCaml中类型系统实现详解与算法W的应用
- Python实现的HTTP大文件多线程下载工具
- tinybox JavaScript弹出层插件类的介绍与应用
- 深入解析C#编程语言与随书源码的使用
- Virgo Tomcat Server:OSGi与Spring动态模块技术解析
- Oracle期末测试题及答案解析
- C语言实现的编译原理词法分析器源码解析
- Bugscan Web漏洞扫描程序:在线系统开源框架分析
- VS2008下C++利用Curl构建网络爬虫示例
- Python实现游戏协议数据抓取与解析工具指南