找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 497|回复: 0
打印 上一主题 下一主题
收起左侧

51单片机亮度,色温不能调节

[复制链接]
跳转到指定楼层
楼主
ID:388855 发表于 2022-6-22 17:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
借用别人一段程序,自已想修改成亮度,色温可以分别用两个开关可以调节。但是死活不行,请哪位大师帮忙看下,是什么问题,谢谢!
  1. #include <REGX52.H>

  2. #include "Key.h"

  3. #include "Timer0.h"

  4. sbit Motor=P1^0;

  5. sbit Motor1=P1^1;

  6. unsigned char Counter,Compare,Cou,Com;        //计数值和比较值,用于输出PWM
  7. unsigned char KeyNum,Speed,k,S;

  8. void main()
  9. {
  10.         Timer0_Init();
  11.         while(1)
  12.         {
  13.                 KeyNum=Key();
  14.                 if(KeyNum==1)
  15.                 {
  16.                         Speed++;
  17.                         Speed%=4;
  18.                         if(Speed==0){Compare=20;}        //设置比较值,改变PWM占空比
  19.                         if(Speed==1){Compare=50;}
  20.                         if(Speed==2){Compare=75;}
  21.                         if(Speed==3){Compare=100;}
  22.                 }
  23.         if(KeyNum==2)
  24.                 {
  25.                         S++;
  26.                         S%=4;
  27.                         if(S==0){Com=20;}        //设置比较值,改变PWM占空比
  28.                         if(S==1){Com=50;}
  29.                         if(S==2){Com=75;}
  30.                         if(S==3){Com=100;}
  31.                 }


  32.         }
  33. }

  34. void Timer0_Routine() interrupt 1
  35. {
  36.         TL0 = 0x9C;                //设置定时初值
  37.         TH0 = 0xFF;                //设置定时初值
  38.         Counter++;
  39.         Counter%=100;        //计数值变化范围限制在0~99
  40.     Cou++;
  41.         Cou%=100;
  42.         if(Counter<Compare)        //计数值小于比较值
  43.         {
  44.                 Motor=0;                //输出1
  45.       
  46.         Motor1=0;
  47.        
  48.                                 //计数值大于比较值
  49.        
  50.                 Motor=1;                //输出0
  51.      
  52.         Motor1=1;
  53.       
  54.         }
  55.    
  56.             //计数值变化范围限制在0~99
  57.         else         //计数值小于比较值
  58.         {
  59.                 Motor=0;                //输出1
  60.       
  61.         Motor1=1;
  62.         
  63.        
  64.                         //计数值大于比较值
  65.        
  66.                 Motor=1;                //输出0
  67.       
  68.         Motor1=0;
  69.    
  70.         }
  71. }
复制代码


调亮调色温.rar

74.06 KB, 下载次数: 6

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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