Driving 7-Segment Displays using a microcontroller

7segmentdisplaymicrocontroller

Before I start out, let me just point out that I'm new to hardware design. In fact, this is just hobby for now, but might turn into something later. Because of this, I don't follow any standards per se, but I like to be as organized and efficient as possible.

I designed a 16-bit microprocessor from the bottom-up, including the architecture and instruction set, as a hobby project. It has been implemented on a Spartan 6 FPGA and is working great. I made a casing for the processor to be used as a panel, which integrates with the DMA capabilities of the design.

One of these is the ability to choose which part of the processor you're currently observing on the data output display. This information about the currently chosen 'entity' is also to be display on a 3-digit 7-segment display, in characters. For example, 'ALU', 'STA' for Stack, 'ADD' for MAR, etc.

This is completely unnecessary, but I'd like to do this anyway, as a visual treat. Since I'm new to circuit design entirely, what I thought of first was to use an array of multiplexers to simply choose the state of the 7-segment displays depending on the input. But this would require some manual IC wiring, which I'm not too keen on doing. I tried to make a PCB, but most of the copper tracks were broken.

What I would like to do is use a microcontroller (something I've never done before) to achieve this. I have never used a microcontroller, and I'm unaware as to which particular one would be useful in the scenario. I'd appreciate it if someone took the time to point me in the right direction.

Ah, and also, the reason I'm not simply using the FPGA to drive these three displays is because I've run out of the 70 GPIOs on the development board.

Best Answer

Regardless of which way you choose to go, you're going to have to share some of those 70 "used-up" I/Os with whatever you're going to use to drive the displays, so I suggest you use four of them, [I/Os] go the simple hardware route, and use a couple of TI 16 channel LED drivers for just long enough to update your displays periodically.

enter image description here

enter image description here