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

標題: 分享一個51單片機IO口模擬PWM輸出的程序 [打印本頁]

作者: CLJTWENS    時間: 2019-2-25 17:55
標題: 分享一個51單片機IO口模擬PWM輸出的程序
本帖最后由 CLJTWENS 于 2019-2-25 17:56 編輯

原理:簡單來說,就是控制一個周期里面高低電平的比例。

核心程序如下:
unsigned int Num=0;
unsigned int PWM=0;   
//系統初始化
void Sys_init(void)
{
        //定時器初始化
        TMOD=(TMOD&0xFC)|0x10;
        TL1 = 0xf0;   
        TH1 = 0xff;
        TR1 = 1;      
        ET1 = 1;      
        PT1 = 1;

        //P30口設為輸出
        P30F=2;

        //占空比控制變量
        Num=200;
}
//PWM產生函數,50%占空比。
void Simu_PWM(void)
{  
        if(PWM<Num)
        {
                P30=1;         
        }
        else
        {
                P30=0;
        }
}
void TIMER1_ISR (void) interrupt 3                  
{
        TL1 = 0xf0;
        TH1 = 0xff;
        PWM++;
        if(PWM>=400)  //總計數大小
        {
                 PWM=0;        
        }
        Simu_PWM();
}
是不是很簡單 *)


作者: yp120310    時間: 2019-7-13 10:59
怎么修改占空比
作者: 檸檬雙生    時間: 2019-12-23 18:35
P30F=2什么意思?




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