A switch is connected to pin P1.2. Write an 8051 C program to monitor SW and create the following frequencies on pin P1.7:
SW = 0 :- 500 Hz
SW = 1 :- 750 Hz
XLAT=14MHz
#include<reg51.h>
sbit S=P1^2;
sbit OUTPUT=P1^7;
void delay_1(unsigned int T)
{
unsigned int i;
TMOD=TMOD & 0xF0;
TMOD=TMOD | 0x01;
for(i=0;i<T;i++)
{
TH0=0xFC;
TL0=0x18;
TR0=1;
while(TF0==0);
TR0=0;
}
}
void delay_2(unsigned int T)
{
unsigned int i;
TMOD=TMOD & 0xF0;
TMOD=TMOD | 0x02;
TH0=255;
for(i=0;i<T;i++)
{
TR0=1;
while(TF0==0);
TR0=0;
}
}
void main()
{
if(S==0)
{
OUTPUT=1;
delay_1(2);
OUTPUT=0;
}
else
{
OUTPUT=1;
delay_2(1333);
OUTPUT=0;
}
}
SW = 0 :- 500 Hz
SW = 1 :- 750 Hz
XLAT=14MHz
#include<reg51.h>
sbit S=P1^2;
sbit OUTPUT=P1^7;
void delay_1(unsigned int T)
{
unsigned int i;
TMOD=TMOD & 0xF0;
TMOD=TMOD | 0x01;
for(i=0;i<T;i++)
{
TH0=0xFC;
TL0=0x18;
TR0=1;
while(TF0==0);
TR0=0;
}
}
void delay_2(unsigned int T)
{
unsigned int i;
TMOD=TMOD & 0xF0;
TMOD=TMOD | 0x02;
TH0=255;
for(i=0;i<T;i++)
{
TR0=1;
while(TF0==0);
TR0=0;
}
}
void main()
{
if(S==0)
{
OUTPUT=1;
delay_1(2);
OUTPUT=0;
}
else
{
OUTPUT=1;
delay_2(1333);
OUTPUT=0;
}
}
No comments:
Post a Comment