6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sat Nov 23, 2024 11:17 pm

All times are UTC




Post new topic Reply to topic  [ 7 posts ] 
Author Message
PostPosted: Thu Feb 19, 2015 11:06 am 
Offline

Joined: Mon Jan 07, 2013 2:42 pm
Posts: 576
Location: Just outside Berlin, Germany
I have this admittedly odd fascination with 16-segment LED displays -- not the normal 8-segment, mind you, which I never liked, but the stuff with the cross in the middle like in Back to the Future. Since I am redesigning my Ãœbersquirrel for the 65816 anyway, I thought I'd at least consider putting one or two of them in.

There isn't too much literature on how to drive them, but I'm guessing this is where Garth's "Using the 6522's shift register for tons of output bits" (http://wilsonminesco.com/6502primer/pot ... #22_SR_OUT) comes into play, with two 74AC595s for each LED. This adds up very quickly for more than one character, so I was wondering if it would make more sense to modify straight-shifting n times 16 bits by (say) a 74AC139 2-to-4 selector connected to two I/O port pins, which would allow selecting the character directly?

I'm not sure if this is going to be worth the effort this time around -- we're talking about a lot of hardware (including the resistors) here for what is basically a gimmick. Still, has anybody done this before, or have other suggestions? Thank you!


Top
 Profile  
Reply with quote  
PostPosted: Thu Feb 19, 2015 3:53 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8546
Location: Southern California
How many digits do you want? For the first computer I made (1985), I had 64 segments for the 8 characters of 7-segment-plus-decimal-point LEDs. (See http://6502.org/users/garth/projects.php?project=3 . The LEDs were yellow since Jameco had a sale on them-- $.19/ea IIRC.) I had shift registers and 64 resistors. The wiring was ridiculous. Here's the back of the board (also shown in the 6502 primer, as a reason for wire-wrap):

Image

If I were to do it again, I would probably strobe it, with output pins (either from a VIA or from shift registers that are fed by the VIA's serial port) for the 16 segments, and one more output pin for each character's common-anode or common-cathode pin, and have interrupts timed by the VIA's T1 service it just fast enough that the flicker isn't a problem. Since the segments take turns being on and their normal duty cycle is low, the drive current when any given segment is on will need to be higher. Depending on how many characters you want and what brand of VIA you use or which logic family you use for shift registers, you might need buffers to strengthen the drive. Do make sure that there's a provision for not burning them out if there's a problem during development that stops the strobing and makes a particular set of segments turn on 100% duty cycle. One idea is to have a one-shot timer that resets the shift registers after some number of milliseconds after the last time they were strobed and have the one-shot reset every time the shift registers are strobed, such that in normal operation the one-shot never times out. If there's a problem, the one-shot resets the shift registers to save the LEDs.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
PostPosted: Thu Feb 19, 2015 4:47 pm 
Offline
User avatar

Joined: Mon May 12, 2014 6:18 pm
Posts: 365
Do the two common anodes/cathodes only control one half of the 16 segments? If so and you do want to pulse the segments, you would only need 10 pins to control it (or 9 if there is a handy way to make one anode always the complement of the other). You might end up saving some board space with less shift registers.


Top
 Profile  
Reply with quote  
PostPosted: Thu Feb 19, 2015 5:22 pm 
Offline
User avatar

Joined: Mon Dec 08, 2008 6:32 pm
Posts: 143
Location: Brighton, England
I don't know if it is still available, but the M5450 & M5451 were useful for this sort of thing. These are 40-pin chips that take a serial input and directly drive 34 or 35 segments of LED. They include built-in current limiting so there is no need for external resistors and also include a brightness control input so you can vary the display brilliance if you wish.

_________________
Shift to the left,
Shift to the right,
Mask in, Mask Out,
BYTE! BYTE! BYTE!


Top
 Profile  
Reply with quote  
PostPosted: Fri Feb 20, 2015 4:22 am 
Offline
User avatar

Joined: Mon May 12, 2014 6:18 pm
Posts: 365
I've heard these are good too but never used them: http://www.ti.com/product/tlc5940


Top
 Profile  
Reply with quote  
PostPosted: Fri Feb 20, 2015 12:14 pm 
Offline

Joined: Mon Jan 07, 2013 2:42 pm
Posts: 576
Location: Just outside Berlin, Germany
Thanks people, that helped a lot -- I hadn't considered strobing at all. Also, the TI chips look good -- there is the TLC5911 (http://www.ti.com/product/tlc5911) that looks great as well. Will let you know how this turns out ...


Top
 Profile  
Reply with quote  
PostPosted: Sat Mar 28, 2015 1:31 pm 
Offline

Joined: Mon Jan 07, 2013 2:42 pm
Posts: 576
Location: Just outside Berlin, Germany
FYI, once you embrace the SPI interface there is the MAX6954: The MAX6954 is a compact display driver that interfaces microprocessors to a mix of 7-segment, 14-segment, and 16-segment LED displays through an SPI- or QSPI-compatible 4-wire serial interface. See http://www.maximintegrated.com/en/produ ... X6954.html


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 7 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 53 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: