打印
[PIC®/AVR®/dsPIC®产品]

PIC16F13145开发板的PWM使用

[复制链接]
338|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 天灵灵地灵灵 于 2024-10-24 20:20 编辑

创建MCC工程,设置如下:



最后设置成250KHz的频率
IO配置如下


然后代码里对PWM从小到大,再从大到小

int main(void)
{
    uint16_t pwm_t=0;
    uint8_t flag=0;
    SYSTEM_Initialize();
    // If using interrupts in PIC18 High/Low Priority Mode you need to enable the Global High and Low Interrupts
    // If using interrupts in PIC Mid-Range Compatibility Mode you need to enable the Global and Peripheral Interrupts
    // Use the following macros to:

    // Enable the Global Interrupts
    //INTERRUPT_GlobalInterruptEnable();

    // Disable the Global Interrupts
    //INTERRUPT_GlobalInterruptDisable();

    // Enable the Peripheral Interrupts
    //INTERRUPT_PeripheralInterruptEnable();

    // Disable the Peripheral Interrupts
    //INTERRUPT_PeripheralInterruptDisable();


    while(1)
    {
        if(flag==0)
        {
            PWM1_LoadDutyValue(pwm_t++);
            DELAY_milliseconds(100);
            if(pwm_t==126) flag=1;
        }
        else
        {
            PWM1_LoadDutyValue(pwm_t--);
            DELAY_milliseconds(100);
            if(pwm_t==1) flag=0;
        }
    }   
}


使用特权

评论回复
沙发
天灵灵地灵灵|  楼主 | 2024-10-24 20:22 | 只看该作者

注意这里,这里设置100%时候的数据就是最大寄存器值,这也是修改函数的参数可选最大值。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

173

主题

3358

帖子

13

粉丝