PIC16F877A-I/ML Microchip Technology, PIC16F877A-I/ML Datasheet - Page 135

IC MCU FLASH 8KX14 A/D 44QFN

PIC16F877A-I/ML

Manufacturer Part Number
PIC16F877A-I/ML
Description
IC MCU FLASH 8KX14 A/D 44QFN
Manufacturer
Microchip Technology
Series
PIC® 16Fr

Specifications of PIC16F877A-I/ML

Core Size
8-Bit
Program Memory Size
14KB (8K x 14)
Core Processor
PIC
Speed
20MHz
Connectivity
I²C, SPI, UART/USART
Peripherals
Brown-out Detect/Reset, POR, PWM, WDT
Number Of I /o
33
Program Memory Type
FLASH
Eeprom Size
256 x 8
Ram Size
368 x 8
Voltage - Supply (vcc/vdd)
4 V ~ 5.5 V
Data Converters
A/D 8x10b
Oscillator Type
External
Operating Temperature
-40°C ~ 85°C
Package / Case
44-QFN
Controller Family/series
PIC16F
No. Of I/o's
33
Eeprom Memory Size
256Byte
Ram Memory Size
368Byte
Cpu Speed
20MHz
No. Of Timers
3
Processor Series
PIC16F
Core
PIC
Data Bus Width
8 bit
Data Ram Size
368 B
Interface Type
I2C, SPI, USART
Maximum Clock Frequency
20 MHz
Number Of Programmable I/os
33
Number Of Timers
1 x 16 bit
Operating Supply Voltage
2 V to 5.5 V
Maximum Operating Temperature
+ 85 C
Mounting Style
SMD/SMT
3rd Party Development Tools
52715-96, 52716-328, 52717-734
Development Tools By Supplier
PG164130, DV164035, DV244005, DV164005, PG164120, ICE2000, DM163022, DV164120
Minimum Operating Temperature
- 40 C
On-chip Adc
8
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
For Use With
XLT44QFN2 - SOCKET TRAN ICE 44QFN/40DIPAC164322 - MODULE SOCKET MPLAB PM3 28/44QFN444-1001 - DEMO BOARD FOR PICMICRO MCU
Lead Free Status / Rohs Status
 Details

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
PIC16F877A-I/ML
Manufacturer:
TE
Quantity:
1 000
Part Number:
PIC16F877A-I/ML
Manufacturer:
MICROCHIP/微芯
Quantity:
20 000
1997 Microchip Technology Inc.
Example 8-3
RAM only in Bank0 (such as the PIC16C620). The Bank must be tested before saving any of the
user registers. , W_TEMP, must be defined across all banks and must be defined at the same
offset from the bank base address. The user register, STATUS_TEMP, must be defined in Bank0.
The steps of
1.
2.
3.
4.
5.
6.
If additional locations need to be saved before executing the Interrupt Service Routine (ISR)
code, they should be saved after the STATUS register is saved (step 2), and restored before the
STATUS register is restored (step 4).
Example 8-3: Saving the STATUS and W Registers in RAM
Push
RP0CLEAR
;
ISR_Code
;
Pop
Restore_WREG
Test current bank.
Stores the W register regardless of current bank.
Stores the STATUS register in Bank0.
Executes the Interrupt Service Routine (ISR) code.
Restores the STATUS (and bank select bit register).
Restores the W register.
BTFSS
GOTO
BCF
MOVWF
SWAPF
MOVWF
BSF
GOTO
MOVWF
SWAPF
MOVWF
:
: (Interrupt Service Routine (ISR) )
:
SWAPF
MOVWF
BTFSS
GOTO
BCF
SWAPF
SWAPF
BSF
RETFIE
SWAPF
SWAPF
RETFIE
Example
stores and restores the STATUS and W registers for devices with general purpose
(for Devices with General Purpose RAM Only in Bank0)
STATUS, RP0
RP0CLEAR
STATUS, RP0
W_TEMP
STATUS, W
STATUS_TEMP
STATUS_TEMP, 1
ISR_Code
W_TEMP
STATUS, W
STATUS_TEMP
STATUS_TEMP, W
STATUS
STATUS, RP0
Restore_WREG
STATUS, RP0
W_TEMP, F
W_TEMP, W
STATUS, RP0
W_TEMP, F
W_TEMP, W
8-3:
Section 8. Interrupts
; In Bank 0?
; YES,
; NO, Force to Bank 0
; Store W register
; Swap STATUS register and
;
; Set the bit that corresponds to RP0
; Push completed
; Store W register
; Swap STATUS register and
;
; Restore Status register
;
; In Bank 1?
; NO,
; YES, Force Bank 0
; Restore W register
;
; Back to Bank 1
; POP completed
; Restore W register
;
; POP completed
store in STATUS_TEMP
store in STATUS_TEMP
DS31008A-page 8-13
8

Related parts for PIC16F877A-I/ML