PIC16F873-04I/SO Microchip Technology, PIC16F873-04I/SO Datasheet - Page 4
![IC MCU FLASH 4KX14 EE 28SOIC](/photos/6/59/65909/150-28-soic_sml.jpg)
PIC16F873-04I/SO
Manufacturer Part Number
PIC16F873-04I/SO
Description
IC MCU FLASH 4KX14 EE 28SOIC
Manufacturer
Microchip Technology
Series
PIC® 16Fr
Datasheets
1.PIC16F616T-ISL.pdf
(8 pages)
2.PIC16F688T-ISL.pdf
(688 pages)
3.PIC16F873-04SO.pdf
(218 pages)
4.PIC16F873-04SO.pdf
(5 pages)
5.PIC16F873-04SO.pdf
(5 pages)
6.PIC16F873-04SO.pdf
(4 pages)
Specifications of PIC16F873-04I/SO
Core Size
8-Bit
Program Memory Size
7KB (4K x 14)
Core Processor
PIC
Speed
4MHz
Connectivity
I²C, SPI, UART/USART
Peripherals
Brown-out Detect/Reset, POR, PWM, WDT
Number Of I /o
22
Program Memory Type
FLASH
Eeprom Size
128 x 8
Ram Size
192 x 8
Voltage - Supply (vcc/vdd)
4 V ~ 5.5 V
Data Converters
A/D 5x10b
Oscillator Type
External
Operating Temperature
-40°C ~ 85°C
Package / Case
28-SOIC (7.5mm Width)
Controller Family/series
PIC16F
No. Of I/o's
22
Eeprom Memory Size
128Byte
Ram Memory Size
192Byte
Cpu Speed
4MHz
No. Of Timers
3
Package
28SOIC W
Device Core
PIC
Family Name
PIC16
Maximum Speed
4 MHz
Operating Supply Voltage
5 V
Data Bus Width
8 Bit
Number Of Programmable I/os
22
Interface Type
I2C/SPI/USART
On-chip Adc
5-chx10-bit
Number Of Timers
3
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
For Use With
XLT28SO-1 - SOCKET TRANSITION 28SOIC 300MIL309-1073 - ADAPTER 28-SOIC TO 28-SOIC309-1024 - ADAPTER 28-SOIC TO 28-DIP309-1023 - ADAPTER 28-SOIC TO 28-DIP
Lead Free Status / RoHS Status
Lead free / RoHS Compliant, Lead free / RoHS Compliant
TIMER1 MODULE
EXAMPLE 2:
EXAMPLE 3:
DS80329B-page 4
HIntVector code 0x0008
HighISR:
;
;
RTCisr:
; If TMR1 update can be completed before clock pulse
; goes low, start update here
Update:
NextISR:
retfieFAST
goto
btfss
goto
Insert the next 4 lines of code when TMR1 can not
be reliably updated before clock pulse goes low
btfsc
bra
btfss
bra
bsf
bcf
incf
retfie FAST
....
BTFSC
GOTO
BTFSS
GOTO
BCF
MOVF
ADDWF
BTFSC
INCF
MOVF
MOVWF
MOVF
MOVW
BCF
BSF
BSF
Critical Timing of code sequence for instructions.
HighISR
code
PIR1,TMR1IF
NextISR
TMR1L,0
$-2
TMR1L,0
$-2
TMR1H,7
PIR1,TMR1IF
Seconds,F
T1CON, TMR1CS
TMR1, W
TMR1_Reload_lo, F
STATUS, C
TMR1_Reload_hi, F
TMR1_Reload_hi, W
TMR1H
TMR1_Reload_lo, W
TMR1L
T1CON, TMR1ON
T1CON, TMR1CS
T1CON, TMR1ON
TMR1L, 0
$-1
TMR1L, 0
$-1
PIC12/14/16/17 CODE EXAMPLE FOR OVERFLOW PERIODS OTHER THAN 1
SECOND OR USING AN OSCILLATOR OTHER THAN 32.768 kHZ
PIC18 HIGH-PRIORITY INTERRUPT SERVICE ROUTINE
;
;
;
;
;
;
;
;
;
;
;
;
;
;
(3-4Tcy), fixed interrupt latency
(3Tcy) jump to high priority ISR code
unprotected code space
(1Tcy) TMR1 overflow?
(2Tcy) No, check another interrupt source
wait for TMR1L<0> to become clear
may already be clear (loops for 0 to 30.5us)
wait for TMR1L<0> to become set
(loops for 30.5us)
reload for next 1 second overflow
clear flag
record second
Another interrupt source...
code for other interrupts, if needed
;Select system clock for Timer1.
;Sample low byte of Timer1 before increments.
;Add reload value for low byte
;if this generates a carry then
;modify the reload value for the high byte.
;Reload Timer1 high byte.
;Reload Timer1 low byte.
;Timer1 off.
;Select external crystal.
;Timer1 on.
;Timer has just incremented, 31μs before next rising
edge to complete reload.
2010 Microchip Technology Inc.