|
本帖最后由 CLJTWENS 于 2019-2-25 17:56 編輯
原理:簡(jiǎn)單來(lái)說(shuō),就是控制一個(gè)周期里面高低電平的比例。
核心程序如下:
unsigned int Num=0;
unsigned int PWM=0;
//系統(tǒng)初始化
void Sys_init(void)
{
//定時(shí)器初始化
TMOD=(TMOD&0xFC)|0x10;
TL1 = 0xf0;
TH1 = 0xff;
TR1 = 1;
ET1 = 1;
PT1 = 1;
//P30口設(shè)為輸出
P30F=2;
//占空比控制變量
Num=200;
}
//PWM產(chǎn)生函數(shù),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) //總計(jì)數(shù)大小
{
PWM=0;
}
Simu_PWM();
}
是不是很簡(jiǎn)單 *)
|
評(píng)分
-
查看全部評(píng)分
|