Bạn dùng chip có sẵn 2 UART thì chắc chắn là không có vấn đề rồi. Tuy nhiên, việc giao tiếp với nhiều thiết bị sử dụng cùng một chuẩn giao tiếp không hẳn đòi hỏi phải có sẵn phần cứng cho mỗi thiết bị. Điều này còn tùy thuộc vào đặc điểm của bài toán nữa, cụ thể là các thiết bị đó có truyền dữ liệu đến PIC một cách liên tục hay không, và các thiết bị đó sử dụng cả hai chiều truyền/nhận hay chỉ dùng 1 trong 2 chiều, và một số yếu tố khác. Ở luồng sau đã có người hỏi về PIC16F877 với 3 cổng nối tiếp, và tôi đã gợi ý cách làm:
http://www.picvietnam.com/forum/showthread.php?t=1269
Nếu là đề tài của sinh viên (đồ án, luận văn, ...) thì rất có khả năng bạn sẽ được hỏi vì sao dùng dsPIC30F4011 thay vì dùng PIC16F877A như đã chọn ban đầu.
Thân,