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

QQ登錄

只需一步,快速開始

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

最簡(jiǎn)單的PWM調(diào)節(jié)程序

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:151846 發(fā)表于 2016-12-21 15:49 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
我不知道為什么這么多人寫51定時(shí)器PWM程序這么復(fù)雜,本身51定時(shí)器不管工作模式在0或1或2都會(huì)自動(dòng)裝初值,你如果要來調(diào)光或要一個(gè)不太精確的PWM波,它都能勝任了。(設(shè)晶振12MHZ)模式0最大定時(shí)時(shí)間=8.192ms,模式1=65.536ms,模式2=256us。只要你打開定時(shí)器中斷,不用你裝定時(shí)器初值,它自己裝,你就得到8.192ms或65.536ms或256us時(shí)間的中斷。比如256us的中斷時(shí)間,中斷10次就是2.56ms,你讓它5次中斷輸出高電壓,5次中斷輸出低電壓,它就是高1.28ms低就是1.28ms。你讓它9次中斷輸出高,1次中斷輸出低,就改變了PWM的占空比。

不多說了,下面程序就是只用一個(gè)定時(shí)器,并帶一個(gè)按鍵調(diào)節(jié)占空比。電路較應(yīng)該好畫了吧。一片89C51,一個(gè)BUTTON按鍵,一個(gè)示波器觀察波形。



#include "reg51.h"
unsigned char a=5;
unsigned char i=0;
sbit K1=P2^0;
void main()
{   TMOD=0x02;
        EA=1;
        ET0=1;
        TR0=1;
  while(1)
  {  if(K1==0)
         {TR0=0;
            a--;
            if(a==0)
              {a=10;}
          while(~K1)
                {TR0=1;}
            }
        }
}

void time() interrupt 1
{
   i++;       
   if(i>11)
   {i=0;}
  if(i>a)
  {P0=0xff;}
  else P0=0x00;
}




評(píng)分

參與人數(shù) 5黑幣 +82 收起 理由
15942379927 + 5 很給力!
3760609865 + 12 很給力!
send + 10 回帖助人的獎(jiǎng)勵(lì)!
5314039 + 5 很給力!
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏14 分享淘帖 頂2 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:116826 發(fā)表于 2016-12-21 21:54 | 只看該作者
簡(jiǎn)潔精辟,受教了。
回復(fù)

使用道具 舉報(bào)

板凳
ID:136189 發(fā)表于 2016-12-21 23:44 來自手機(jī) | 只看該作者
牛,太牛了,
回復(fù)

使用道具 舉報(bào)

地板
ID:99612 發(fā)表于 2017-3-14 20:55 | 只看該作者
非常的簡(jiǎn)潔明了!希望能看到多一些這樣的教程,非常感謝樓主!
回復(fù)

使用道具 舉報(bào)

5#
ID:96881 發(fā)表于 2017-3-15 10:25 | 只看該作者
這個(gè)借鑒啦,正好在學(xué)習(xí)這個(gè),謝謝您分享
回復(fù)

使用道具 舉報(bào)

6#
ID:170889 發(fā)表于 2017-3-15 13:52 | 只看該作者
來學(xué)習(xí)下,剛來的小白
回復(fù)

使用道具 舉報(bào)

7#
ID:182904 發(fā)表于 2017-3-24 13:06 | 只看該作者
簡(jiǎn)單精辟  正好用到 謝謝謝謝
回復(fù)

使用道具 舉報(bào)

8#
ID:170743 發(fā)表于 2017-3-24 20:45 | 只看該作者
不錯(cuò),看看
回復(fù)

使用道具 舉報(bào)

9#
ID:174969 發(fā)表于 2017-3-24 20:45 | 只看該作者
本帖最后由 goty2000 于 2017-3-24 21:12 編輯

看明白了,我最近買了那個(gè)8腳STC單片機(jī),15F104w,研究中。。。
回復(fù)

使用道具 舉報(bào)

