找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2179|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

關(guān)于PWM輸出波形(結(jié)合硬件),有點(diǎn)問(wèn)題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:210889 發(fā)表于 2017-7-10 21:35 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
最近在搞一個(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)始寫(xiě)完程序時(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;
                 } */
        }
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表