標(biāo)題: 單片機(jī)pwm呼吸燈代碼 [打印本頁]

作者: 七七才    時間: 2021-12-7 11:04
標(biāo)題: 單片機(jī)pwm呼吸燈代碼
  1.     unsigned char PWM_COUNT; //計數(shù)
  2.     unsigned int HUXI_COUNT; //占空比更新時間
  3.     unsigned char PWM_VLAUE; //占空比比對值
  4.     bit direc_flag; //占空比更新方向
  5.     void timer0_init()
  6.     {
  7.       TMOD = 0x02; //模式設(shè)置,00010000,定時器0,工作于模式2(M1=1,M0=0)
  8.       TH0 = 0x47; //定時器溢出值設(shè)置,每隔200us發(fā)起一次中斷。
  9.       TL0 = 0X47;
  10.       TR0 =1; //定時器0開始計時
  11.       ET0 =1; //開定時器0中斷
  12.       EA = 1; //開總中斷
  13.       PWM_COUNT =0;
  14.     }
  15.     void time0() interrupt 1
  16.     {
  17.       PWM_COUNT++;
  18.       HUXI_COUNT++;
  19.       if(PWM_COUNT == PWM_VLAUE) //判斷是否到了點亮LED的時候      這里pwm_count==pwm_vlaue 里的pwm_count是指的計數(shù) 為什么計數(shù)加到和
  20.                                                                  PWM_VLAUE相等時就點亮
  21.                                                                還有這個計數(shù)又是什么
  22.         LED = 1; //點亮LED
  23.       if(PWM_COUNT == 10) //當(dāng)前周期結(jié)束
  24.       {
  25.         LED = 0; //熄滅LED
  26.         PWM_COUNT = 0; //重新計時
  27.       }
  28.       if((HUXI_COUNT == 600) && (direc_flag == 0))
  29.       {
  30.         //占空比增加10%
  31.         HUXI_COUNT = 0;
  32.         PWM_VLAUE++;
  33.         if(PWM_VLAUE == 9) //占空比更改方向
  34.         direc_flag = 1;
  35.       }
  36.       if((HUXI_COUNT == 600) && (direc_flag == 1))
  37.       {
  38.         //占空比減少10%
  39.         HUXI_COUNT = 0;
  40.         PWM_VLAUE--;
  41.         IF(PWM_VLAUE == 1) //占空比更改方向
  42.         DIREC_FLAG = 0;
  43.       }
  44.     }
  45.     void main()
  46.     {
  47.       HUXI_COUNT = 0;
  48.       PWM_COUNT = 0;
  49.       PWM_VLAUE = 5;
  50.       direc_flag = 0;
  51.       LED = 1; //默認(rèn)LED熄滅
  52.       timer0_init(); //定時器0初始化
  53.       while(1);
  54.     }


復(fù)制代碼



作者: bbbaddd    時間: 2023-4-18 17:50
你好,我想將通過單片機(jī)內(nèi)部adc獲取的光敏電阻數(shù)值和led燈的亮暗結(jié)合起來,該怎么寫
作者: fggy    時間: 2023-11-27 22:14
有原理圖嗎




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