10#
ID:171948 發(fā)表于 2017-3-26 12:03 | 只看該作者
好的程序,源自好的思路
回復(fù)

使用道具 舉報(bào)

11#
ID:170148 發(fā)表于 2017-3-27 22:31 來自手機(jī) | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報(bào)

12#
ID:184098 發(fā)表于 2017-3-28 13:19 | 只看該作者
正好需要這個(gè)程序!
回復(fù)

使用道具 舉報(bào)

13#
ID:192837 發(fā)表于 2017-5-13 02:28 來自手機(jī) | 只看該作者
學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

14#
ID:169944 發(fā)表于 2017-5-14 01:28 | 只看該作者
和我以前寫的輸出三路pwm控制rgb燈思路差不多
回復(fù)

使用道具 舉報(bào)

15#
ID:159139 發(fā)表于 2017-6-5 21:44 | 只看該作者
非常的簡(jiǎn)潔,非常的優(yōu)秀,謝謝分享。
回復(fù)

使用道具 舉報(bào)

16#
ID:201278 發(fā)表于 2017-6-19 13:17 | 只看該作者
好好學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

17#
ID:74784 發(fā)表于 2017-8-13 00:41 | 只看該作者
誰有匯編語言的代碼?
回復(fù)

使用道具 舉報(bào)

18#
ID:222394 發(fā)表于 2017-9-17 14:27 | 只看該作者
很厲害   但我想加多一個(gè)按鍵調(diào)占空比,一個(gè)加一個(gè)減,可不懂哪里出問題調(diào)不出來
回復(fù)

使用道具 舉報(bào)

19#
ID:245429 發(fā)表于 2017-11-2 19:49 | 只看該作者
分析的簡(jiǎn)潔透徹,很棒
回復(fù)

使用道具 舉報(bào)

20#
ID:80372 發(fā)表于 2018-5-18 15:44 | 只看該作者

這個(gè)借鑒啦,正好在學(xué)習(xí)這個(gè),謝謝您分享
回復(fù)

使用道具 舉報(bào)

21#
ID:290716 發(fā)表于 2018-5-18 19:26 | 只看該作者
很不錯(cuò)!
回復(fù)

使用道具 舉報(bào)

22#
ID:331575 發(fā)表于 2018-5-19 08:31 來自手機(jī) | 只看該作者
我竟然看明白了。感謝樓主分享
回復(fù)

使用道具 舉報(bào)

23#
ID:333841 發(fā)表于 2018-5-19 19:18 | 只看該作者
好教程,受教了
回復(fù)

使用道具 舉報(bào)

24#
ID:293762 發(fā)表于 2018-5-20 21:29 | 只看該作者
為樓主好的構(gòu)思點(diǎn)贊!
回復(fù)

使用道具 舉報(bào)

25#
ID:336844 發(fā)表于 2018-5-23 21:03 | 只看該作者
6666666666666666
回復(fù)

使用道具 舉報(bào)

26#
ID:407374 發(fā)表于 2019-4-3 09:15 | 只看該作者
nice  很好
回復(fù)

使用道具 舉報(bào)

27#
ID:468240 發(fā)表于 2019-4-3 15:07 來自手機(jī) | 只看該作者
i和a分別代表什么?
回復(fù)

使用道具 舉報(bào)

28#
ID:399179 發(fā)表于 2019-4-3 20:28 來自手機(jī) | 只看該作者
呵呵!沒看懂,能不能加上備注?謝謝!
回復(fù)

使用道具 舉報(bào)

29#
ID:468997 發(fā)表于 2019-4-28 13:52 | 只看該作者
學(xué)習(xí)了,謝謝
回復(fù)

使用道具 舉報(bào)

30#
ID:382454 發(fā)表于 2019-4-28 23:33 來自手機(jī) | 只看該作者
非常好的思路,優(yōu)秀。
回復(fù)

使用道具 舉報(bào)

31#
ID:503916 發(fā)表于 2019-4-29 07:59 | 只看該作者
學(xué)習(xí)了,謝謝分享!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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