Electronic circuits > Computers > 7 segment rolling display using PC
7 segment rolling display using PC It is very interesting and convenient to be able to control everything while
sitting at your PC terminal. Here, a simple hardware circuit and software is
used to interface a 7-segment based rolling display. The printer port of a PC
provides a set of points with some acting as input lines and some others as
output lines. Some lines are open collector type which can be used as input
lines.
The circuit given here can be used for interfacing with any type of PC’s
printer port. The 25-pin parallel port connector at the back of a PC is a
combination of three ports. The address varies from 378H-37AH. The 7 lines of
port 378H (pins 2 through 8) are used in this circuit to output the code for
segment display through IC1. The remaining one line of port 378H (pin 9) and
four lines of port 37AH (pins 1, 14, 16, 17) are used to enable the display
digits (one a time) through IC2. The bits D0, D1 and D3 of port 37AH connected
to pins 1, 14 and 17 of ‘D’ connector are inverted by the computer before
application to the pins while data bit D2 is not inverted. Therefore to get a
logic high at any of former three pins, we must send logic 0 output to the
corresponding pin of port 37AH. Another important concept illustrated by the
project is the time division multiplexing. Note that all the five 7-segment
displays share a common data bus. The PC places the 7-segment code for the first
digit/character on the data bus and enables only the first 7-segment display.
After delay of a few milliseconds, the 7-segment code for the digit/character is
replaced by that of the next charter/digit, but this time only second display
digit is enabled. After the display of all characters/digits in this way, the
cycle repeats itself over and over again. Because of this repetition at a fairly
high rate, there is an illusion that all the digits/characters are continuously
being displayed. DISP1 is to be physically placed as the least significant
digit. IC1 (74LS244) is an octal buffer which is primarily used to increase the
driving capability. It has two groups of four buffers with non-inverted
tri-state outputs. The buffer is controlled by two active low enable lines. IC2
(75492) can drive a maximum of six 7-segment displays. (For driving up to seven
common-cathode displays one may use ULN2003 described elsewhere in this
section.) The program for rolling display is given in the listing DISP.C above.
Whatever the message/characters to be displayed (here five characters have been
displayed), these are separated and stored in an array. Then these are decoded.
Decoding software is very simple. Just replace the desired character with the
binary equivalent of the display code. The display code is a byte that has the
appropriate bits turned on. For example, to display character ‘L’, the segments
to be turned on are f, e and d. This is equivalent to 111000 binary or 38 hex.
Please note that only limited characters can be formed using 7-segment display.
Characters such as M, N and K cannot be formed properly
Published on: 2004-08-21 (3879 reads)
[ Back | Home ] |