汇春科技之MDT10F684

发布于:2024-03-29 ⋅ 阅读:(30) ⋅ 点赞:(0)

       

目录

第一、时钟

第二,定时器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。

本文含有隐藏内容,请 开通VIP 后查看