You are on page 1of 4

NAME: YASH SRIVASTAV

REG NO: 17BCE1069

EMBEDDED SYSTEM DESIGN LAB -5 AND 6


Write C programs to control LEDs in 8051 micro conroller.
0.if switch is on corresponding LED should glow

CODE:
#include<reg51.h>
#include<stdio.h>
xdata char *ledptr;
xdata char *swtptr;
void delay(){
unsigned int i,j;
for(i=0;i<0x3ff;i++){
for(j=0;j<0xff;j++){
}
}
}

void main(){
ledptr=0xffc0;
swtptr=0xffc1;
while(1){
delay();
*ledptr=*swtptr;
delay();
}
}

1.Eight LEDs be on for some duration and off for same duration.
CODE:
#include<reg51.h>
#include<stdio.h>
xdata char *ledptr;
xdata char *swtptr;

void delay(){

unsigned int i,j;


for(i=0;i<0x3ff;i++){
for(j=0;j<0xff;j++){

}
}
}

void main(){
ledptr=0xffc0;
swtptr=0xffc1;
while(1){
*ledptr=0x00;
delay();
*ledptr=0xff;
delay();
}
}

2.Make two groups of 4 LEDs and make these groups on/off alternatively.
CODE:
#include<reg51.h>
#include<stdio.h>
xdata char *ledptr;
xdata char *swtptr;

void delay(){

unsigned int i,j;


for(i=0;i<0x3ff;i++){
for(j=0;j<0xff;j++){

}
}
}
void main(){

ledptr=0xffc0;
swtptr=0xffc1;

while(1){
*ledptr=0x0f;
delay();
*ledptr=0xf0;
delay();
}
}

3.Make four groups of 2 LEDs. Only one group should be on at one time and sequence must be
followed in a pattern.
CODE:
#include<reg51.h>
#include<stdio.h>
xdata char *ledptr;
xdata char *swtptr;

void delay(){

unsigned int i,j;


for(i=0;i<0x3ff;i++){
for(j=0;j<0xff;j++){

}
}
}
void main(){

ledptr=0xffc0;
swtptr=0xffc1;

while(1){
*ledptr=0xc0;
delay();
*ledptr=0x30;
delay();
*ledptr=0x0c;
delay();
*ledptr=0x03;
delay();
}
}
4.Switch on one LED at a time and repeat it for other 7 LEDs in a sequence.

CODE:
#include<reg51.h>
#include<stdio.h>
xdata char *ledptr;
xdata char *swtptr;

void delay(){

unsigned int i,j;


for(i=0;i<0x3ff;i++){
for(j=0;j<0xff;j++){

}
}
}
void main(){

ledptr=0xffc0;
swtptr=0xffc1;

while(1){
*ledptr=0x01;
delay();
*ledptr=0x02;
delay();
*ledptr=0x04;
delay();
*ledptr=0x08;
delay();

*ledptr=0x10;
delay();
*ledptr=0x20;
delay();
*ledptr=0x40;
delay();
*ledptr=0x80;
delay();
}
}

You might also like