- Port A is a 5 bit wide bi-directional port.
- Setting a bit of the TRISA register to 1 will make the corresponding bit of Port A an input.
| Maximum current sourced | 50 mA |
| Maximum current sunk | 80 mA |
Port B Hardware
| Pin | Name | Input | Output | Description |
|---|
| 17 | RA0 | TTL | TTL | Bi-directional I/O Port A |
|---|
| 18 | RA1 | TTL | TTL | Bi-directional I/O Port A |
|---|
| 1 | RA2 | TTL | TTL | Bi-directional I/O Port A |
|---|
| 2 | RA3 | TTL | TTL | Bi-directional I/O Port A |
|---|
| 3 | RA4 | TTL | TTL | Bi-directional I/O Port A |
|---|
| T0CKI | ST | OD | clock input to the TMR0 timer/counter. |
Port A Register
| Bit | Kind | Name | Description | Pwr |
Other |
| bit 7 | U-0 | | Unimplemented bit | - |
- |
| bit 6 | U-0 | | Unimplemented bit | - |
- |
| bit 5 | U-0 | | Unimplemented bit | - |
- |
| bit 4 | R/W-X | RA4 | General Purpose I/O bit 1 = pin is > Vih. 0 = pin is < Vil. |
x | u |
| bit 3 | R/W-X | RA3 |
x | u |
| bit 2 | R/W-X | RA2 |
x | u |
| bit 1 | R/W-X | RA1 |
x | u |
| bit 0 | R/W-X | RA0 |
x | u |
TRISA Register
| Bit | Kind | Name | Description |
Pwr | Other |
|---|
| bit 7 | U-0 | | Unimplemented bit | - | - |
|---|
| bit 6 | U-0 | | Unimplemented bit | - | - |
|---|
| bit 5 | U-0 | | Unimplemented bit | - | - |
|---|
| bit 4 | R/W-1 | TRISA4 | 1 = pin is configured as an input. 0 = pin is configured as an output. | 1 | 1 |
|---|
| bit 3 | R-1 | TRISA3 | 1 | 1 |
|---|
| bit 2 | R/W-1 | TRISA2 | 1 | 1 |
|---|
| bit 1 | R/W-1 | TRISA1 | 1 | 1 |
|---|
| bit 0 | R/W-1 | TRISA0 | 1 | 1 |
|---|
Sample code to initialize PORT A
BCF STATUS, RP0 ; select bank 0
CLRF PORTA ; Initialize PORTA by
; clearing output
; data latches
BSF STATUS, RP0 ; Select Bank 1
MOVLW 0x0F ; Value used to
; initialize data
; direction
MOVWF TRISA ; Set RA3 through RA0 as inputs, RA4 as output
; TRISA bits 7 through 5 are always read as 0.