欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
知道脈寬 怎么計(jì)算單片機(jī)定時(shí)器初值?
[打印本頁(yè)]
作者:
李冬
時(shí)間:
2021-7-12 14:49
標(biāo)題:
知道脈寬 怎么計(jì)算單片機(jī)定時(shí)器初值?
晶振11.0592 16位定時(shí)器1
周期1毫秒 高電平50微秒 低電平950微秒
以此類推。。。。。
高電平450微秒 低電平550微秒
高電平500微秒 低電平500微秒
高電平450微秒 低電平550微秒
以此類推。。。。。。
高電平50微秒 低電平950微秒
void TM1_Isr() interrupt 3//
{
TR1 = 0; //
switch (x++)
{
case 0:
pwm=1;
TL1 = 0xD7; //設(shè)置定時(shí)初始值
TH1 = 0xFD; //設(shè)置定時(shí)初始值
break;
case 1:
pwm=0;
TL1 = 0xF6; //設(shè)置定時(shí)初始值
TH1 = 0xD6; //設(shè)置定時(shí)初始值
break;
TR1 = 0; //
}
代碼太長(zhǎng)。有什么簡(jiǎn)單的算法嗎
作者:
yzwzfyz
時(shí)間:
2021-7-12 16:31
兩種方案:
1、以周期為定時(shí)器的時(shí)常數(shù)。
操作:每次中斷就置1(或清0)。另需要計(jì)算正脈寬(或負(fù)脈寬)的寬度,到時(shí)就將輸出清0(或置1)。
2、動(dòng)態(tài)切換定時(shí)器的時(shí)常數(shù)。
操作:對(duì)正、負(fù)脈沖單獨(dú)計(jì)算,算出兩個(gè)時(shí)常數(shù)。每次中斷時(shí),改變切換時(shí)常數(shù),同時(shí)切換輸出的電平。
作者:
hoodieboi
時(shí)間:
2021-7-12 19:33
本帖最后由 hoodieboi 于 2021-7-12 19:39 編輯
可以定時(shí)1μs 只需要通過(guò)主函數(shù)中按鍵修改占空比就行了 根據(jù)要的高電平時(shí)間修改想x的值就行了
void time1(void) interrupt 3
{
TH1 = 0xff; //配置1μs定時(shí)
TL1 = 0xff;
timer1++; //timer1開始計(jì)數(shù),每1微秒加一
if(timer1>1000) //PWM周期為1000*1μs
{
timer1=0;
}
if(timer1 <x)
{
PWM=1;
}
else
{
PWM=0;
}
}
復(fù)制代碼
作者:
wulin
時(shí)間:
2021-7-12 21:14
定時(shí)器中斷按最小單位50us。PWM占空比1/20~19/20,來(lái)回++--。
作者:
lkc8210
時(shí)間:
2021-7-13 13:18
void TM1_Isr() interrupt 3//
{
TR1 = 0; //
static char i = 0;
static char j = 1;
TR1 = 0; //
TL1 = 0xD7; //設(shè)置定時(shí)初始值
TH1 = 0xFD; //設(shè)置定時(shí)初始值
pwm=(j>i);
if(++i>=20)
{
i=0;
if(++j==20)
{
j=1;
}
}
TR1 = 1; //
}
復(fù)制代碼
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1