thứ nhất: mình thấy cái chỗ if ((P1IN & (BIT0<<i)) == 1)//Read each bit from KEY thì nó sẽ chỉ đúng nếu nếu i=0 và bit 0 của P1 = 1
thứ 2: cái ngắt __interrupt void USCI0RX_ISR(void) khi vào ngắt sẽ ở trong ngắt luôn mà không thoát ra ngoài vì cờ báo ngắt chưa được xóa (cái này bạn xem nếu cờ...