Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use 74HC139: Examples, Pinouts, and Specs

Image of 74HC139
Cirkit Designer LogoDesign with 74HC139 in Cirkit Designer

Introduction

The 74HC139 is a high-speed CMOS dual 2-to-4 line decoder/demultiplexer. It is designed to convert binary inputs into a single active low output, making it an essential component for digital logic circuits. The IC contains two independent decoders, each with two inputs and four outputs, enabling efficient data routing and signal selection. Its compact design and versatility make it ideal for applications in address decoding, memory selection, and data distribution.

Explore Projects Built with 74HC139

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
74HC93-Based LED Counter with Pushbutton Control
Image of 74HC93: A project utilizing 74HC139 in a practical application
This circuit is a 4-bit binary counter using a 74HC93 IC, with a pushbutton to provide the clock input. The counter's outputs drive four red LEDs, which visually represent the binary count.
Cirkit Designer LogoOpen Project in Cirkit Designer
STM32-Controlled LED Display with 74HC595 Shift Register and 12-Bit DAC
Image of Harry Stim Breadboard: A project utilizing 74HC139 in a practical application
This circuit uses a 74HC595 shift register to control multiple LEDs via a common ground configuration, with a microcontroller providing serial data input. It includes decoupling capacitors for stability and a 12-Bit DAC, potentially for analog signal generation or reference voltage application.
Cirkit Designer LogoOpen Project in Cirkit Designer
Teensy 4.0 and MAX7219-Based 7-Segment Display Counter
Image of dispay: A project utilizing 74HC139 in a practical application
This circuit uses a Teensy 4.0 microcontroller to control a MAX7219 LED driver, which in turn drives three 7-segment displays. The microcontroller runs code to display numbers from 0 to 999 on the 7-segment displays, with the SN74AHCT125N buffer providing signal integrity and the necessary capacitors and resistors ensuring stable operation.
Cirkit Designer LogoOpen Project in Cirkit Designer
74HC4017-Based Sequential LED Flasher with Pushbutton Control
Image of mynew: A project utilizing 74HC139 in a practical application
This circuit includes a decade counter (74HC4017) that likely sequences through outputs based on pushbutton inputs. A BC547 transistor is used to drive an LED, indicating one of the counter's states. Diodes and resistors are included for current direction control and limiting, respectively.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with 74HC139

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of 74HC93: A project utilizing 74HC139 in a practical application
74HC93-Based LED Counter with Pushbutton Control
This circuit is a 4-bit binary counter using a 74HC93 IC, with a pushbutton to provide the clock input. The counter's outputs drive four red LEDs, which visually represent the binary count.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Harry Stim Breadboard: A project utilizing 74HC139 in a practical application
STM32-Controlled LED Display with 74HC595 Shift Register and 12-Bit DAC
This circuit uses a 74HC595 shift register to control multiple LEDs via a common ground configuration, with a microcontroller providing serial data input. It includes decoupling capacitors for stability and a 12-Bit DAC, potentially for analog signal generation or reference voltage application.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of dispay: A project utilizing 74HC139 in a practical application
Teensy 4.0 and MAX7219-Based 7-Segment Display Counter
This circuit uses a Teensy 4.0 microcontroller to control a MAX7219 LED driver, which in turn drives three 7-segment displays. The microcontroller runs code to display numbers from 0 to 999 on the 7-segment displays, with the SN74AHCT125N buffer providing signal integrity and the necessary capacitors and resistors ensuring stable operation.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of mynew: A project utilizing 74HC139 in a practical application
74HC4017-Based Sequential LED Flasher with Pushbutton Control
This circuit includes a decade counter (74HC4017) that likely sequences through outputs based on pushbutton inputs. A BC547 transistor is used to drive an LED, indicating one of the counter's states. Diodes and resistors are included for current direction control and limiting, respectively.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications

  • Address decoding in microprocessor systems
  • Memory chip selection
  • Data routing in digital systems
  • Signal demultiplexing in communication circuits

Technical Specifications

Key Technical Details

  • Supply Voltage (Vcc): 2V to 6V
  • Input Voltage (VI): 0V to Vcc
  • Output Voltage (VO): 0V to Vcc
  • Low-Level Output Current (IOL): 8mA (at 4.5V Vcc)
  • High-Level Output Current (IOH): -8mA (at 4.5V Vcc)
  • Propagation Delay: ~15ns at 5V
  • Operating Temperature Range: -40°C to +125°C
  • Package Types: DIP-16, SOIC-16, TSSOP-16

