MCU and Mux/Demux CD4067B

Discussion in 'The Projects Forum' started by rgohn1, Apr 23, 2014.

  1. rgohn1

    Thread Starter New Member

    Mar 1, 2013
    2
    0
    Hey everyone,

    I'm looking to find out how to configure the CD4067B Multiplexer/Demultiplexer
    IC as just a demultiplexer. I want to be able to output from one of my Microcontroller's output pins to to 16 different devices. (I will be using a shift register to control the selector pins (address lines) of many different multiplexer IC's and demultiplexer IC's.

    The datasheet: http://www.ti.com/lit/ds/symlink/cd4067b.pdf

    Could anyone point me in the direction of where to find out how to do this?

    Thanks very much,
    rgohn1
     
  2. AnalogKid

    Distinguished Member

    Aug 1, 2013
    4,546
    1,252
    This is an analog mux with no address latch. It will do what you want, but you will have to manage it. Unlike a digital 4 line to 16 line decoder such as a 74154, this part is bidirectional. Also, it doesn't buffer or regenerate the signal going through it. And because the address is not latched, any changes at the address pins instantly affects the output.

    This part usually is driven by five lines out of a uC i/o port, or a 4-bit counter; something that presents nice, clean transitions from one address to another.

    ak
     
  3. rgohn1

    Thread Starter New Member

    Mar 1, 2013
    2
    0
    So it turns out to use the 4067 as a demux as well as a mux, you just connect the COMMON OUT/IN pin (pin1 on the datasheet I posted) to a microcontroller pin capable of reading and writing analog voltages.




    The 4067 can be used as a demultiplexer to write an analog voltage by setting COMMON OUT/IN to any voltage up to a maximum value stated on the datasheet, and by using the corresponding selector pins A,B,C,D to select whichever of the 16 inputs you'd like to write an analog voltage to. A command to write the voltage present on the pin is needed (i.e. analog_write(pin1, 0xFF))

    Additionally, the 4067 can also be used as a multiplexer to read an analog voltage by setting COMMON OUT/IN to 0v, and by using the selector pins A,B,C,D to select whichever of the 16 inputs you'd like to read an analog voltage from. A command to read the voltage present on the pin is needed (i.e. analog_read(pin1))



    Thanks for the help,
    Rob
     
  4. ScottWang

    Moderator

    Aug 23, 2012
    4,858
    767
    The below was what I designed for a detector of 40 pins connector , this a part of it, the CD4051 is the same function with CD4067, but CD4067 is double I/O pins of CD4051.

    [​IMG]
     
Loading...