单片机好难 发表于 2023-4-23 17:23:09

定时器带死区互补的pwm

前辈们好,刚入行的第一个项目,需要用到带死区互补的pwm,因为成本原因,选的stc8g1k8a-8pin的芯片,不带pwm互补,所以想使用定时器做带死区互补的pwm,代码如下,不知道能不能实现


void TM0_Isr() interrupt 1
{
at++;
at%=100;
if(at<at2){                         //at2是占空比
   P32=0;   //下管
if(at>3){
   P33 = 1;//上管
}
}
if(at>=at2){
   P33=0;   //上管
if(at>at2+2){
   P32 = 1;//下管
}
}                           
}




神农鼎 发表于 2023-4-23 18:11:06

建议改用 STC8H1K08-36I-TSSOP20, 这样有大量现成的程序


单片机好难 发表于 2023-4-24 08:50:52

神农鼎 发表于 2023-4-23 18:11
建议改用 STC8H1K08-36I-TSSOP20, 这样有大量现成的程序

您好,因为成本原因老板不让换,我也是没办法了,才自己写的{:sad:}

电子DIY小家 发表于 2023-4-24 09:57:55

单片机好难 发表于 2023-4-24 08:50
您好,因为成本原因老板不让换,我也是没办法了,才自己写的

程序思路可以,但是分辨率不高。具体的输出波形建议用示波器看有下就知道了,要学会用工具

单片机好难 发表于 2023-4-24 11:32:24

电子DIY小家 发表于 2023-4-24 09:57
程序思路可以,但是分辨率不高。具体的输出波形建议用示波器看有下就知道了,要学会用工具 ...

感谢您的指点{:smile:},用示波器看了频率在6k,但是我探头只有一个了,另一个压弯了,不能用了,看不了死区{:sad:}

单片机好难 发表于 2023-4-24 16:49:09

电子DIY小家 发表于 2023-4-24 09:57
程序思路可以,但是分辨率不高。具体的输出波形建议用示波器看有下就知道了,要学会用工具 ...

前辈,我驱动的是直流电机这个分辨率我觉得应该能行

电子DIY小家 发表于 2023-4-24 17:08:07

单片机好难 发表于 2023-4-24 16:49
前辈,我驱动的是直流电机这个分辨率我觉得应该能行

一般我定时器的中断都是10ms以上的定时时间来保证稳定性,然而直流电机的pwm最好都是5k以上,低频会有啸叫的。另外这个好像是USB板块,你这个pwm的问题走错板块了呢{:lol:}
页: [1]
查看完整版本: 定时器带死区互补的pwm