Pin Configuration and Descriptions

The 74HC139 comes in a 16-pin package. Below is the pinout and description:

Pin No. Pin Name Description
1 1G Enable input for decoder 1 (active low)
2 1A Input A for decoder 1
3 1B Input B for decoder 1
4 1Y0 Output Y0 for decoder 1 (active low)
5 1Y1 Output Y1 for decoder 1 (active low)
6 1Y2 Output Y2 for decoder 1 (active low)
7 1Y3 Output Y3 for decoder 1 (active low)
8 GND Ground
9 2Y3 Output Y3 for decoder 2 (active low)
10 2Y2 Output Y2 for decoder 2 (active low)
11 2Y1 Output Y1 for decoder 2 (active low)
12 2Y0 Output Y0 for decoder 2 (active low)
13 2B Input B for decoder 2
14 2A Input A for decoder 2
15 2G Enable input for decoder 2 (active low)
16 Vcc Positive supply voltage

Usage Instructions

How to Use the 74HC139 in a Circuit

  1. Power Supply: Connect the Vcc pin (16) to a positive voltage source (2V to 6V) and the GND pin (8) to ground.
  2. Enable Input: Each decoder has an enable pin (1G for decoder 1 and 2G for decoder 2). These pins must be set to logic LOW to activate the corresponding decoder.
  3. Input Selection: Provide binary inputs to the A and B pins of the desired decoder (1A, 1B for decoder 1; 2A, 2B for decoder 2). The binary combination determines which output (Y0-Y3) is activated.
  4. Output Behavior: The selected output pin will go LOW (active), while all other outputs remain HIGH.

Important Considerations

  • Ensure the enable pin is LOW for the decoder to function. If the enable pin is HIGH, all outputs will remain HIGH regardless of the inputs.
  • Use pull-up or pull-down resistors on unused inputs to prevent floating states.
  • Avoid exceeding the maximum voltage ratings to prevent damage to the IC.
  • Decoupling capacitors (e.g., 0.1µF) are recommended between Vcc and GND to stabilize the power supply.

Example: Connecting 74HC139 to an Arduino UNO

The following example demonstrates how to use the 74HC139 with an Arduino UNO to control LEDs connected to the outputs of decoder 1.

Circuit Setup

  • Connect the 74HC139's Vcc to the Arduino's 5V pin and GND to the Arduino's GND.
  • Connect the 1G pin to Arduino pin 7 (enable control).
  • Connect 1A and 1B to Arduino pins 8 and 9, respectively.
  • Connect LEDs (with current-limiting resistors) to the outputs 1Y0, 1Y1, 1Y2, and 1Y3.

Arduino Code

// Define pins for the 74HC139 decoder
const int enablePin = 7; // Enable pin for decoder 1
const int inputA = 8;    // Input A for decoder 1
const int inputB = 9;    // Input B for decoder 1

void setup() {
  // Set pin modes
  pinMode(enablePin, OUTPUT);
  pinMode(inputA, OUTPUT);
  pinMode(inputB, OUTPUT);

  // Enable the decoder by setting enablePin LOW
  digitalWrite(enablePin, LOW);
}

void loop() {
  // Cycle through all output combinations
  for (int i = 0; i < 4; i++) {
    digitalWrite(inputA, i & 0x01); // Set A to LSB of i
    digitalWrite(inputB, (i >> 1) & 0x01); // Set B to MSB of i
    delay(1000); // Wait 1 second before changing output
  }
}

Troubleshooting and FAQs

Common Issues

  1. All Outputs Remain HIGH:

    • Ensure the enable pin (1G or 2G) is set to LOW.
    • Verify that the power supply is correctly connected to Vcc and GND.
  2. Incorrect Output Selection:

    • Check the binary inputs (A and B) for proper logic levels.
    • Ensure there are no loose connections or floating input pins.
  3. Outputs Not Driving Loads:

    • Verify that the connected load does not exceed the IC's current rating (8mA per output).
    • Use external transistors or drivers for higher current loads.

FAQs

Q: Can I use the 74HC139 with a 3.3V microcontroller?
A: Yes, the 74HC139 operates with supply voltages as low as 2V, making it compatible with 3.3V systems.

Q: What happens if both decoders are enabled simultaneously?
A: Each decoder operates independently, so enabling both will not cause interference. However, ensure that the outputs are not shorted together.

Q: Can the outputs drive LEDs directly?
A: Yes, but ensure the current through each LED does not exceed 8mA. Use appropriate current-limiting resistors.