首先你的先知道什么是PWM。PWM是一種脈寬調(diào)制技術(shù)。
簡單的說就是在一個周期內(nèi)高電平所占用的時間,通過改變脈沖的周期可以調(diào)頻,改變脈沖的寬度或占空比可以調(diào)節(jié)驅(qū)動上的電壓。
將產(chǎn)生的PWM信號接到L298N的ENA和ENB端調(diào)節(jié)不同的占空比從而調(diào)節(jié)速度
第一種方法用單片機的定時器模擬出PWM。假如你用定時器延時100ms,在50ms之前某一個引腳為低電平,50ms之后該引腳為高電平,這樣高電平占用的時間為1/2,此時該引腳就會產(chǎn)生50%的占空比信號。
程序如下:
#include《reg52.h》
unsigned chartimer1;
sbit PWM=P1^1;
void system_Ini()
{TMOD|= 0x11;
TH1 = 0xfe; //11.0592
TL1 = 0x33;
TR1 =1;
IE=0x8A;
}
main()
{ system_Ini() ;定時器初始化
while(1)
{ if(timer1》100) timer1=0;
if(timer1《=30) pwm=0;//產(chǎn)生30%的占空比
else PWM=1;
}
}
另一種方法就是利用簡單的延時產(chǎn)生PWM方波信號
#include《reg52.h》
unsigned char count=0;
sbit PWM_1=PI^1;//利用P1^1產(chǎn)生PWM
void mian()
{while(1)
for(count=0;count《=100;count++) //讓單片機記100個數(shù)
{
If(count《=50){ PWM_1=1;}//前一半時間為高電平
else
PWM_1=0//后一半時間為低電平這樣就產(chǎn)生了50%的占空比
}
PWM不僅能夠控制小車速度還可以控制小燈的亮滅程度,朋友們可以去試試
-
單片機
+關(guān)注
關(guān)注
6040文章
44594瀏覽量
636960 -
PWM
+關(guān)注
關(guān)注
114文章
5196瀏覽量
214378 -
定時器
+關(guān)注
關(guān)注
23文章
3254瀏覽量
115088
發(fā)布評論請先 登錄
相關(guān)推薦
評論