# Will this code work propertly?

#### Beginner0001

##### New Member
I have 4 switches and 4 LEDs. I want to turn off the first LED with the first switch, the second one with the second switch, and so on. When I turn off the switch, LED should turn on. All switches connected to PORTA, all LEDs to PORTB. Initially, all LEDs are on. Will this code do the job?
Code:
PORTB=0b00001111;

if (PINA & (1<<n))
{
PORTB = PORTB & ~(1 << n)
}
else
{
PORTB = PORTB | (1 << n);
}

#### Pommie

##### Well-Known Member
It will work if,
The TRIS registers are setup correctly.
Pullup resistors are on port A or the internal pullups are on. And, the switch connects the port pin to GND.
Analogue is turned off.
Anything else (osc etc.) required is setup correctly.

Mike.

#### Beginner0001

##### New Member
The TRIS registers are setup correctly.
Pullup resistors are on port A or the internal pullups are on. And, the switch connects the port pin to GND.
Analogue is turned off.

This is the way all four switches and LEDs are connected.

#### Beginner0001

##### New Member
Whats n??
That's the number of pin. I forgot to add a function.

Code:
static void LED(uint8_t n)
{
PORTB=0b00001111;

if (PINA & (1<<n)==1)
{
PORTB = PORTB & ~(1 << n);
}
else
{
PORTB = PORTB | (1 << n);
}
}