Interfacing 7segment with LPC2148

Description

Guys today we are going to interface seven segment display with our LPC2148. First we will go into some basic information about seven segment.

It’s so called because it have seven blocks. Each block have a led and different pin to control the block as seen in the figure below

Here I am using a common cathode display which means that the ground pin is common to all the segments and to turn on a segment/led, we have to give high to the respective pin.
 
In case the display is  common anode, which means that Vcc is common to all the segments, and to turn on a segment/led, we have to give low to the respective pin.
Now let’s say I want to display 1, so I can do that by turning on segments ‘b’ and ‘c’ (you can also turn segments ‘f’ and ‘e’ on). To display 5, I have to turn on ‘a’, ‘f’, ‘g’, ‘c’ and ‘d’ and so on.
That’s all you need to know for seven segment display. It’s very simple and used widely.
 
 
Some Insight into the code-
We are going to do only basic operations here.
IODIR0 |= 0xff;     //  setting Port0.0 to Port0.7 as output
IOSET0 |= 0x06;    // to set segments 'b' and 'c' as high to display 1.
                      and so on.

I’ll use timer0 to use delay of 500ms between two corresponding digits.

CODE

 #include <lpc214x.h>
#include "pll.h"
#include "timer0.h"

char display[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7c,0x07,0x7f,0x67};

int main ()
{
PINSEL0 = 0;    // setting pinsel for normal io operations
IODIR0 |= 0xff;    // setting Port0.0 to Port0.6 as output
pll_init ();    // initialising pll
VPBDIV = 0x00;    // setting pclk = 15 MHz
timer0_init (15000);  // initialsing timer at 1ms as base
while (1)
{
for (int i=0;i<10;i++)
{
IOSET0 |= display[i];    // display digits 0 to 9
timer0_delay (500);    // delay of 500 ms
IOCLR0 |= display[i];    // clear pins
}
}
}

Result

100%
100%

DOWNLOAD

You can buy me a coffee sensor 🙂

download the CODE below

,

1
Leave a Reply

avatar
1 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
1 Comment authors
Rohan Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
Rohan
Guest
Rohan

Well the code works perfectly. But can u show how to interface 14 segment display.

Menu