Change
PORTB &= (1 << LED);
// ...
PORTB |= ~(1 << LED);
to
PORTB &= (1 << [b](LED-1)[/b]);
// ...
PORTB |= ~(1 << [b](LED-1)[/b]);
The pins to bits relationship is [ x x 13 12 11 10 9 8 ], with 8 being in the lsb position.
To create the mask for pin 8 ( which is the least significant bit, called "b0" ) requires 0 shifts, not 1.
To create the mask for pin 13 (which is b5) , you need to
take 1 and shift it left 5 times, not 6.
1 << (LED-1) gives you #B00100000, which is what you want.
1 << 6 results in #B01000000, which is unusable. See Grumpy_MIke's post:
PORTB maps to Arduino digital pins 8 to 13 The two high bits (6 & 7) map to the crystal pins and are not usable
Also, I hope you are aware that delay(1000) is a one second delay, whereas your delay_us(10000) is 10 ms or 1/100th second.