当前位置: 首页 > news >正文

汇春科技之MDT10F684

       

目录

第一、时钟

第二,定时器Timer0

第三,pwm


汇春官网:汇春科技 (yspringtech.com)

汇春是麦肯的原厂,以下是两个论坛,其中都有关于麦肯单片机的学习论坛,可以参考学习,第一个叫英锐恩,第二叫千芯科技。

Microchip单片机,模拟器件,接口电路,台湾麦肯单片机,产品应用交流,讨论学习网,免费提供样品,技术支持,原装开发工具技术咨询,应用方案,数据手册,选型指导,资料下载,智能电子产品开发设计 - Powered by Discuz! (enroobbs.com)

首页- 千芯科技,单片机开发,LED驱动,电子产品开发设计,mcu,12c508,12c509,16c54,16c57 (mdtmcu.com)

        这里只是根据自己的开发经验梳理的一些知识,并不一定都适用,供大家一起参考学习。

第一、时钟

        首先要明白时钟频率(FOSC)和时钟周期(TOSC)的关系,二者互为倒数关系。例如我选择的时钟源是低频内部振荡器(31Khz)且不分频,则时钟频率就是31khz,则时钟周期就是1/31k。

       

        还有一个经常会看到的叫做指令周期,根据芯片手册可以知道684的指令周期时钟是FOSC/4。

第二,定时器Timer0

         手册中并没有说明如何计算溢出时间。Timer0涉及到的寄存器有TMR(选项寄存器),主要看下图标出的这几位;

        Timer0定时器是一个向上计数的,通俗的讲就是装载值到256这一段的时间(8位是256),所以这里的RTCC(Timer0模块寄存器)以我的理解就是装载值寄存器,从RTCC递增到256溢出,即产生一次中断(假如开启了); 

        然后就是INTS(中断控制寄存器)的bit7----GIE(全局中断允许位),bit5----TIS(Timer0溢出中断允许位)。

        当这些初始化之后,就可以计算溢出时间了。

                Timer0溢出周期=(256-RTCC)* 指令周期 *分频数;

                 指令周期上面说了是4/FOSC。

第三,pwm

         pwm基于Timer2。

        主要涉及到的寄存器有CCP1CON(CCP1控制寄存器) ,不知道CCP1是什么不重要,以我的理解是ECCP模块,这个模块有好几个功能,其中之一就是PWM。CCP1CON寄存器主要用于设置选择pwm模式,pwm何种输出模式的作用,以及设置pwm占空比的低2位。

        CCPR1L(捕捉/比较/PWM寄存器1的低字节),在pwm的作用里是设置PWM占空比的高8位,和上面的低2位共同组成一个10位的分辨率。

        CCPR1H(捕捉/比较/PWM寄存器1的高字节),数值和CCPR1L设置一样即可,从动。

        T2CON(TIMER2控制寄存器),主要看低3位,bit2----TMR2ON,Timer2使能位;bit1-0----T2CKPS,Timer2时钟预分频比选择位。

        PR2(Timer2模块周期寄存器)。

        下图所示是PWM脉冲宽度和占空比的计算公式还有周期;

        

        下图所示是PWM工作设置流程;注意要把需要pwm输出的引脚设置为输出,即设置CPIO。

http://www.lryc.cn/news/326791.html

相关文章:

  • 【Vue3笔记01】如何使用Vue3和Vite搭建前端项目的基础开发环境
  • 软考高级架构师:信息安全概念和例题
  • Lilishop商城(windows)本地部署【docker版】
  • # 14 React 自定义Hook详解
  • HTML静态网页成品作业(HTML+CSS+JS)——中华美食八大菜系介绍(1个页面)
  • PostgreSQL11 | Windows系统安装PostgreSQL
  • uniapp保留两位小数,整数后面加.00
  • R: 网状Meta分析进行模型构建及图形绘制
  • 数据结构——排序算法
  • MyBatis的高级特性探索
  • 未来制造:机器人行业新质生产力提升策略
  • 开发过程中PostgreSQL常用的SQL语句,持续更新ing
  • Linux screen命令教程:如何在一个终端窗口中管理多个会话(附实例详解和注意事项)
  • Android中的本地广播与全局广播
  • Debezium日常分享系列之:Debezium2.5稳定版本之MySQL连接器配置示例和Connector参数详解
  • vue3父组件给子组件传值,并在子组件接受
  • Python爬虫如何快速入门
  • 酷开科技依托酷开系统用“平台+产品+场景”塑造全屋智能生活!
  • P8649 [蓝桥杯 2017 省 B] k 倍区间:做题笔记
  • LeetCode题练习与总结:旋转图像
  • 如何在家中使用手机平板电脑 公司iStoreOS软路由实现远程桌面
  • 【文献分享】myMUSCLE, a New Multiphysics, Multiscale Simulation Coupling Environment
  • 2024年云计算使用报告,89%组织用多云,25%广泛使用生成式AI,45%需要跨云数据集成,节省成本是云首要因素
  • 【Python操作基础】——序列
  • Vue 与 React:前端框架对比分析
  • 解决kubesphere流水线docker登陆错误http: server gave HTTP response to HTTPS client
  • macOS安装mongoDB(homebrew)
  • 免费SSL证书和付费SSL证书的区别点
  • 【SQL】1633. 各赛事的用户注册率(COUNT函数 表达式用法)
  • 【LVGL-使用SquareLine Studio设计器 】