• 天游8线路检测中心

    产品
    天游8线路检测中心云 — 物联网云平台 零编程,组态拖拽即可实现远程监控。同时支持私有部署,拥有属于自己的软硬件一体化方案
    200
    +
    私有云项目
    数据本地化
    业务个性化
    10
    +
    万 公有云注册用户
    80%公有云功能免费
    付费VIP享自定义品牌服务
    天游8线路检测中心云官网
    天游8线路检测中心智造 — ODM/EMS 依托自动化、智能化、柔性化、透明化的智能工厂,
    提供代研、代料、代工一站式OEM/ODM服务
    天游8线路检测中心智造官网
    天游8线路检测中心智能 — 解决方案 打包提供云、管、边、端整体解决方案
    从问题诊断、方案设计,到实施落地、系统运维
    天游8线路检测中心智能官网
    新闻资讯
    avr单片机 PWM 超级函数 可以设置周期为2us~65ms
    2010-11-28


    共享超级PWM设置函数 可以设置周期为2us~65ms 可设占空比 2路PWM,使用定时器1,16位定时器,已经在电机控制产品中使用。

    实测2us~65ms 非常准确
    void pwmIint_us(uint16 zhouqi_us,uint16 high_us_A,uint16 high_us_B)
    三个参数为 周期,第一路高电平时间,第二路高电平时间。

    古欣 版权所有,转载请注明出处

    请自行定义部分内容

    要直接编译 还需要加一些定义,如包含头文件,增加类型定义。
    typedef unsigned char uint8;

    typedef unsigned int uint16;

    [code="c"]

    #define F_CPU_M   7.3728
    #define DDR_OC1   DDRB
    #define PORT_OC1A PB1
    #define PORT_OC1B PB2
    #define CKDIV_0     0
    #define CKDIV_1     1
    #define CKDIV_8     2
    #define CKDIV_64   3
    #define CKDIV_256   4
    #define CKDIV_1024   5

    //Time=PRE*(MAX-TCNT0+1) /F_cpu 这里time以秒为单位 F_cpu以hz为单位
    //Time*F_cpu=PRE*MAX
    //Max=Time*F_cpu/pre;

    //2us ~ 65000us (65ms)
    void pwmIint_us(uint16 zhouqi_us,uint16 high_us_A,uint16 high_us_B)
    {
    uint8 ckdiv = 1; //预分频
    float tmp;

    if((float)zhouqi_us>(float)(65536/F_CPU_M))
    {
    TCCR1B=CKDIV_8;//控制预分频
    ckdiv = 8;
    }
    else
    {
    TCCR1B=CKDIV_1;//控制预分频
    }

    tmp=F_CPU_M*(float)(zhouqi_us/ckdiv);
    ICR1 = (uint16)tmp; //控制最高计数
    if(high_us_A)
    {
    DDR_OC1|=(1<<PORT_OC1A); //对应引脚为输出
    TCCR1A |=(1<<COM1A1);   //比较匹配时清零
    tmp=F_CPU_M*(float)(high_us_A/ckdiv);
    OCR1A=(uint16)tmp;
    }
    if(high_us_B)
    {
    DDR_OC1|=(1<<PORT_OC1B);
    TCCR1A |=(1<<COM1B1);
    tmp=F_CPU_M*(float)(high_us_B/ckdiv);
    OCR1B=(uint16)tmp;
    }

    TCCR1A |=(1<<WGM11); //WGM 11 12 13 组合表示 快速PWM模式 计数TOP 为ICR1
    TCCR1B |=((1<<WGM13)|(1<<WGM12));
    }

    [/code]

    pwmIint_us(200,100,0);的效果如图

    pwmIint_us(65000,32500,0); 的效果


    工作日每天: 14:00~17:00
    抖音、天猫 "天游8线路检测中心旗舰店"

    关注天游8线路检测中心微信公众号
    了解更多信息

    天游8线路检测中心