标题:
单片机PWM LED渐变时间怎么调
[打印本页]
作者:
184890962
时间:
2016-3-19 08:40
标题:
单片机PWM LED渐变时间怎么调
#include<reg52.h>
//#include "MacroAndConst.h"
#define uint unsigned int
#define uchar unsigned char
#define LED_PWM_LIMIT_MAX 9999
#define LED_PWM_LIMIT_MIN 0
#define uchar unsigned char
sbit ledr=P1^0;
sbit ledg=P1^1;
sbit ledb=P1^2;
bit LEDDirection=0;//LED控制方向0:渐亮1:渐灭
uchar pwm=0;
uchar pwmr=0;
uchar scw=0;//中断记数
void Timer0Init(void)
{
TMOD=0x01;
TH0=0xff;
TL0=0x47;
ET0=1;
TR0=1;
EA=1;
}
void main()
{
Timer0Init();
while(1);
}
void Time0Isr(void) interrupt 1
{ static uint
pwm=0;
TH0=0xff;
TL0=0x47;
scw++;
if(scw>100)
{
scw=0;
if((pwmr<=LED_PWM_LIMIT_MAX)&&(0==LEDDirection))
{
pwmr++;
if(pwmr>LED_PWM_LIMIT_MAX)
{
LEDDirection=1;
pwmr=LED_PWM_LIMIT_MAX;
}
}
if((pwmr>=LED_PWM_LIMIT_MIN )&&(1==LEDDirection))
{
pwmr--;
if(pwmr<LED_PWM_LIMIT_MIN )
{
LEDDirection=0;
pwmr=LED_PWM_LIMIT_MIN ;
}
}
pwm=pwmr;
}
if(pwm>0)
{
ledr=0;
pwm--;
}
else
{
ledr=1;
}
}
怎么调max值整体时间却不变
作者:
爱普生晶振
时间:
2016-3-19 09:39
楼主分享的代码好齐全啊
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1