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

QQ登錄

只需一步,快速開始

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

單片機(jī)pwm呼吸燈代碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:989020 發(fā)表于 2021-12-7 11:04 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
  1.     unsigned char PWM_COUNT; //計(jì)數(shù)
  2.     unsigned int HUXI_COUNT; //占空比更新時(shí)間
  3.     unsigned char PWM_VLAUE; //占空比比對(duì)值
  4.     bit direc_flag; //占空比更新方向
  5.     void timer0_init()
  6.     {
  7.       TMOD = 0x02; //模式設(shè)置,00010000,定時(shí)器0,工作于模式2(M1=1,M0=0)
  8.       TH0 = 0x47; //定時(shí)器溢出值設(shè)置,每隔200us發(fā)起一次中斷。
  9.       TL0 = 0X47;
  10.       TR0 =1; //定時(shí)器0開始計(jì)時(shí)
  11.       ET0 =1; //開定時(shí)器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) //判斷是否到了點(diǎn)亮LED的時(shí)候      這里pwm_count==pwm_vlaue 里的pwm_count是指的計(jì)數(shù) 為什么計(jì)數(shù)加到和
  20.                                                                  PWM_VLAUE相等時(shí)就點(diǎn)亮
  21.                                                                還有這個(gè)計(jì)數(shù)又是什么
  22.         LED = 1; //點(diǎn)亮LED
  23.       if(PWM_COUNT == 10) //當(dāng)前周期結(jié)束
  24.       {
  25.         LED = 0; //熄滅LED
  26.         PWM_COUNT = 0; //重新計(jì)時(shí)
  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(); //定時(shí)器0初始化
  53.       while(1);
  54.     }


復(fù)制代碼


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

使用道具 舉報(bào)

沙發(fā)
ID:1072529 發(fā)表于 2023-4-18 17:50 | 只看該作者
你好,我想將通過單片機(jī)內(nèi)部adc獲取的光敏電阻數(shù)值和led燈的亮暗結(jié)合起來(lái),該怎么寫
回復(fù)

使用道具 舉報(bào)

板凳
ID:1101490 發(fā)表于 2023-11-27 22:14 | 只看該作者
有原理圖嗎
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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