找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片如何實現(xiàn)輸出一個脈寬和脈間都可調(diào)的方波?請大俠指點指點

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:837631 發(fā)表于 2021-7-28 09:26 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:313048 發(fā)表于 2021-7-28 10:29 | 只看該作者
定時器作為信號的周期,就假設(shè)1ms的定時器吧,如果你將你的信號設(shè)置為0-100可調(diào)脈寬的話,那么通過定時器計數(shù),計數(shù)到了你要的脈寬值就進(jìn)行變換。
time()//定時器函數(shù)
{
   Time_num++;
   if(time_num == 100) time_num = 0;
}
main()  //主函數(shù)
{
while(1)
{
  if(time_num ==0)
  {
   OUT = 1;//輸出高電平
  }
  if(duty == time_num ) OUT = 0;  // 輸出低電平
}
}
差不多就這樣個原理吧,里面的變量就全局都行。

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

板凳
ID:419909 發(fā)表于 2021-7-28 12:11 | 只看該作者
51好多型號都內(nèi)置PWM吧.仔細(xì)看看說明書.容易操作的.
回復(fù)

使用道具 舉報

地板
ID:476415 發(fā)表于 2021-7-28 12:29 來自手機 | 只看該作者
用PWM最好
回復(fù)

使用道具 舉報

5#
ID:161164 發(fā)表于 2021-7-28 14:31 | 只看該作者
void timer0_int (void) interrupt 1
{
        TR0 = 0;
        if(PWM_Swap)
        {
                TL0 = PWM_H_TL;
                TH0 = PWM_H_TH;        }else
        {
                TL0 = PWM_L_TL;
                TH0 = PWM_L_TH;        }
        PWM_Swap = !PWM_Swap;
        P27 = PWM_Swap;
        TR0 = 1;
}

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

6#
ID:837631 發(fā)表于 2021-7-30 17:32 | 只看該作者
先謝謝各位的指點,我試試,后續(xù)繼續(xù)請教
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

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