Sumit Grover
Published © LGPL

Valentine Gift Using Scrolling LED Display

Scrolling LED concept is used here to display different patterns to make the Valentine special.

IntermediateFull instructions provided7 days637
Valentine Gift Using Scrolling LED Display

Things used in this project

Hardware components

DC adaptar (5v 2 amp)
×1
DC socket
×1
P89V51RD2 controller IC
×1
40 pin IC base
×1
16 pin IC base
×3
Crystal 11.0592 Mhz
×1
Capacitor 33 pf
×1
Capacitor 1000 µF
Capacitor 1000 µF
×1
Capacitor 10 µF
Capacitor 10 µF
×1
Tectile Switch (4 pin small)
×1
Resistance 10K ohm
×1
Resistance 100 ohm
×24
Connecting Wires
×10
General Purpose PCB (1 feet by 1/2 feet)
×1
5 mm LED: Red
5 mm LED: Red
×600
transistor BC547
×47
IC 4017
×3

Hand tools and fabrication machines

Soldering iron (generic)
Soldering iron (generic)

Story

Read more

Schematics

Microcontroller part

As the circuit is complex so I made it in parts and in matrix as well as the circuit is just repeating so I have made continuation dots.

Matrix Part

In matrix as the circuit is repeating itself so I have used dots to represent that

Microcontroller Part

As the circuit is complex so I made it in parts and in matrix as well as the circuit is just repeating so I have made continuation dots

Code

scrolling led.c

C/C++
#include<reg51.h>
#include<intrins.h>

sbit all_clock=P3^2;
sbit master1=P3^3;		  
sbit master2=P3^4;
sbit master3=P3^5;

sbit input01=P2^0;
sbit input02=P2^1;
sbit input03=P2^2;
sbit input04=P2^3;
sbit input05=P2^4;
sbit input06=P2^5;
sbit input07=P2^6;
sbit input08=P2^7;
sbit input09=P0^0;
sbit input10=P0^1;
sbit input11=P0^2;
sbit input12=P0^3;
sbit input13=P0^4;
sbit input14=P0^5;
sbit input15=P0^6;
sbit input16=P0^7; 
sbit input17=P1^0; 
sbit input18=P1^1; 
sbit input19=P1^2; 
sbit input20=P1^3; 
sbit input21=P1^4; 
sbit input22=P1^5; 
sbit input23=P1^6; 
sbit input24=P1^7; 

void delay(unsigned int q)
{
unsigned int w,h;
for(w=0;w<q;w++);
for(h=0;h<10;h++);
}										    
		 
