/*
developed by S4silver
license type - open source
created on - 11/12/2014
modified on - 11/14/2014
modification details - refactored
developer - Frank Hust Jincson
contact mail id - silverembeddedsolutions@gmail.com
web link - http://s4silver.blogspot.in/p/programmers-colony.html
*/
#include<reg51.h>
#define HIGH 1
#define LOW 0
sbit pwm_out_pin=P1^0;
bit pwm_pulse_flag=HIGH;
unsigned char x=15;
void pwm(void);
main()
{
TMOD=0x43;
pwm_out_pin=0;
while(1)
{
pwm_out_pin=~pwm_out_pin;
pwm();
}
}
void pwm()
{
if(pwm_pulse_flag==HIGH)
{
TL0=x;
TR0=1;
pwm_pulse_flag=LOW;
}
else
{
TL0=255-x;
x++;
if(x==0)
x=15;
TR0=1;
pwm_pulse_flag=HIGH;
}
while(!TF0);
TR0=0;
TF0=0;
}
No comments:
Post a Comment