標(biāo)題: STC32G單片機(jī)PWM測(cè)脈沖周期源代碼 [打印本頁(yè)]

作者: billliu66    時(shí)間: 2022-12-20 13:31
標(biāo)題: STC32G單片機(jī)PWM測(cè)脈沖周期源代碼
我驗(yàn)證了一下用STC32G PWM測(cè)試脈沖周期,源代碼如下:
/*main.c
  Designed by Bill Liu
  Version 0.0
  Modified last by Bill Liu , 12/20/2022
*/

#include "main.h"
#include "STC32G_Delay.h"

ui8 str[20] = {0};
ui32 nPusle = 0;

ui16 tem1, tem2;
ui16 capold;
ui16 capnew;

void PWMA_ISR() interrupt 26
{
        if(PWMA_SR1 & 0x02)
        {
                capold = capnew;
                capnew =PWMA_CCR1H;
                capnew = (capnew << 8) + PWMA_CCR1L;
                nPusle = capnew - capold;
                PWMA_SR1 &= ~0x02;
        }
}

void main()
{
        SysInit();
        Uart1_Init(VBAUD_8BITS,G1, 0, 9600);
        STC32G_P3MODE_BIIO(PIN5);
        T0ClkOutInit(3000);
        TR0 = 1;
        
        P0M1 = 0x00;
        P0M0 = 0x00;
        P1M1 = 0x00;
        P1M0 = 0x00;
        
        PWMA_ENO = 0x00;
        PWMA_PS = 0x00;
        PWMA_CCMR1 = 0x01;
        PWMA_SMCR = 0x56;
        PWMA_CCER1 = 0x01;
        
        //PWMA_IER = 0x02;
        PWMA_CR1 = 0x00;
        PWMA_CR1 |= 0x01;
        //EA =1;
        
        while(!(PWMA_SR1 & 0x02));
        tem1 = PWMA_CCR1H;
        tem1 <<=        8;
        tem1 += PWMA_CCR1L;
        PWMA_SR1 &=  ~0x02;
        while(!(PWMA_SR1 & 0x02));                             tem2 = PWMA_CCR1H;
        tem2 <<=        8;
        tem2 += PWMA_CCR1L;
        PWMA_SR1 &=  ~0x02;
        nPusle = tem2 -tem1;
        
        while(1)
        {
                LongToString(nPusle,str);        
                Uart1_SendString(str);
                Uart1_SendString("\r\n");
                Delayxms(1000);
        }
}
//End of main()

在出口助手上看到的結(jié)果如下(單片機(jī)的試鐘周期為30MHz):

1.png (7.88 KB, 下載次數(shù): 70)

1.png

作者: 大漠孤煙001    時(shí)間: 2022-12-22 11:37
    感謝樓主精彩分享!也可以參考STC32G12K128實(shí)驗(yàn)箱范例程序第80個(gè)(高級(jí)PWM輸出-周期可調(diào)、脈沖計(jì)數(shù)),需要樣品等支持請(qǐng)聯(lián)系我








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