Controlando displays de LED 7-segmentos

Controlling 7-segment LED displays in different ways with an AT90S1200 microcontroller


  • The 74HC595 datasheet.
  • Controlando dos displays:

    Hay muchas posibilidades para conectar displays LEDs de 7 segmentos a un microcontrolador. Directamente o mas económicamente con un registro de desplazamiento como el 74HC595 y displays multiplexados. With a shift register you only need 3 i/o's and you have 8 outputs. Another possibility is the 74LS247 a BCD -> 7-segments driver IC, this takes 4 i/o's. The diagram shows two 7-segments LED displays controlled by only 5 i/o's. Ofcourse you can add more displays. With a minimum of components you're able to control a maximum of displays. The circuit consumes about 20 mA with TDSL-5160 (Vishay) 7-segments LED displays.

    Download: upcounter.hex and upcounter.eep
    Las posibilidades....

    No multiplexado:

    1. uno o dos displays directametne a las i/o's
    2. Un display con un 74LS247
    3. Dos displays con un 74HC595 y dos 74LS247

    Multiplexed:

    1. Dos  displays con un  74LS247 y 2 i/o's
    2. Dos  displays con un  74HC595 y 2 NPN/PNP *
    3. Con un driver especial como por ejemplo el MAX7219



  • The TDSL5160 datasheet.
  • Controlling one display:

    If you look at the diagram, you can immidiatly see that this display isn't multiplexed because the Common Cathode is connected to ground. I made an upcounter, by using the EEPROM of the AVR, this makes the program pretty short. I also did put a so called 'lamp test' piece of code in the routine, easy for testing different kind of Common Cathode LED displays. Simply put the segments data into an EEPROM table, this saves a lot of program lines.

    Download upcount.asm.
    Components:

    1x TDSL5160
    1x AT90S1200-12PI
    1x 7805
    1x 8MHz ceramic resonator
    1x 47uF/16V
    2x 100n multilayer
    1x 100n MKT
    1x 10k
    7x 1k