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. :)
 

Tahmid

Advanced Member level 5
Joined
Jun 17, 2008
Messages
4,758
Helped
1,791
Reputation
3,574
Reaction score
1,651
Trophy points
1,393
Location
Silicon Valley, California, USA (from Dhaka, Bangl
Activity points
30,543
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:

djsfantasi

Advanced Member level 4
Joined
Mar 14, 2010
Messages
107
Helped
20
Reputation
40
Reaction score
19
Trophy points
1,308
Location
Boston MA
Activity points
1,931
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...
 

betwixt

Super Moderator
Staff member
Joined
Jul 4, 2009
Messages
15,131
Helped
4,936
Reputation
9,893
Reaction score
4,744
Trophy points
1,393
Location
Aberdyfi, West Wales, UK
Activity points
128,470
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.
 

mrcube_ns

Advanced Member level 1
Joined
Apr 10, 2002
Messages
452
Helped
48
Reputation
96
Reaction score
34
Trophy points
1,308
Location
Europe
Activity points
3,814
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

Top