You are on page 1of 8

//2A

//Write a C program to generate TimeDelay


//Configure timer control register of 8051 and develop a program to generate given
time delay
/* Main.c file generated by New Project wizard
*
* Created: Mon Jan 24 2022
* Processor: 80C51
* Compiler: Keil for 8051
*/

#include<reg51.h>

sbit output = P1^0;


void msdelay();
void main()
{
while(1)
{
output=0;
msdelay();
output=1;
msdelay();
}
}
void msdelay()
{
int i,j;
for(i=0;i<1000;i++);
{
for(j=0;j<1000;j++);
}
}

//2B
//To demonstrate use for general purpose port i.e. Input/output port of two
controllers for data transfer between them
/* Main.c file generated by New Project wizard
*
* Created: Tue Jan 25 2022
* Processor: 80C51
* Compiler: Keil for 8051
*/

#include <reg51.h>

void Delay(void);

void main (void)


{
while(1)
{
P1 = 0xFF;
Delay();
P1 = 0x00;
Delay();
}
}

void Delay(void)
{
int i, j;

for(i=0;i<10;i++)
{
for(j=0;j<10000;j++)
{
}
}
}

//3A
//Simulation of binary counter
#include <reg51.h>
#include <stdio.h>
void msdelay(unsigned int);
void main()
{
// Write your code here
while(1)
{
unsigned int i;
for(i = 0; i < 256; i++)
{
P1 = i;
msdelay(100);
}
}

}
void msdelay(unsigned int v)
{
int i, j;
for(i = 0; i < v; i++)
for(j = 0; j < 1275 ; j++);
}

//3B
//LED Pattern generation
//Write a proggram to interface 8-LEDS at I/O & create different patterns
//Pattern 1
#include<reg51.h>
#include<stdio.h>
void msdelay();
void main()
{
int a;
P1=0x2F;
a=P1;
msdelay();
P2=a;
}
void msdelay()
{
int i,j;
for(i=0;i<700;i++)
for(j=0;j<700;j++)
}

//Pattern 2
#include<reg51.h>
#include<stdio.h>
void msdelay();
void main()
{
int a;
P1=0xF2;
a=P1;
msdelay();
P2=a;
}
void msdelay()
{
int i,j;
for(i=0;i<700;i++)
for(j=0;j<700;j++);
}

//Pattern 3
#include<reg51.h>
#include<stdio.h>
void msdelay();
void main()
{
int a;
P1=0xAC;
a=P1;
msdelay();
P2=a;
}
void msdelay()
{
int i,j;
for(i=0;i<700;i++)
for(j=0;j<700;j++);
}

//4
//Stepper motor interface
#include<reg51.h>
#define Stepper_Port P2
void delay(unsigned int count)
{
int i,j;
for(i=0;i<count;i++)
for(j=0;j<112;j++);
}
int main(void)
{
int i,period;
period=100;
while(1)
{
for(i=0;i<12;i++)
{
Stepper_Port = 0x09;
delay(period);
Stepper_Port = 0x08;
delay(period);
Stepper_Port = 0x0C;
delay(period);
Stepper_Port = 0x04;
delay(period);
Stepper_Port = 0x06;
delay(period);
Stepper_Port = 0x02;
delay(period);
Stepper_Port = 0x03;
delay(period);
Stepper_Port = 0x01;
delay(period);
}
Stepper_Port=0x09;
delay(period);
delay(1000);
for(i=0;i<12;i++)
{
Stepper_Port = 0x09;
delay(period);
Stepper_Port = 0x03;
delay(period);
Stepper_Port = 0x06;
delay(period);
Stepper_Port = 0x0C;
delay(period);
}
Stepper_Port=0x09;
delay(period);
delay(1000);
}
}

//5
//traffic Signal Simulation
#include<reg51.h>
sbit red =P1^0;
sbit yellow=P1^1;
sbit green=P1^2;
void main(void)
{
unsigned int i;
red=yellow=green=0;
while(1)
{
red=1;
for(i=0;i<60000;i++)
for(i=0;i<60000;i++)
red=0;
yellow=1;
for(i=0;i<60000;i++);
yellow=0;
green=1;
for(i=0;i<60000;i++);
for(i=0;i<60000;i++);
green=0;
}
}

//6
//elevator
#include <reg51.h>
#include <stdio.h>

sbit button1 = P3^0;


sbit button2 = P3^1;
sbit button3 = P3^2;
sbit button4 = P3^3;

sbit led1 = P1^0;


sbit led2 = P1^1;
sbit led3 = P1^2;
sbit led4 = P1^3;

//int requested_floor;
int current_floor=1;

void delay();

void main()
{
// Write your code here
led2 = led3 = led4 = 0;
led1=1;
while (1)
{
if(button1 == 0)
{
//requested_floor=1;
if(current_floor == 1)
{
current_floor=1;
led1=1;
led2=led3=led4=0;
}
if(current_floor == 2)
{
led2=0;
delay();
led1=1;
current_floor=1;
}
if(current_floor == 3)
{
led3=0;
delay();
led2=1;
delay();
led2=0;
delay();
led1=1;
current_floor=1;
}
if(current_floor == 4)
{
led4=0;
delay();
led3=1;
delay();
led3=0;
delay();
led2=1;
delay();
led2=0;
delay();
led1=1;
current_floor=1;
}
}
if(button2 == 0)
{
//requested_floor=2;
if(current_floor == 1)
{
led1=0;
delay();
led2=1;
current_floor=2;
}
if(current_floor == 2)
{
current_floor=2;
led1=led3=led4=0;
led2=1;
}
if(current_floor == 3)
{
led3=0;
delay();
led2=1;
current_floor=2;
}
if(current_floor == 4)
{
led4=0;
delay();
led3=1;
delay();
led3=0;
delay();
led2=1;
current_floor=2;
}
}
if(button3 == 0)
{
//requested_floor=3;
if(current_floor == 1)
{
led1=0;
delay();
led2=1;
delay();
led2=0;
delay();
led3=1;
current_floor=3;
}
if(current_floor == 2)
{
led2=0;
delay();
led3=1;
current_floor=3;
}
if(current_floor == 3)
{
current_floor=3;
led1=led2=led4=0;
led3=1;
}
if(current_floor == 4)
{
led4=0;
delay();
led3=1;
current_floor=3;
}
}
if(button4 == 0)
{
//requested_floor=4;
if(current_floor == 1)
{
led1=0;
delay();
led2=1;
delay();
led2=0;
delay();
led3=1;
delay();
led3=0;
delay();
led4=1;
current_floor=4;
}
if(current_floor == 2)
{
led2=0;
delay();
led3=1;
delay();
led3=0;
delay();
led4=1;
current_floor=4;
}
if(current_floor == 3)
{
led3=0;
delay();
led4=1;
current_floor=4;
}
if(current_floor == 4)
{
current_floor=4;
led1=led2=led3=0;
led4=1;
}
}
}
}

void delay()
{
int i, j;
for(i=0;i<300;i++)
for(j=0;j<100;j++);
}

You might also like