1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

標題: 請教前輩,STC單片機芯片PWM硬件設置 [打印本頁]

作者: happy2058    時間: 2023-12-7 22:21
標題: 請教前輩,STC單片機芯片PWM硬件設置
芯片8H3K32S2  系統(tǒng)24M  PWMA_ARR周期 PWMA_CCR占空比
//********************************************************PWMA 互補*****************************************
#define PWM_PSC                         (12-1)        //12分頻,0.5us  
#define PWM_PERIOD                 10                        //周期5us
#define PWM_DUTY                         2                        //占空1us        
        
        
void PWMA_Config()                                //
{
        PWMA_PS =  0x40;                                   //P2.6P2.7 管腳
        
        PWMA_PSCRH = (u16)(PWM_PSC >> 8);
        PWMA_PSCRL = (u16)(PWM_PSC);                 
        
        PWMA_CCER2 = 0x00; // 寫 CCMRx 前必須先清零 CCERx 關閉通道
        PWMA_CCMR4 = 0x60; // 設置 CC2 為 PWMA 輸出模式,PWM模式1
        PWMA_CCER2 = 0x50; // 使能 CC4P4n


        
        PWMA_CCR4H = (u16)(PWM_DUTY >> 8);  //設置占空比
        PWMA_CCR4L = (u16)(PWM_DUTY);
        
        PWMA_ARRH = (u16)(PWM_PERIOD >> 8); // 設置PWM周期
        PWMA_ARRL = (u16)(PWM_PERIOD);
        
        //PWMA_IER
        //PWMA_DTR = 1;
        PWMA_ENO = 0xc0; // 使能 PWM4p4n 端口輸出
        PWMA_BKR = 0x80; // 使能主輸出
        PWMA_CR1 = 0x01; // 啟動PWM定時器
}        
下圖是12分頻,PWMA_CCR 1us  PWMA_ARR 5us 占空比0.2

下圖是6分頻,PWMA_CCR 1us  PWMA_ARR 5us 占空比0.2


周期要比設置的ARR要大,大了接近一個正脈寬。在兩種分頻下還不一樣。是硬件清耗嗎?產(chǎn)生事件消耗?我把其它功能已經(jīng)全部關閉,中斷也沒開。只留了一下PWMA。
然后再改快一點
12分頻,PWMA_CCR 0.5us  PWMA_ARR 1us 占空比0.5


實際周期是3倍正脈寬
12分頻,PWMA_CCR 0.5us  PWMA_ARR  0.5us 占空比0.5


PWMA_ARR  成了 1us ,正負都一樣了,是不是產(chǎn)生事件要消耗0.5US時間?這個怎么計算。對于指令周期現(xiàn)在還是不太懂。


作者: szb314    時間: 2023-12-9 12:00
自己仿真一下,這個單片機就這么快,0.5us 能執(zhí)行幾個指令?IO翻轉(zhuǎn)速度多少 自己測一下就知道了
作者: happy2058    時間: 2023-12-9 17:46
szb314 發(fā)表于 2023-12-9 12:00
自己仿真一下,這個單片機就這么快,0.5us 能執(zhí)行幾個指令?IO翻轉(zhuǎn)速度多少 自己測一下就知道了

我不會,我直接打板,寫程序調(diào)試,不會仿真
作者: npn    時間: 2023-12-9 20:18
szb314 發(fā)表于 2023-12-9 12:00
自己仿真一下,這個單片機就這么快,0.5us 能執(zhí)行幾個指令?IO翻轉(zhuǎn)速度多少 自己測一下就知道了

仿真沒有這些硬件PWM的寄存器,必須實物測試。
作者: Y_G_G    時間: 2023-12-10 13:37
PWM頻率不要設定得太高.你這都1MHZ了
很多應用是用不到那么高的頻率的
頻率太高,單片機時鐘誤差影響就越大
建議你試一下100KHZ或者更低的頻率試一下
作者: coody_sz    時間: 2023-12-10 17:19
周期 = 設置值+1
作者: happy2058    時間: 2023-12-11 09:12
Y_G_G 發(fā)表于 2023-12-10 13:37
PWM頻率不要設定得太高.你這都1MHZ了
很多應用是用不到那么高的頻率的
頻率太高,單片機時鐘誤差影響就越 ...

謝謝大佬
作者: happy2058    時間: 2023-12-11 09:12
coody_sz 發(fā)表于 2023-12-10 17:19
周期 = 設置值+1

你好,我在手冊上沒找到你說的這個設置。
作者: happy2058    時間: 2023-12-11 10:49
coody_sz 發(fā)表于 2023-12-10 17:19
周期 = 設置值+1

為什么要+1.我搞不懂了,煩死人了

作者: Y_G_G    時間: 2023-12-11 18:17
happy2058 發(fā)表于 2023-12-11 10:49
為什么要+1.我搞不懂了,煩死人了

這不就是代入公式計算就可以了呀,沒有什么高難度的東西,只是麻煩了一點而已
而且,PWM在控制上,一般來說,更重要的占空比,頻率并不會要求過高的
比如說,10KHZ,有時候是9KHZ,有時候是11KHZ,這其實影響不大的
除非是頻率控制電路
作者: happy2058    時間: 2023-12-11 20:23
Y_G_G 發(fā)表于 2023-12-11 18:17
這不就是代入公式計算就可以了呀,沒有什么高難度的東西,只是麻煩了一點而已
而且,PWM在控制上,一般來說, ...

謝謝前輩。




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