...

반응형




최대속도로 작동후 느리게 작동후 멈춤


#include<reg51.h>

sbit motor = P2^0;

void delay(unsigned int i)
{
 unsigned int a;
 for(a=0;a<i;a++);
 //while(i--);
}

void timer_set(void)
{
 TF0 = 0;
 TMOD = 0x01;
 TH0 = 0xdb;
 TL0 = 0xfe;
}

void timer_1sec(void)
{
 int count = 0;
 while(count<100)
 {
  if(TF0)
  {
   count++;
   TH0 = 0xdb;
   TL0 = 0xfe;
   TF0 = 0;
  }
 }
}


main()
{
 int j,i;
 timer_set();
 TR0 = 1;
 


 while(1)
 {
  j = 550;
  motor = 1;
  for(i=0;i<5;i++) timer_1sec();
  
  while(j)
  {
   motor = 1;
   delay(450);
   motor = 0;
   delay(450);
   motor = 1;
   j--;
  }
  motor = 0;
  for(i=0;i<5;i++) timer_1sec();
  
 }


}

반응형