PIC16F628A memiliki 2 buah port input output yaitu PORTA dan PORTB. Beberapa pin pada kedua PORT ini ter-multiplex dengan fungsi alternatifnya.
Fungsi-fungsi alternatif pada PORTA dan PORTB akan dibahas pada bab selanjutnya.
PORTA
PORTA merupakan latch 8-bit. Tiap bit pada PORTA kemudian disimbolkan dengan RA. Misalnya bit ke-7 dari PORTA disebut RA7. POTA memiliki register pengendali arah data yang disebut TRISA.
Fungsi alternatif yang ter-multiplex pada PORTA adalah sebagai berikut.
1. Analog komparator input (AN) pada pada PORTA 3:0.
2. Vreff output pada RA2.
3. Komparator output 1 (CMP1) pada RA3, komparator output 2 (CMP2) pada RA4.
4. Timer 0 clock input (T0CKI) pada RA4.
5. Master Clear (
6. Programming voltage input (Vpp) pada RA5.
7. Crystal Oscillator input (OSC1) pada RA7.
8. Crystal Oscillator output (OSC2) pada RA6.
9. External clock input (CLKIN) pada RA7.
10. Clock output (CLKOUT) pada RA6.
Untuk membuat pin-pin pada PORTA sebagai input maka nilai register TRISA pada bit yang sesuai diberi logika ‘1’. Semua pin pada PORTA dapat dijadikan input dengan catatan sebagai berikut.
1.
2. Menggunakan oscillator internal.
3. Fungsi alternatif dari tiap pin dimatikan.
Untuk membuat pin-pin pada PORTA sebagai output maka nilai register TRISA pada bit yang sesuai diberi logika ‘0’. Tidak semua pin pada PORTA dapat dijadikan output yaitu RA5 karena tidak memiliki driver output. Sedangkan untuk membuat RA7:RA6 harus menggunakan oscillator internal. Khusus untuk RA4, driver outputnya berupa open drain sehingga apabila akan membuat RA4 sebagai output harus dihubungkan dengan rangkaian perantara yang aktif low.