MSSPx 波特率发生器原理与应用
需积分: 50 104 浏览量
更新于2024-08-09
收藏 6.49MB PDF 举报
"这篇教程介绍了如何在DOS 6.22系统中安装波特率发生器,重点关注在PIC16F1826微控制器上的应用。内容涉及到微控制器中的SSPx模块,该模块包含一个波特率发生器,用于在I2C和SPI主模式下生成时钟信号。波特率发生器的重载值存储在SSPxADD寄存器中,当写入SSPxBUF时,计数器开始递减计数。在完成操作后,内部时钟会自动停止,时钟引脚保持新状态。"
在PIC16F1826微控制器中,波特率发生器(BRG)是一个关键组件,它负责在通信协议如I2C和SPI中产生必要的时钟频率。SSPxADD寄存器用于设置BRG的重载值,这个值决定了时钟的频率。当写入SSPxBUF时,BRG开始计数,其内部逻辑会在每个模块时钟周期的两个振荡周期内加载SSPxADD的值。图25-39和表25-4展示了不同指令周期下时钟速率与SSPxADD值之间的关系。
公式25-1可能涉及了计算BRG计数器频率的数学表达式,但由于没有提供具体公式,我们无法详细解释。图25-40是一个波特率发生器的框图,它描绘了BRG计数器、SSPxCLK时钟信号和重载控制之间的关系。
表25-4列出了在不同FOSC(系统时钟频率)和FCY(时钟周期)条件下,设定不同的SSPxADD值所能得到的MSSPx时钟速率。需要注意的是,在I2C模式下,SSPxADD的值0x00、0x01和0x02是无效的,这是由于I2C协议的限制。
当使用I2C模式时,必须注意其不符合400 kHz I2C规范,这意味着在需要高速率的应用中应谨慎使用。此外,SSPxM<3:0>位用于控制BRG递减计数器,而SCLx是I2C接口的时钟线。
总结来说,这个教程涵盖了PIC16F1826微控制器中波特率发生器的工作原理、配置方法以及与通信协议的关系,对于理解和使用DOS 6.22环境下的波特率发生器是很有帮助的。同时,也提醒了用户在处理Microchip的设备时,要参考最新的英文文档,并了解其知识产权政策。
233 浏览量
2024-03-10 上传
2014-07-20 上传
2015-05-27 上传
2022-08-26 上传
2008-11-26 上传
2011-04-04 上传
小白便当
- 粉丝: 35
- 资源: 3904
最新资源
- 火炬连体网络在MNIST的2D嵌入实现示例
- Angular插件增强Application Insights JavaScript SDK功能
- 实时三维重建:InfiniTAM的ros驱动应用
- Spring与Mybatis整合的配置与实践
- Vozy前端技术测试深入体验与模板参考
- React应用实现语音转文字功能介绍
- PHPMailer-6.6.4: PHP邮件收发类库的详细介绍
- Felineboard:为猫主人设计的交互式仪表板
- PGRFileManager:功能强大的开源Ajax文件管理器
- Pytest-Html定制测试报告与源代码封装教程
- Angular开发与部署指南:从创建到测试
- BASIC-BINARY-IPC系统:进程间通信的非阻塞接口
- LTK3D: Common Lisp中的基础3D图形实现
- Timer-Counter-Lister:官方源代码及更新发布
- Galaxia REST API:面向地球问题的解决方案
- Node.js模块:随机动物实例教程与源码解析