Вы не правильно поняли.
То, что Вы написали
CODE
#define LED 0x01 // P1.0
#define Led_1 0x02 // P1.1
#define TXD 0x20 // TXD on P1.5
это всего лишь определение названий битов _без_привязки_к_портам.
Допустим, у меня висят два ЛЭД-а разного цвета на разных портах, и оба на последнем -- седьмом бите: один на P1.7, другой на -- P2.7. Тогда я пишу:
CODE
// Биты определения порта P1
#define LED_R 0x80
...
// Биты определения порта P2
#define LED_G 0x80
Как можно видеть, коды совпадают. Но я-то знаю, что красный ЛЭД подключен к первому порту, по
этому я буду писать (1):
CODE
P1OUT |= LED_R;
Но компилятор скушает и даже не поперхнется и такой код (2):
CODE
P1OUT |= LED_G;
и такой (3):
CODE
P2OUT |= LED_R;
Разница только в том, что в первом случае (1) логически будет правильный. Во втором случае, исходный код будет неправильный, но откомпилированный будет точно такой же, как и в случае (1). В третьем случае, мы не замечаем, что у нас перепутан порт, и хотим зажечь красный ЛЭД. Только на реальном железе можно обнаружить такую путаницу.
Но я думаю, что Вы достаточно внимательны при написании кодов чтобы видеть такие описки.
Но если Вам нужно знать коды других битов, то это просто:
бит_0 -- это 0x01
бит_1 -- это 0x02
бит_2 -- это 0x04
бит_3 -- это 0x08
бит_4 -- это 0x10
бит_5 -- это 0x20
бит_6 -- это 0x40
бит_7 -- это 0x80
Возможно я неправильно ответил на ваш вопрос, но тогда уточняйте, что Вы хотели спросить в отличие от того, что спросили.