找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2062|回复: 2
收起左侧

单片机pwm呼吸灯代码

[复制链接]
ID:989020 发表于 2021-12-7 11:04 | 显示全部楼层 |阅读模式
  1.     unsigned char PWM_COUNT; //计数
  2.     unsigned int HUXI_COUNT; //占空比更新时间
  3.     unsigned char PWM_VLAUE; //占空比比对值
  4.     bit direc_flag; //占空比更新方向
  5.     void timer0_init()
  6.     {
  7.       TMOD = 0x02; //模式设置,00010000,定时器0,工作于模式2(M1=1,M0=0)
  8.       TH0 = 0x47; //定时器溢出值设置,每隔200us发起一次中断。
  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是指的计数 为什么计数加到和
  20.                                                                  PWM_VLAUE相等时就点亮
  21.                                                                还有这个计数又是什么
  22.         LED = 1; //点亮LED
  23.       if(PWM_COUNT == 10) //当前周期结束
  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; //默认LED熄灭
  52.       timer0_init(); //定时器0初始化
  53.       while(1);
  54.     }


复制代码


回复

使用道具 举报

ID:1072529 发表于 2023-4-18 17:50 | 显示全部楼层
你好,我想将通过单片机内部adc获取的光敏电阻数值和led灯的亮暗结合起来,该怎么写
回复

使用道具 举报

ID:1101490 发表于 2023-11-27 22:14 | 显示全部楼层
有原理图吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表