This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

is the program is correct?help me

#include<reg51.h>
sbit op1=P0^0;
sbit op2=P0^1;
sbit op3=P0^2;
sbit op4=P0^3;
int c;
void delay(void)//delay .5 second
{ int d;
for(d=0;d<10;d++)
{ TF1=0;//clear overflow flag
TL1=0xB0;
TH1=0x3C;
TR1=1; //start timer
while(TF1==0)
TR1=0; //stop timer
} }
void intr1(void) interrupt 2 //external interrupt1 function
{ EX1=0; //disable all interrupts
TH0=0x00; //reset counter
TL0=0x00;
TR0=1; //start counter
delay();
TR0=0; //stop counter
c=TL0; //store count
EX1=1; //enable all interrupts
} void main()
{ TMOD=0x25; //initialize T0 as 16bit counter and T1 as 16bit timer
IE=0x84; //enable external interrupt 1
if((c>=0x73)&&(c<=0x7D))
{ if(op1==0)
{ op1=1;
} else
{ op1=0;
} }
else if((c>=0x5F)&&(c<=0x69))
{ if(op2==0)
{ op2=1;
} else
{ op2=0;
} }
else if((c>=0x4B)&&(c<=0x55))
{ if(op3==0)
{ op3=1;
} else
{ op3=0;
} }
else if((c>=0x37)&&(c<=0x41))
{ if(op4==0)
{ op4=1;
} else
{ op4=0;
} }
}

Parents
  • when you ask if this program is right, the answer is simple: no it is not -or- yes it is. This all depends upon what you want to do.

    If this code is supposed to control a satellite's solar panels, I'd say its wrong.

    People should be clear on what it is they intend to do and not just post code.

    --Cpt. Vince Foster
    2nd Cannon Place
    Fort Marcy Park, VA

Reply
  • when you ask if this program is right, the answer is simple: no it is not -or- yes it is. This all depends upon what you want to do.

    If this code is supposed to control a satellite's solar panels, I'd say its wrong.

    People should be clear on what it is they intend to do and not just post code.

    --Cpt. Vince Foster
    2nd Cannon Place
    Fort Marcy Park, VA

Children
  • It is similar to this: "Is this right?"

                             2.5v
                              |
                              |
        +5v  _____/\/\/\/\/\__*__/\/\/\/\_____ GND
    
                     20k           20k
    

    Some people would say yes. But if it is supposed to be a motion controller with PID capability, the answer is NO!

    --Cpt. Vince Foster
    2nd Cannon Place
    Fort Marcy Park, VA