PWM互补输出疑问!
各位老大!芯片STC8H3K64S2,PWMA设置为PWM模式1,P33,P34输出互补波形。
在上电启动瞬间2个互补引脚都会输出大概300ns的高电平,mos管击穿,如何避免?
P_SW2 |= 0x80;
P3M0 |= 0x18;
P3M1 &= ~0x18; //PWM引脚设置 P33,P34
PWMA_PS |= 0xc0; //PWM4: 输出引脚 PWM4P(P3.4), PWM4N(P3.3)
PWMA_ENO |= 0xc0; //启用PWM4输出
PWMA_PSCRH = 0x00; //预分频寄存器
PWMA_PSCRL= 0x00;
PWMA_DTR = 0x30; //死区时间配置
PWMA_CCMR4 =0x68; //设置通道4为PWM模式
PWMA_CCER2 = 0x50; //配置通道输出使能和极性
PWMA_ARRH = 0x03; //设置PWM频率
PWMA_ARRL = 0xE8;
PWMA_CCR4H = 0x01; //设置PWM占空比
PWMA_CCR4L = 0xF4;
PWMA_BKR= 0x80; //主输出使能 相当于总开关
// PWMA_IER = 0x02; //使能中断
PWMA_CR1 = 0x01; //使能计数器
IO加上下拉电阻,拉到禁用的电平
IO初始化先设置电平为禁用的电平,再设置为推挽模式
MOS加上下拉电阻,拉到禁用的电平,也就是GS极之间接电阻
P3M0赋值之前,先对P33、P34赋值0。 默认I/O输出为高阻,需要对下管加一个下拉电阻(NMOS),上管可加上拉电阻或者不加,因为只要保证下管不导通,上管导通也无所谓的。
然后就是在设置I/O口模式前,首先对P33和P34赋值确定的电平,然后再改动I/O模式进行输出生效,此时外部的上拉/下拉电阻就是失效的了,因为已经由单片机接管
然后才是PWM配置互补,并且打开输出。 lcwswust 发表于 2026-1-10 09:04
P3M0赋值之前,先对P33、P34赋值0。
{:OK:}就是这个,先对P33、P34赋值0就正常了。
页:
[1]