wamcncn 发表于 2025-1-15 08:22:16

wamcncn 发表于 2025-1-15 08:23:08

wamcncn 发表于 2025-4-10 16:36:03

      Ai8051内集成了8通道16位高级PWM定时器,分成两组,一组使PWMA,一组是PWMB,,能分别单独设置。不同的是PWMA可配置4组互补、对称、死区控制的PWM信号或捕获外部信号,PWMB只能输出4路PWM 信号或捕获外部信号。
      两组PWM都由系统时钟经寄存器分频后提供时钟,分频值1到65535。可分别单独设置。
PWMA图:





wamcncn 发表于 2025-4-24 09:14:08

高级定时器PWM学习实践,在擎天柱开发板的P20、P21角输出互补脉冲。

从PWM结构图上看,预分频器前面的从模式控制、触发控制器、编码器接口,的设置暂时没明白,在KEIL中,只设置了预分频及后面。
void PWMA_Init(void)                        //PWMA的初始化
{
        //1.时钟源选择这里不改,默认22.1184mhz
       
        //2.时基单元选择
        PWMA_PSCRH = 0;                                //1分频
        PWMA_PSCRL = 0;
       
        PWMA_ARRH= (u8)(PWM_ARR>>8);
        PWMA_ARRL= (u8)(PWM_ARR);
       
        PWMA_CCR1H= (u8)(PWM_CCR>>8);
        PWMA_CCR1L= (u8)(PWM_CCR);       
       
       
        //3.输入输出的引脚配置
        PWMA_ENO = 0X00;                        //使能PWM1n通道输出
        PWMA_ENO |= 0X03;
       
        PWMA_PS =0x00;                                //选择PWM1从P20引脚输出
        PWMA_PS |= (2<<0);       
       
        //4.输入输出模式设置
        PWMA_CCER1 = 0X00;
        PWMA_CCMR1 = 0X68;                        //pwm模式1 配置置位输出
        PWMA_CCER1 = 0x05;                        //开启输出比较通道
       
        PWMA_BKR = 0X80;                        //使能主输出
       
        PWMA_CR1 |= 0X01;                        //启动计数器
}

页: 1 [2]
查看完整版本: Ai8051u学习记录