help for code 16f84A

Status
Not open for further replies.

MARWEN007

Junior Member level 2
Joined
Apr 16, 2011
Messages
24
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,481
Hi everyone I have a small gap in a program
I'm still in good beginner programmtion but I want improved my knowledge.
I want to set the 16F84A with mikroC for it illuminates the LEDs at specific requirement I will explain my purpose
* two LED lights in the PORTB when I press a Button (entered the port A) I want LED1 port B is extinguished when I release either on, and the same principle for the second led2 except when both botton are supporting a 3 rd lED should be lit means;
is a0, a1 of the input b0, b1 and b2 outputs
** a0 = 0 and a1 = 0 => b0 = 1 and b1 = 0
** a0 = 1 and a1 = 0 => b0 = 0 and b1 = 1
** a0 = 0 and a1 = 1 => b0 = 1 and b1 = 0
* a0 = 0 and a1 = 0 => b0 = 0 and b1 = 0 and b2 = 1

I realized a small program and I simulate it on proteus isis it works with a small defect in the program when I press the botton LED 1 is off and that I release it remains extinguished!


Code:
void main()
 {

TRISB = 0x00;                                  // Configure PORTC as output
PORTB = 0;
TRISA = 0xff;                                  // Configure PORTC as output
PORTA = 0;

   debut:
   do  {


if(portA.f0==0&&portA.f1==0)

{
  portB.f0=1;
  portB.f1=1 ;
 }
  else if (portA.f0==1&&portA.f1==0)
  { portB.f0=1;
    portB.f1=0; }
  else if  (portA.f0==0&&portA.f1==1)
     { portB.f0=0 ;
       portB.f1=1 ;}
       

       else if
       (portA.f0==1&&portA.f1==1)
       { portB.f0=0;
         portB.f1=0 ;
         portB.f2=1 ;

       }
       else if (portA.f0!=1||portA.f1!=1)
        {goto debut;}
      }
     while (1);
 

what is your problem, i cant able to understand clearly.

for your all conditions, which condition is not working?

and your if loop would make the trouble, go with the separate brackets like ((cond...)&&(cond...)).
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…