Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Seven segment display

Status
Not open for further replies.

helloiamkat

Newbie level 4
Joined
Apr 24, 2010
Messages
6
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Location
LPC
Activity points
1,330
Hi,

I am supposed to add a two-digit seven segment display in my project. I am using PIC16F877a as my MCU. I only have 8 ports available. Now as I was searching through the net, I think I need a total of 14 ports for the two seven segment displays.

That's my problem, if my understanding is right I just ran out of ports. Any ideas that can solve my problem?

THANKS. :)
 

Hi,
Yes, you can still do it.
Firstly why 14 ports - 8 port lines (or 7 if you don't use DP) not ports for data line and 2 for segment common control, that should be 10 pins (or 9), not 14.
You have 8 pins left - still possible.
Use a 7447 of a similar BCD to 7-segment driver. That requires 4 pins. Now you have 2 for common control left. That's it, done in 6 pins. You'll still have 2 left. This has the advantage that you'd need only 1 external chip.
Which compiler do you use? If you use mikroBASIC or mikroC, I can provide a sample schematic and code for display. You can build on from there.

Hope this helps.
Tahmid.
 
Last edited:

Here is a brief description of one method. Develop external display circuitry, consisting of two BCD to 7-segment drivers and an 8-bit shift register. Use one port to serially output two BCD values in order to the 8-bit shift register, where the first 4 bits represent the first digit (7-segment display), the latter 4-bits to represent the second digit. Then use a second port to either enable the displays or enable the shift register...
 

Assuming you are using LEDs, with just two digits it's simpler to multiplex them. Connect 8 lines to the segments with both LEDs in parallel and use two other lines to sink the current from one digit or the other. You set the segment pattern on the 8 lines and drive the first digit select low, wait a few mS then turn it off by driving it high, repeat for the second digit. That's how almost all multi-digit displays work.

Brian.
 

I use CMOS 4094, 8 bit serial to paralel driver with latches.

In that case you only need 3 mcu pins (CLK, DATA, treshold), and you can connect displays as much as you need.
Input data is similar like i2c (data + clk). When you finished set treshold to 1 and all in data is put output latchs. Carry of one ic connect to input of next one ....

Best regards,

Mr.Cube
 
  • Like
Reactions: qolpa

    qolpa

    Points: 2
    Helpful Answer Positive Rating
Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top