void main()
{
unsigned char z;
	while(1)
	{
	for(z=0;z<200;z++)
	{	
		   	 
			all_clock=1;
			delay(1);
			all_clock=0;
			delay(1);	
		   			 
		master1=0;
		delay(1);	 
		
			input01=0;
			input02=0;
			input03=0;
			input04=0;
			input05=0;
			input06=0;
			input07=0;
			input08=0;
			input09=0;
			input10=0;
			input11=0;
			input12=0;
			input13=0;
			input14=0;
			input15=0;
			input16=0;			  
			input17=1; 
			input18=1; 
			input19=0; 
			input20=0; 
			input21=0; 
			input22=0; 
			input23=1; 
			input24=1; 	
		   	 
			all_clock=1;
			delay(1);
			all_clock=0;
			delay(1);	
		   			 
			input01=0;
			input02=0;
			input03=0;
			input04=0;
			input05=0;
			input06=0;
			input07=0;
			input08=0;
			input09=0;
			input10=0;
			input11=0;
			input12=0;
			input13=0;
			input14=0;
			input15=0;
			input16=0;			  
			input17=1; 
			input18=1; 
			input19=0; 
			input20=0; 
			input21=0; 
			input22=0; 
			input23=1; 
			input24=1; 	
		   	 
			all_clock=1;
			delay(1);
			all_clock=0;
			delay(1);	
		   			 
			input01=0;
			input02=0;
			input03=0;
			input04=0;
			input05=0;
			input06=0;
			input07=0;
			input08=0;
			input09=0;
			input10=0;
			input11=0;
			input12=0;
			input13=0;
			input14=0;
			input15=0;
			input16=0;			  
			input17=1; 
			input18=1; 
			input19=1; 
			input20=1; 
			input21=1; 
			input22=1; 
			input23=1; 
			input24=1; 	
		   	 
			all_clock=1;
			delay(1);
			all_clock=0;
			delay(1);	
		   			 
			input01=0;
			input02=0;
			input03=0;
			input04=0;
			input05=0;
			input06=0;
			input07=0;
			input08=0;
			input09=0;
			input10=0;
			input11=0;
			input12=0;
			input13=0;
			input14=0;
			input15=0;
			input16=0;			  
			input17=1; 
			input18=1; 
			input19=1; 
			input20=1; 
			input21=1; 
			input22=1; 
			input23=1; 
			input24=1; 	
		   	 
			all_clock=1;
			delay(1);
			all_clock=0;
			delay(1);	
		   			 
			input01=0;
			input02=0;
			input03=0;
			input04=0;
			input05=0;
			input06=0;
			input07=0;
			input08=0;
			input09=0;
			input10=0;
			input11=0;
			input12=0;
			input13=0;
			input14=0;
			input15=0;
			input16=0;			  
			input17=1; 
			input18=1; 
			input19=1; 
			input20=1; 
			input21=1; 
			input22=1; 
			input23=1; 
			input24=1; 	
		   	 
			all_clock=1;
			delay(1);
			all_clock=0;
			delay(1);	
		   			 
			input01=0;
			input02=0;
			input03=0;
			input04=0;
			input05=0;
			input06=0;
			input07=0;
			input08=0;
			input09=0;
			input10=0;
			input11=0;
			input12=0;
			input13=0;
			input14=0;
			input15=0;
			input16=0;			  
			input17=1; 
			input18=1; 
			input19=0; 
			input20=0; 
			input21=0; 
			input22=0; 
			input23=1; 
			input24=1; 	
		   	 
			all_clock=1;
			delay(1);
			all_clock=0;
			delay(1);	
		   			 
			input01=0;
			input02=0;
			input03=0;
			input04=0;
			input05=0;
			input06=0;
			input07=0;
			input08=0;
			input09=0;
			input10=0;
			input11=0;
			input12=0;
			input13=0;
			input14=0;
			input15=0;
			input16=0;			  
			input17=1; 
			input18=1; 
			input19=0; 
			input20=0; 
			input21=0; 
			input22=0; 
			input23=1; 
			input24=1; 	
		   	 
			all_clock=1;
			delay(1);
			all_clock=0;
			delay(1);	
		   			 
			input01=0;
			input02=0;
			input03=0;
			input04=0;
			input05=0;
			input06=0;
			input07=0;
			input08=0;
			input09=1;
			input10=1;
			input11=1;
			input12=1;
			input13=1;
			input14=1;
			input15=1;
			input16=1;			  
			input17=0; 
			input18=0; 
			input19=0; 
			input20=0; 
			input21=0; 
			input22=0; 
			input23=0; 
			input24=0; 	
		   	 
			all_clock=1;
			delay(1);
			all_clock=0;
			delay(1);	
		   			 
			input01=0;
			input02=0;
			input03=0;
			input04=0;
			input05=0;
			input06=0;
			input07=0;
			input08=0;
			input09=1;
			input10=1;
			input11=1;
			input12=1;
			input13=1;
			input14=1;
			input15=1;
			input16=1;			  
			input17=0; 
			input18=0; 
			input19=0; 
			input20=0; 
			input21=0; 
			input22=0; 
			input23=0; 
			input24=0; 	

			all_clock=1;
			delay(1);

		master1=1;
		delay(1);
		master2=0;
		delay(1);	 	
		   	 
			all_clock=1;
			delay(1);
			all_clock=0;
			delay(1);	
		   			 
			input01=0;
			input02=0;
			input03=0;
			input04=0;
			input05=0;
			input06=0;
			input07=0;
			input08=0;
			input09=1;
			input10=1;
			input11=0;
			input12=0;
			input13=0;
			input14=0;
			input15=0;
			input16=0;			  
			input17=0; 
			input18=0; 
			input19=0; 
			input20=0; 
			input21=0; 
			input22=0; 
			input23=0; 
			input24=0; 	
		   	 
			all_clock=1;
			delay(1);
			all_clock=0;
			delay(1);	
		   			 
			input01=0;
			input02=0;
			input03=0;
			input04=0;
			input05=0;
			input06=0;
			input07=0;
			input08=0;
			input09=1;
			input10=1;
			input11=0;
			input12=0;
			input13=0;
			input14=0;
			input15=0;
			input16=0;			  
			input17=0; 
			input18=0; 
			input19=0; 
			input20=0; 
			input21=0; 
			input22=0; 
			input23=0; 
			input24=0; 	
		   	 
			all_clock=1;
			delay(1);
			all_clock=0;
			delay(1);	
		   			 
			input01=0;
			input02=0;
			input03=0;
			input04=0;
			input05=0;
			input06=0;
			input07=0;
			input08=0;
			input09=1;
			input10=1;
			input11=0;
			input12=0;
			input13=0;
			input14=0;
			input15=0;
			input16=0;			  
			input17=0; 
			input18=0; 
			input19=0; 
			input20=0; 
			input21=0; 
			input22=0; 
			input23=0; 
			input24=0; 	
		   	 
			all_clock=1;
			delay(1);
			all_clock=0;
			delay(1);	
		   			 
			input01=0;
			input02=0;
			input03=0;
			input04=0;
			input05=0;
			input06=0;
			input07=0;
			input08=0;
			input09=1;
			input10=1;
			input11=0;
			input12=0;
			input13=0;
			input14=0;
			input15=0;
			input16=0;			  
			input17=0; 
			input18=0; 
			input19=0; 
			input20=0; 
			input21=0; 
			input22=0; 
			input23=0; 
			input24=0; 	
		   	 
			all_clock=1;
			delay(1);
			all_clock=0;
			delay(1);	
		   			 
			input01=0;
			input02=0;
			input03=0;
			input04=0;
			input05=0;
			input06=0;
			input07=0;
			input08=0;
			input09=1;
			input10=1;
			input11=0;
			input12=0;
			input13=0;
			input14=0;
			input15=0;
			input16=0;			  
			input17=0; 
			input18=0; 
			input19=0; 
			input20=0; 
			input21=0; 
			input22=0; 
			input23=0; 
			input24=0; 	
		   	 
			all_clock=1;
			delay(1);
			all_clock=0;
			delay(1);	
		   			 
			input01=0;
			input02=0;
			input03=0;
			input04=0;
			input05=0;
			input06=0;
			input07=0;
			input08=0;
			input09=1;
			input10=1;
			input11=0;
			input12=0;
			input13=0;
			input14=0;
			input15=0;
			input16=0;			  
			input17=0; 
			input18=0; 
			input19=0; 
			input20=0; 
			input21=0; 
			input22=0; 
			input23=0; 
			input24=0; 	
		   	 
			all_clock=1;
			delay(1);
			all_clock=0;
			delay(1);	
		   			 
			input01=0;
			input02=1;
			input03=1;
			input04=1;
			input05=1;
			input06=1;
			input07=1;
			input08=1;
			input09=0;
			input10=0;
			input11=0;
			input12=0;
			input13=0;
			input14=0;
			input15=0;
			input16=0;			  
			input17=0; 
			input18=0; 
			input19=0; 
			input20=0; 
			input21=0; 
			input22=0; 
			input23=0; 
			input24=0; 	
		   	 
			all_clock=1;
			delay(1);
			all_clock=0;
			delay(1);	
		   			 
			input01=1;
			input02=1;
			input03=1;
			input04=1;
			input05=1;
			input06=1;
			input07=1;
			input08=1;
			input09=0;
			input10=0;
			input11=0;
			input12=0;
			input13=0;
			input14=0;
			input15=0;
			input16=0;			  
			input17=0; 
			input18=0; 
			input19=0; 
			input20=0; 
			input21=0; 
			input22=0; 
			input23=0; 
			input24=0; 	
		   	 
			all_clock=1;
			delay(1);
			all_clock=0;
			delay(1);	
		   			 
			input01=1;
			input02=1;
			input03=0;
			input04=0;
			input05=0;
			input06=0;
			input07=0;
			input08=0;
			input09=0;
			input10=0;
			input11=0;
			input12=0;
			input13=0;
			input14=0;
			input15=0;
			input16=0;			  
			input17=0; 
			input18=0; 
			input19=0; 
			input20=0; 
			input21=0; 
			input22=0; 
			input23=0; 
			input24=0; 	
		   	 			
			all_clock=1;
			delay(1);

		master2=1;
		delay(1);
		master3=0;
		delay(1);	 	
		   	 
			all_clock=1;
			delay(1);
			all_clock=0;
			delay(1);	
		   			 
			input01=1;
			input02=1;
			input03=0;
			input04=0;
			input05=0;
			input06=0;
			input07=0;
			input08=0;
			input09=0;
			input10=0;
			input11=0;
			input12=0;
			input13=0;
			input14=0;
			input15=0;
			input16=0;			  
			input17=0; 
			input18=0; 
			input19=0; 
			input20=0; 
			input21=0; 
			input22=0; 
			input23=0; 
			input24=0; 	
		   	 
			all_clock=1;
			delay(1);
			all_clock=0;
			delay(1);	
		   			 
			input01=1;
			input02=1;
			input03=0;
			input04=0;
			input05=0;
			input06=0;
			input07=0;
			input08=0;
			input09=0;
			input10=0;
			input11=0;
			input12=0;
			input13=0;
			input14=0;
			input15=0;
			input16=0;			  
			input17=0; 
			input18=0; 
			input19=0; 
			input20=0; 
			input21=0; 
			input22=0; 
			input23=0; 
			input24=0; 	
		   	 
			all_clock=1;
			delay(1);
			all_clock=0;
			delay(1);	
		   			 
			input01=1;
			input02=1;
			input03=0;
			input04=0;
			input05=0;
			input06=0;
			input07=0;
			input08=0;
			input09=0;
			input10=0;
			input11=0;
			input12=0;
			input13=0;
			input14=0;
			input15=0;
			input16=0;			  
			input17=0; 
			input18=0; 
			input19=0; 
			input20=0; 
			input21=0; 
			input22=0; 
			input23=0; 
			input24=0; 	
		   	 
			all_clock=1;
			delay(1);
			all_clock=0;
			delay(1);	
		   			 
			input01=1;
			input02=1;
			input03=1;
			input04=1;
			input05=1;
			input06=1;
			input07=1;
			input08=1;
			input09=0;
			input10=0;
			input11=0;
			input12=0;
			input13=0;
			input14=0;
			input15=0;
			input16=0;			  
			input17=0; 
			input18=0; 
			input19=0; 
			input20=0; 
			input21=0; 
			input22=0; 
			input23=0; 
			input24=0; 	
		   	 
			all_clock=1;
			delay(1);
			all_clock=0;
			delay(1);	
		   			 
			input01=0;
			input02=1;
			input03=1;
			input04=1;
			input05=1;
			input06=1;
			input07=1;
			input08=1;
			input09=0;
			input10=0;
			input11=0;
			input12=0;
			input13=0;
			input14=0;
			input15=0;
			input16=0;			  
			input17=0; 
			input18=0; 
			input19=0; 
			input20=0; 
			input21=0; 
			input22=0; 
			input23=0; 
			input24=0; 	
		   	 
			all_clock=1;
			delay(1);	
					
		master3=1;
		delay(1);
	}				 
	for(z=0;z<200;z++)
	{
		master1=0;
		delay(1);	 	
		   	 
			all_clock=1;
			delay(1);
			all_clock=0;
			delay(1);	
		   			 
			input01=0;
			input02=0;
			input03=0;
			input04=0;
			input05=0;
			input06=0;
			input07=0;
			input08=0;
			input09=0;
			input10=0;
			input11=0;
			input12=0;
			input13=0;
			input14=0;
			input15=1;
			input16=1;			  
			input17=0; 
			input18=0; 
			input19=0; 
			input20=0; 
			input21=0; 
			input22=0; 
			input23=0; 
			input24=0; 	
		   	 
			all_clock=1;
			delay(1);
			all_clock=0;
			delay(1);	
		   			 
			input01=0;
			input02=0;
			input03=0;
			input04=0;
			input05=0;
			input06=0;
			input07=0;
			input08=0;
			input09=0;
			input10=0;
			input11=0;
			input12=0;
			input13=0;
			input14=1;
			input15=1;
			input16=1;			  
			input17=1; 
			input18=0; 
			input19=0; 
			input20=0; 
			input21=0; 
			input22=0; 
			input23=0; 
			input24=0; 	
		   	 
			all_clock=1;
			delay(1);
			all_clock=0;
			delay(1);	
		   			 
			input01=0;
			input02=0;
			input03=0;
			input04=0;
			input05=0;
			input06=0;
			input07=0;
			input08=0;
			input09=0;
			input10=0;
			input11=0;
			input12=0;
			input13=1;
			input14=1;
			input15=1;
			input16=1;			  
			input17=1; 
			input18=1; 
			input19=0; 
			input20=0; 
			input21=0; 
			input22=0; 
			input23=0; 
			input24=0; 	
		   	 
			all_clock=1;
			delay(1);
			all_clock=0;
			delay(1);	
		   			 
			input01=0;
			input02=0;
			input03=0;
			input04=0;
			input05=0;
			input06=0;
			input07=0;
			input08=0;
			input09=0;
			input10=0;
			input11=0;
			input12=1;
			input13=1;
			input14=1;
			input15=1;
			input16=1;			  
			input17=1; 
			input18=1; 
			input19=1; 
			input20=0; 
			input21=0; 
			input22=0; 
			input23=0; 
			input24=0; 	
		   	 
			all_clock=1;
			delay(1);
			all_clock=0;
			delay(1);	
		   			 
			input01=0;
			input02=0;
			input03=0;
			input04=0;
			input05=0;
			input06=0;
			input07=0;
			input08=0;
			input09=0;
			input10=0;
			input11=1;
			input12=1;
			input13=1;
			input14=1;
			input15=1;
			input16=1;			  
			input17=1; 
			input18=1; 
			input19=1; 
			input20=1; 
			input21=0; 
			input22=0; 
			input23=0; 
			input24=0; 	
		   	 
			all_clock=1;
			delay(1);
			all_clock=0;
			delay(1);	
		   			 
			input01=0;
			input02=0;
			input03=0;
			input04=0;
			input05=0;
			input06=0;
			input07=0;
			input08=0;
			input09=0;
			input10=1;
			input11=1;
			input12=1;
			input13=1;
			input14=1;
			input15=1;
			input16=1;			  
			input17=1; 
			input18=1; 
			input19=1; 
			input20=1; 
			input21=1; 
			input22=0; 
			input23=0; 
			input24=0; 	
		   	 
			all_clock=1;
			delay(1);
			all_clock=0;
			delay(1);	
		   			 
			input01=0;
			input02=0;
			input03=0;
			input04=0;
			input05=0;
			input06=0;
			input07=0;
			input08=0;
			input09=1;
			input10=1;
			input11=1;
			input12=1;
			input13=1;
			input14=1;
			input15=1;
			input16=1;			  
			input17=1; 
			input18=1; 
			input19=1; 
			input20=1; 
			input21=1; 
			input22=0; 
			input23=0; 
			input24=0; 	
		   	 
			all_clock=1;
			delay(1);
			all_clock=0;
			delay(1);	
		   			 
			input01=0;
			input02=0;
			input03=0;
			input04=0;
			input05=0;
			input06=0;
			input07=0;
			input08=1;
			input09=1;
			input10=1;
			input11=1;
			input12=1;
			input13=1;
			input14=1;
			input15=1;
			input16=1;			  
			input17=1; 
...

This file has been truncated, please download it to see its full contents.

Credits

Sumit Grover

Sumit Grover

8 projects • 24 followers

Comments