#include <REGX51.H>
#define u8 unsigned char
#define u16 unsigned int
sbit P33=P3^3;
u8 PWM=0;
void delay_50us(u16 x)
{
u8 i,j;
for(;x>0;x--)
for(i=1;i>0;i--)
for(j=25;j>0;j--);
}
void exti_init()
{
TCON=0x01;
IT0=1;
EX0=1;
EA=1;
}
void main()
{
exti_init();
while(1)
{
P33=0;
delay_50us(PWM);
P33=1;
delay_50us(100-PWM);
}
}
void exti0_P32_handler()interrupt 0
{
PWM+=5;
if(PWM>100)PWM=0;
}