<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 使用內部計時(shí)器中斷產(chǎn)生PWM調速

使用內部計時(shí)器中斷產(chǎn)生PWM調速

作者: 時(shí)間:2016-11-22 來(lái)源:網(wǎng)絡(luò ) 收藏
當計時(shí)器產(chǎn)生第二次中斷時(shí),程序會(huì )第二次執行中斷服務(wù)程序,同樣首先執行判斷語(yǔ)句if(t==0){tmp1=m1;},由于這時(shí)t值已經(jīng)在第一次中斷并執行中斷服務(wù)程序時(shí)被加“1”,也就是說(shuō)t的值現在等于“1”,因此tmp1=m1語(yǔ)句不被執行,tmp1的值仍然保持它原來(lái)的值“70”。接下來(lái)執行判斷語(yǔ)句if(t=100) t=0;,這時(shí)t的值被加“1”后等于“2”,但條件t>=100仍然為假而t=0語(yǔ)句不被執行,即t不被置“0”。。

由此我們也可以看出,時(shí)鐘產(chǎn)生第二次中斷并第二次執行中斷服務(wù)程序后,各變量的變化是:
m1是給定值“70”自然不會(huì )變化;
tmp1的值也保持“70”不變;
en1的值仍然等于“1”;
t的值被加“1”等于“2”。

本文引用地址:http://dyxdggzs.com/article/201611/319674.htm

同理,時(shí)鐘產(chǎn)生第70次中斷并執行中斷服務(wù)程序時(shí),判斷語(yǔ)句if(t==0){tmp1=m1;}仍然不被執行,tmp1仍然保持“70”,判斷語(yǔ)句if(t=100) t=0;由于t的值此時(shí)為“70”而使條件t>=100仍然為假,語(yǔ)句t=0;不被執行而使t值不被置“0”。

當時(shí)鐘產(chǎn)生第71次中斷并執行中斷服務(wù)程序時(shí),判斷語(yǔ)句if(t==0){tmp1=m1;}仍然不被執行,tmp1仍然保持“70”,判斷語(yǔ)句if(t=100) t=0;由于t>=100為假仍然不被執行,而使t值不被置“0”。

同理,當時(shí)鐘產(chǎn)生第99次中斷并執行中斷服務(wù)程序時(shí),en1仍然等于“0”,t的值被加到“99”,并且不被置“0”。

當時(shí)鐘產(chǎn)生第100次中斷并執行中斷服務(wù)程序時(shí),en1仍然等于“0”,t的值被加到“100”,這時(shí)判斷語(yǔ)句if(t>=100) t=0;由于條件t>=100為真而使t被置“0”。
由于t被置“0”而使得從第101次中斷產(chǎn)生并執行中斷服務(wù)程序時(shí),程序又回到第一次中斷時(shí)的狀態(tài)。

至此,由于我們在語(yǔ)句if(t>=100) t=0;中用條件t>=100預設了PWM的周期為100次中斷,固在100次上述中斷完成后,即一個(gè)PWM周期完成,一個(gè)PWM周期完成后的階梯圖為:

en1=1,70個(gè)中斷時(shí)間
(從第一次中斷開(kāi)始en1=1使電機得電轉動(dòng)——————————————(到第71次中斷en1跳變?yōu)?ldquo;0”使電

70個(gè)中斷的時(shí)間) 機停轉30個(gè)中斷的時(shí)間)
——————
en1=0,30個(gè)中斷時(shí)間


由此可以看出,通過(guò)設定在單片機內部時(shí)鐘產(chǎn)生中斷并執行中斷服務(wù)程序,使電機在一個(gè)特定的時(shí)間段內,70%的時(shí)間電機被加電轉動(dòng),30%的時(shí)間電機不被加電而停止,從而使電機被減速到其全速的70%。

同理,如果我們給定m1的值為50,電機的速度將被減速到全速的50%。



評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>