|
借用别人一段程序,自已想修改成亮度,色温可以分别用两个开关可以调节。但是死活不行,请哪位大师帮忙看下,是什么问题,谢谢!- #include <REGX52.H>
- #include "Key.h"
- #include "Timer0.h"
- sbit Motor=P1^0;
- sbit Motor1=P1^1;
- unsigned char Counter,Compare,Cou,Com; //计数值和比较值,用于输出PWM
- unsigned char KeyNum,Speed,k,S;
- void main()
- {
- Timer0_Init();
- while(1)
- {
- KeyNum=Key();
- if(KeyNum==1)
- {
- Speed++;
- Speed%=4;
- if(Speed==0){Compare=20;} //设置比较值,改变PWM占空比
- if(Speed==1){Compare=50;}
- if(Speed==2){Compare=75;}
- if(Speed==3){Compare=100;}
- }
- if(KeyNum==2)
- {
- S++;
- S%=4;
- if(S==0){Com=20;} //设置比较值,改变PWM占空比
- if(S==1){Com=50;}
- if(S==2){Com=75;}
- if(S==3){Com=100;}
- }
- }
- }
- void Timer0_Routine() interrupt 1
- {
- TL0 = 0x9C; //设置定时初值
- TH0 = 0xFF; //设置定时初值
- Counter++;
- Counter%=100; //计数值变化范围限制在0~99
- Cou++;
- Cou%=100;
- if(Counter<Compare) //计数值小于比较值
- {
- Motor=0; //输出1
-
- Motor1=0;
-
- //计数值大于比较值
-
- Motor=1; //输出0
-
- Motor1=1;
-
- }
-
- //计数值变化范围限制在0~99
- else //计数值小于比较值
- {
- Motor=0; //输出1
-
- Motor1=1;
-
-
- //计数值大于比较值
-
- Motor=1; //输出0
-
- Motor1=0;
-
- }
- }
复制代码
|
|