標(biāo)題: 按鍵PWM控制led亮度單片機(jī)源程序 [打印本頁]

作者: 962271163    時間: 2018-4-30 17:19
標(biāo)題: 按鍵PWM控制led亮度單片機(jī)源程序
單片機(jī)源程序如下:
  1. //程序名:單片機(jī)實驗儀配套程序--pwm控制led亮度
  2. //電路簡介:1、P0接J1的led共陽端;
  3. //          2、P2.6接J14單鍵鍵盤的6,作為增加亮度按鈕
  4. //          3、P2.7接J14單鍵鍵盤的7,作為減小亮度按鈕
  5. //saxmcu  20080518  

  6. #include <reg51.h>

  7. #define out P0
  8. sbit INC=P2^6;     //SW1
  9. sbit DEC=P2^7;     //sw2
  10. //-----------------------------------------------------------------
  11. void Init(void)
  12. {        
  13.         //定時器設(shè)置
  14.         TMOD=0x22;  //T1=T0=定時方式2自動重裝
  15.         TH1=0;     //脈寬寬度
  16.         TL1=80;
  17.         TH0=55;      //頻率調(diào)節(jié)=0頻率最低
  18.         TL0=0;   
  19.       TR0=1;        //先啟動T0定時
  20.         ET1=1;
  21.         ET0=1;   
  22.         EA=1;       //總中斷開
  23. }
  24. //定時器0中斷
  25. //頻率********************************************
  26. void Timer0(void) interrupt 1
  27. {
  28.         out=0xff;      //關(guān)led
  29.         TL0=0;
  30.         TR1=1;         //打開脈寬定時
  31. }
  32. //定時器1中斷
  33. //脈寬********************************************
  34. void Timer1(void) interrupt 3
  35. {
  36.         out=~out;      //開led
  37.         TR1=0;         //脈寬調(diào)節(jié)結(jié)束
  38. }   
  39. //消抖延時
  40. delay()
  41. {
  42.   unsigned int i;
  43.   for(i=0;i<2000;i++);
  44. }
  45. //**********************************
  46. main()
  47. {
  48.     Init();
  49.     while(1)
  50.      {
  51.        INC=1;DEC=1;
  52.        if (INC==0)
  53.           {delay();
  54.            if (INC==0)  
  55.                {
  56.                 if (TH1<200) TH1++;
  57.                }
  58.           }
  59.        else if (DEC==0)
  60.           {delay();
  61.            if (DEC==0)  
  62.                {
  63.                 if (TH1>0) TH1--;
  64.                }
  65.           }
  66.      }
  67.    
  68. }
復(fù)制代碼

所有資料51hei提供下載:
按鍵PWM控制led亮度-c.rar (15.43 KB, 下載次數(shù): 212)



作者: lin07555    時間: 2018-8-10 14:34
很好,正好要用到,學(xué)習(xí)學(xué)習(xí)
作者: lychee12345    時間: 2019-1-13 22:35
有幫助!謝謝辣~
作者: 耀天鴻    時間: 2019-1-19 13:50
非常實用的資料多謝樓主
作者: xixdpj-2    時間: 2019-3-20 21:37
老師你好請教一下,我用了這個程序為什么LED不能全滅呢

作者: jwl595    時間: 2019-3-21 08:30
這個例程很簡單的 ,也可以控制延時函數(shù)的時間進(jìn)行PWM的占空比變化 如果去用單片機(jī)做一個遙控車你就會更深刻明白占空比了
作者: xixdpj-2    時間: 2019-3-21 21:11
看來是要好好學(xué)習(xí),很簡單的也變通不了,加油
作者: 黑騎士1996    時間: 2019-4-14 21:09
請問有沒有仿真圖
作者: woxihuanni    時間: 2019-5-1 17:44
我為什么看不了資料
作者: zbyes    時間: 2019-5-17 15:35
借來看看,多謝
作者: WFX777888    時間: 2019-7-15 05:19

非常實用的資料多謝樓主
作者: 睡不著覺88    時間: 2019-7-15 15:04
跟著大家后面慢慢學(xué)起來,感謝分享
作者: 247015164    時間: 2019-8-20 21:05
沒有看明白,沒有看到按鍵程序,是怎么判斷的
作者: 遲遲不離去    時間: 2019-9-9 18:15
樓主,您好。師傅您知道怎么樣才能實現(xiàn)單獨按鍵單獨變化,連續(xù)按鍵持續(xù)變化嗎?希望能給點思路,最近被這個問題搞得有點焦頭爛額。萬分感謝
作者: 小白話    時間: 2019-9-21 20:49
謝謝!!
作者: Aminezzz    時間: 2019-11-24 23:20
這個是用到占空比的原理嗎?
作者: seataozhang    時間: 2020-3-5 17:27
非常不錯,感謝樓主分享!
最近初學(xué)PIC單片機(jī),能改成適配PIC單處機(jī)嗎?




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1