欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 怎么用定時器做相差180 PWM [打印本頁]

作者: happy2058    時間: 2024-8-18 16:02
標題: 怎么用定時器做相差180 PWM

0-1000
通道1:小于5輸出高.否則輸出低  ?
通道2:=1000/2+5?

作者: donglw    時間: 2024-8-19 21:40
ST公司有這樣MCU,N年前我使用過ST公司STM8S系列單片機開發(fā)無刷三相直流電機的控制器,這一系列芯片的高級定時器采用互補輸出模式;ARM核STM32系列單片機的高級定時器同樣采用互補輸出模式,它提供路數比STM8S系列單片機多。可根據實際需要選擇。
作者: donglw    時間: 2024-8-19 21:44
目前使用ARM核的32位單片機的高級定時器都具備互補輸出模式,如三星、NXP公司等等。
作者: Y_G_G    時間: 2024-8-20 13:12
你這只是相位差,并不是互補,可以試一下這個方案:
定義兩個全局變量:
u16 flash_crc = 0;
u16 flash_cnt = 1000;

在定時器中斷中加入flash_crc = (flash_crc + 1) % flash_cnt;
在主函數中或者定時器中斷中檢測,并輸出電平
        if(flash_crc >= (flash_cnt/ 2))
        {
                高電平;
        }       
        else
        {
                低電平;
        }


這個是產生50%占空比的
根據 flash_crc  的值,可以輸出不同長度的脈沖



作者: 孫啟堯    時間: 2024-8-20 13:31
首先先確定時基,假如是1000,讓定時器執(zhí)行累加操作,當寄存器內的數據達到了500的時候,讓電平進行反轉,這樣就會輸出一個占空比為50
作者: coody_sz    時間: 2024-8-20 15:13
STC8A8K64D4、STC8G2K64S4這些型號非常方便的輸出多路帶相位差的15位PWM,直接指定輸出高低電平的時刻即可。
作者: happy2058    時間: 2024-8-21 00:41
Y_G_G 發(fā)表于 2024-8-20 13:12
你這只是相位差,并不是互補,可以試一下這個方案:
定義兩個全局變量:
u16 flash_crc = 0;

u16 flash_crc = 0;
u16 flash_cnt = 1000;
void TM0_Isr() interrupt 1

   flash_crc = (flash_crc + 1) % flash_cnt;
  if(flash_crc <=5)
        {
                P1=0x01;
        }      
else if (flash_crc >= (flash_cnt/ 2) &&  flash_crc <= (flash_cnt/ 2)+5)
        
        {
                P1=0x02;
        }

else  P1=0x00;


屎山代碼,





歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1