PIC16F873-04I/SO Microchip Technology, PIC16F873-04I/SO Datasheet - Page 567
![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
- PIC16F616T-ISL PDF datasheet
- PIC16F688T-ISL PDF datasheet #2
- PIC16F873-04SO PDF datasheet #3
- PIC16F873-04SO PDF datasheet #4
- PIC16F873-04SO PDF datasheet #5
- PIC16F873-04SO PDF datasheet #6
- Current page: 567 of 688
- Download datasheet (3Mb)
29.6
1997 Microchip Technology Inc.
Design Tips
Question 1:
Answer 1:
There are a few possibilities, two are:
1.
2.
Question 2:
Answer 2:
For code compatibility and upgrades to later parts, the use of the TRIS instruction is not recom-
mended. You should note the TRIS instruction is limited to ports A, B and C. Future devices may
not support these instructions.
Question 3:
Answer 3:
No. The TRIS instruction is Bank independent. Again the use of the TRIS instruction is not rec-
ommended.
Question 4:
Answer 4:
An easy example of a Read-Modify-Write (R-M-W) instruction is the bit clear instruction BCF. You
might think that the processor just clears the bit, which on a port output pin would clear the pin.
What actually happens is the whole port (or register) is first read, THEN the bit is cleared, then
the new modified value is written back to the port (or register). Actually, any instruction that
depends on a value currently in the register is going to be a Read-Modify-Write instruction. This
includes ADDWF, SUBWF, BCF, BSF, INCF, XORWF , etc... Instructions that do not depend on
the current register value, like MOVWF, CLRF, and so on are not R-M-W instructions.
One situation where you would want to consider the affects of a R-M-W instruction is a port that
is continuously changed from input to output and back. For example, say you have TRISB set to
all outputs, and write all ones to the PORTB register, all of the PORTB pins will go high. Now, say
you turn pin RB3 into an input, which happens to go low. A BCF PORTB,6 is then executed to
drive pin RB6 low. If you then turn RB3 back into an output, it will now drive low, even though the
last value you put there was a one. What happened was that the BCF of the other pin (RB6)
caused the whole port to be read, including the zero on RB3 when it was an input. Then, bit 6
was changed as requested, but since RB3 was read as a zero, zero will also be placed back into
that port latch, overwriting the one that was there before. When the pin is turned back into an
output, the new value was reflected.
For the midrange devices, there are several instructions that work with a literal and W. For
instance, if it were desired to decrement W, this can be done with an ADDLW 0xFF. (the 0x
prefix denotes hex to the assembler)
Notice that all of the instructions can modify a value right where it sits in the file register.
This means you can decrement it right where it is. You do not even need to move it to W.
If you want to decrement it AND move it somewhere else, then you make W the DESTI-
NATION of the decrement (DECF register,W) then put it where you want it. It is the same
number of instructions as a straight move, but it gets decremented along the way.
How can I modify the value of W directly? I want to decrement W.
Is there any danger in using the TRIS instruction for the PIC16CXXX since
there is a warning in the Data book suggesting it not be used?
Do I have to switch to Bank1 of data memory before using the TRIS instruc-
tion (for parts with TRIS registers in the memory map)?
I have seen references to “Read-Modify-Write” instructions in your data
sheet, but I do not know what that is. Can you explain what it is and why I
need to know this?
Section 29. Instruction Set
DS31029A-page 29-45
29
Related parts for PIC16F873-04I/SO
Image
Part Number
Description
Manufacturer
Datasheet
Request
R
![PIC16F873](/images/manufacturer_photos/0/4/440/microchip_technology_inc__tmb.jpg)
Part Number:
Description:
Manufacturer:
Microchip Technology Inc.
Datasheet:
![PIC16F873-04/SO](/photos/6/59/65909/150-28-soic_tmb.jpg)
Part Number:
Description:
IC MCU FLASH 4KX14 EE 28SOIC
Manufacturer:
Microchip Technology
Datasheet:
![PIC16F873-04/SP](/photos/6/59/65908/150-28-dip_tmb.jpg)
Part Number:
Description:
IC MCU FLASH 4KX14 EE 28DIP
Manufacturer:
Microchip Technology
Datasheet:
![PIC16F873-20/SO](/photos/6/59/65909/150-28-soic_tmb.jpg)
Part Number:
Description:
IC MCU FLASH 4KX14 EE 28SOIC
Manufacturer:
Microchip Technology
Datasheet:
![PIC16F873-20/SP](/photos/6/59/65908/150-28-dip_tmb.jpg)
Part Number:
Description:
IC MCU FLASH 4KX14 EE 28DIP
Manufacturer:
Microchip Technology
Datasheet:
![PIC16F873-20I/SO](/photos/6/59/65909/150-28-soic_tmb.jpg)
Part Number:
Description:
IC MCU FLASH 4KX14 EE 28SOIC
Manufacturer:
Microchip Technology
Datasheet:
![PIC16F873-20I/SP](/photos/6/59/65908/150-28-dip_tmb.jpg)
Part Number:
Description:
IC MCU FLASH 4KX14 EE 28DIP
Manufacturer:
Microchip Technology
Datasheet:
![PIC16F873-04I/SP](/photos/6/59/65908/150-28-dip_tmb.jpg)
Part Number:
Description:
IC MCU FLASH 4KX14 EE 28DIP
Manufacturer:
Microchip Technology
Datasheet:
![PIC16F873-10E/SP](/photos/6/59/65908/150-28-dip_tmb.jpg)
Part Number:
Description:
IC MCU FLASH 4KX14 EE 28DIP
Manufacturer:
Microchip Technology
Datasheet:
![PIC16F873-10E/SO](/photos/6/59/65909/150-28-soic_tmb.jpg)
Part Number:
Description:
IC MCU FLASH 4KX14 EE 28SOIC
Manufacturer:
Microchip Technology
Datasheet:
![PIC16F873-04E/SO](/images/manufacturer_photos/0/4/439/microchip_technology_tmb.jpg)
Part Number:
Description:
IC,MICROCONTROLLER,8-BIT,PIC CPU,CMOS,SOP,28PIN,PLASTIC
Manufacturer:
Microchip Technology
Datasheet:
![PIC16F873-04E/SP](/images/manufacturer_photos/0/4/439/microchip_technology_tmb.jpg)
Part Number:
Description:
IC,MICROCONTROLLER,8-BIT,PIC CPU,CMOS,DIP,28PIN,PLASTIC
Manufacturer:
Microchip Technology
Datasheet:
![TC1014-2.7VCT](/images/manufacturer_photos/0/4/440/microchip_technology_inc__tmb.jpg)
Part Number:
Description:
Manufacturer:
Microchip Technology Inc.
Datasheet: