Port A: Port A (RA0 đến RA7) có số chân từ chân số 2 đến chân số 7 và chân số 13, 14. Port A bao gồm 8 chân I/O (vào/ra dữ liệu). Đây là các chân “hai chiều” (bidirectional pin), nghĩa là có thể xuất và nhập được. Chức năng I/O này được điều khiển bởi thanh ghi TRISA (địa chỉ 85h). Đặc biệt, Port A có hai chân 13 và 14 dùng để nối với thạch anh để tạo bộ dao động ngoại hay có thể được sử dụng để tạo dao động nội RC.
Port B: Port B (RB0 đến RB7) có số chân từ chân số 33 đến chân số 40. Port B gồm 8 chân I/O. Thanh ghi điều khiển xuất nhập tương ứng là TRISB. Bên cạnh đó một số chân của Port B còn được sử dụng trong quá trình nạp chương trình cho vi điều khiển với các chế độ nạp khác nhau. Port B còn liên quan đến ngắt ngoại vi và bộ Timer0. Ngoài ra nó còn được tích hợp chức năng điện trở kéo lên (pull – up) được điều khiển bởi chương trình.
Port C: Port C (RC0 đến RC7) có số chân từ chân số 15 đến chân số 18 và chân số 23 đến chân số 26. Port C gồm 8 chân I/O. Thanh ghi điều khiển xuất nhập tương ứng là TRISC. Bên cạnh đó Port C còn chứa các chân chức năng của bộ so sánh, bộ Timer1, bộ PWM và các chuẩn giao tiếp nối tiếp I2C, SPI, SSP, USART
Port D: Port D (RD0 đến RD7) có số chân từ chân số 19 đến chân số 22 và chân số 27 đến chân số 30. Port (RPD) gồm 8 chân I/O, thanh ghi điều khiển xuất nhập tương ứng là TRISD. Port D còn là cổng xuất dữ liệu của chuẩn giao tiếp PSP (Parallel Slave Port).
Port E: Port E (RE0 đến RE3) có số chân từ chân số 8 đến 10 và chân số 1. Port E gồm 3 chân I/O (từ RE0 đến RE2) và một chân chỉ nhập (RE3). Thanh ghi điều khiển xuất nhập tương ứng là TRISE. Các chân của Port E có ngõ vào analog. Bên cạnh đó Port E còn là các chân điều khiển của chuẩn giao tiếp PSP. Đặc biệt, chân số 1 (RE3) hay còn gọi là Master Clear dùng để Reset vi điều khiển với điện trở kéo nội.
Chân 12 và 31 dùng để nối đất.