- 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.