|
最近在搞一個(gè)角度調(diào)節(jié)模塊,簡(jiǎn)單來(lái)說(shuō)就是通過(guò)輸出2路PWM,經(jīng)過(guò)一些模塊處理,
設(shè)定一個(gè)區(qū)域里電機(jī)停止轉(zhuǎn)動(dòng),區(qū)域外實(shí)現(xiàn)相應(yīng)的正反轉(zhuǎn),從而利用電機(jī)控制角度旋轉(zhuǎn)。
但是用示波器檢測(cè)P1.6,P1.7(PWM)波形,是正弦波(一開(kāi)始寫完程序時(shí)檢測(cè)時(shí)較好的矩形波,后來(lái)搭建電路完后,再次檢測(cè)就成了正弦波),而且電表檢測(cè)兩個(gè)口電壓也是在3-4V跳動(dòng)(還是說(shuō)這是正常的?)
我感覺(jué)在輸出PWM的程序是沒(méi)有問(wèn)題的,要是電路硬件部分該怎么解決
/*****************************PWM輸出部分*********************/
void PWM_Control1( uchar Width, uchar DutyCycle,uchar count,uchar partern) //1ms為最小單位
{ uchar i,j;
//脈寬設(shè)置 Wdith
//占空比 X0% DutyCycle
//脈沖個(gè)數(shù) count
// pin = ;
k = (Width*10)/DutyCycle; //PWM整個(gè)周期
if(partern == 6)
{
for(i=0;i<k*count;i++)
{
P1_6= 0;
delay(Width);
P1_6= 1;
delay(k-Width);
}
/* if(i=k*count)
{
p1_6 = 1;
} */
}
if(partern == 7)
{
for(j=0;j<k*count;j++)
{
P1_7 = 0;
delay(Width);
P1_7 = 1;
delay(k-Width);
}
/* if(i=k*count)
{
p1_7 = 1;
} */
}
} |
|