(solved)what's means about "PINB |= 1<<5"

MarkT:
The latter would be correct I think, the former will toggle the pin you want and any others that read HIGH. Or am I missing something? Figure 13.2 in the datasheet seems to imply this.

I would read that as, if the byte you output has 1 bits, any pins corresponding to the 1 bit will be toggled and the others not. In other words, you could toggle up to 8 pins.