亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

一個定時器生成多路PWM波形的原理和方法

查看數: 10102 | 評論數: 3 | 收藏 1
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2018-3-30 21:16

正文摘要:

在很多工程應用中,需要使用到PWM波(脈寬調制),例如電機調速、溫度控制調整功率等。本文講述怎么利用單片機的一個定時器生成多路PWM波形。 一般的,PWM的周期t1是一個固定值,如1ms,10ms,100ms等,在一個周期中包 ...

回復

ID:609560 發表于 2019-11-12 09:43
樓主思路同我常用思路應同
如下復一個流星燈程序參考

#include<reg52.h>
unsigned int led=0x0;
unsigned char Duty_ratio[3]={75,90,98};
unsigned char freq,i,j;
void init(void)
{
        TMOD=0x02;     
        TL0=TH0=0xff-200;  
        TR0=1;                               
        ET0=1;                       
        EA=1;               
}

void timer0(void) interrupt 1
{
        freq++;
}

void PWM(void)
{
        led=0x01;
        for(j=0;j<3;j++)
        {
                led=led<<1;
                if(freq>Duty_ratio[j]) led=led+1;
        }
}

void main(void)
{
        init();
        while(1)
        {
                if (freq>=100)  
                {
                        freq=0;
                        i++;
                        if(i>=90) i=0; //移動速度
                }
                PWM();
                P1=~((led<<(i/5))>>4);
        }
}
ID:639666 發表于 2019-11-12 07:14
很好的思路,贊一個。
ID:296417 發表于 2018-4-13 15:12
樓主可以分享代碼嗎?謝謝!

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表