PIC16F874-04E/L Microchip Technology, PIC16F874-04E/L Datasheet - Page 157
![IC MCU FLASH 4KX14 EE 44PLCC](/photos/6/63/66325/150-44-plcc_sml.jpg)
PIC16F874-04E/L
Manufacturer Part Number
PIC16F874-04E/L
Description
IC MCU FLASH 4KX14 EE 44PLCC
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)
Specifications of PIC16F874-04E/L
Core Processor
PIC
Core Size
8-Bit
Speed
4MHz
Connectivity
I²C, SPI, UART/USART
Peripherals
Brown-out Detect/Reset, POR, PWM, WDT
Number Of I /o
33
Program Memory Size
7KB (4K x 14)
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 8x10b
Oscillator Type
External
Operating Temperature
-40°C ~ 125°C
Package / Case
44-PLCC
For Use With
309-1040 - ADAPTER 44-PLCC ZIF TO 40-DIP309-1039 - ADAPTER 44-PLCC TO 40-DIP
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
Other names
PIC16F87404E/L
Available stocks
Company
Part Number
Manufacturer
Quantity
Price
Company:
Part Number:
PIC16F874-04E/L
Manufacturer:
Microchip Technology
Quantity:
10 000
- PIC16F616T-ISL PDF datasheet
- PIC16F688T-ISL PDF datasheet #2
- PIC16F873-04SO PDF datasheet #3
- PIC16F873-04SO PDF datasheet #4
- PIC16F873-04SO PDF datasheet #5
- Current page: 157 of 688
- Download datasheet (3Mb)
9.12
I
2
C is a trademark of Philips Corporation.
1997 Microchip Technology Inc.
Design Tips
Question 1:
Answer 1:
1.
2.
3.
4.
5.
6.
Question 2:
Answer 2:
1.
2.
3.
Question 3:
Answer 3:
PORTB accepts TTL input levels (on most parts), so when you have an input of say 3V (with
V
Schmitt Trigger, which requires a higher voltage (than TTL input) before the high input is regis-
tered. So it is possible to read a one, but not get the interrupt. The interrupt was given a Schmitt
Trigger input with hysteresis to minimize noise problems. It is one thing to have short noise spikes
on a pin that is a data input that can potentially cause bad data, but quite another to permit noise
to cause an interrupt, hence the difference.
DD
Have the TRIS registers been initialized properly? These registers can be written to
directly in the second bank (Bank1). In most cases the user is not switching to Bank1
(BSF STATUS,RP0) before writing zeros to the TRIS register.
If you are setting up the TRIS registers properly in Bank1 (RP0 = 1), you may not be
returning to Bank0 before writing to the ports (BCF STATUS,RP0).
Is there a peripheral multiplexed onto those pins that are enabled?
Is the Watchdog Timer enabled (done at programming)? If it is enabled, is it being cleared
properly with a CLRWDT instruction at least every 9 ms (or more if prescaled)?
Are you using the correct instructions to write to the port? More than one person has used
the MOVF command when they should have used MOVWF.
For parts with interrupts, are the interrupts disabled? If not, try disabling them to verify they
are not interfering.
When a port is read, it is always the pin that is read, regardless of its being set to input or
output. So if a pin is set to an input, you will read the value on the pin regardless of the
register value.
If a pin is set to output, say it has a one in the data latch; if it is shorted to ground you will
still read a zero on the pin. This is very useful for building fault tolerant systems, or han-
dling I
If the pin is low and you are not driving it, some other device is trying to take the bus).
Mid-Range MCU devices all have at least one open drain (or open collector) pin. These
pins can only drive a zero or tristate. For most Mid-Range devices this is pin RA4. Open
drain pins must have a pull-up resistor to have a high state. This pin is useful for driving
odd voltage loads. The pull-up can be connected to a voltage (typically less than V
which becomes the high state.
= 5V), you will read a one. However the buffer to the interrupt structure from pin RB0 is
2
C™ bus conflicts. (The I
Code will not toggle any I/O ports, but the oscillator is running. What can I
be doing wrong?
When my program reads a port, I get a different value than what I put in the
port register. What can cause this?
I have a PIC16CXXX with pin RB0 configured as an interrupt input, but am
not getting interrupted. When I change my routine to poll the pin, it reads
the high input and operates fine. What is the problem?
2
C bus is only driven low, and the pin is tristated for a one.
Section 9. I/O Ports
DS31009A-page 9-17
DD
)
9
Related parts for PIC16F874-04E/L
Image
Part Number
Description
Manufacturer
Datasheet
Request
R
![PIC16F874-20/P](/photos/6/61/66192/150-40-dip_tmb.jpg)
Part Number:
Description:
IC MCU FLASH 4KX14 EE 40DIP
Manufacturer:
Microchip Technology
Datasheet:
![PIC16F874-04I/P](/photos/6/61/66192/150-40-dip_tmb.jpg)
Part Number:
Description:
IC MCU FLASH 4KX14 EE 40DIP
Manufacturer:
Microchip Technology
Datasheet:
![PIC16F874-04/L](/photos/6/63/66325/150-44-plcc_tmb.jpg)
Part Number:
Description:
IC MCU FLASH 4KX14 EE 44PLCC
Manufacturer:
Microchip Technology
Datasheet:
![PIC16F874-20I/PT](/photos/6/82/68251/c04-076_pt_tmb.jpg)
Part Number:
Description:
IC MCU FLASH 4KX14 EE 44TQFP
Manufacturer:
Microchip Technology
Datasheet:
![PIC16F874-20I/P](/photos/6/61/66192/150-40-dip_tmb.jpg)
Part Number:
Description:
IC MCU FLASH 4KX14 EE 40DIP
Manufacturer:
Microchip Technology
Datasheet:
![PIC16F874-20/L](/photos/6/63/66325/150-44-plcc_tmb.jpg)
Part Number:
Description:
IC MCU FLASH 4KX14 EE 44PLCC
Manufacturer:
Microchip Technology
Datasheet:
![PIC16F874-04I/PQ](/photos/6/59/65984/150-44-pqfp_tmb.jpg)
Part Number:
Description:
IC,MICROCONTROLLER,8-BIT,PIC CPU,CMOS,QFP,44PIN,PLASTIC
Manufacturer:
Microchip Technology
Datasheet:
![PIC16F874-20I/L](/photos/6/63/66325/150-44-plcc_tmb.jpg)
Part Number:
Description:
IC MCU FLASH 4KX14 EE 44PLCC
Manufacturer:
Microchip Technology
Datasheet:
![PIC16F874-04I/PT](/photos/6/82/68251/c04-076_pt_tmb.jpg)
Part Number:
Description:
IC MCU FLASH 4KX14 EE 44TQFP
Manufacturer:
Microchip Technology
Datasheet:
![PIC16F874-04/PQ](/photos/6/59/65984/150-44-pqfp_tmb.jpg)
Part Number:
Description:
IC MCU FLASH 4KX14 EE 44MQFP
Manufacturer:
Microchip Technology
Datasheet:
![PIC16F874-04/PT](/photos/6/82/68251/c04-076_pt_tmb.jpg)
Part Number:
Description:
IC MCU FLASH 4KX14 EE 44TQFP
Manufacturer:
Microchip Technology
Datasheet:
![PIC16F874-04/P](/photos/6/61/66192/150-40-dip_tmb.jpg)
Part Number:
Description:
IC MCU FLASH 4KX14 EE 40DIP
Manufacturer:
Microchip Technology
Datasheet:
![PIC16F874-20I/PQ](/photos/6/59/65984/150-44-pqfp_tmb.jpg)
Part Number:
Description:
IC MCU FLASH 4KX14 EE 44-MQFP
Manufacturer:
Microchip Technology
Datasheet:
![PIC16F874-10E/P](/photos/6/61/66192/150-40-dip_tmb.jpg)
Part Number:
Description:
IC MCU FLASH 4KX14 EE 40DIP
Manufacturer:
Microchip Technology
Datasheet:
![PIC16F874-10E/L](/photos/6/63/66325/150-44-plcc_tmb.jpg)
Part Number:
Description:
IC MCU FLASH 4KX14 EE 44PLCC
Manufacturer:
Microchip Technology
Datasheet: