标题: 51单片机亮度,色温不能调节 [打印本页]

作者: zhmrd2014520    时间: 2022-6-22 17:39
标题: 51单片机亮度,色温不能调节
借用别人一段程序,自已想修改成亮度,色温可以分别用两个开关可以调节。但是死活不行,请哪位大师帮忙看下,是什么问题,谢谢!
  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






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1