DELAY GENERATION:
- Delay can generate i two ways
- Software delay
- Hardware delay
software delay:
The delay can generate by using software. The following program is example for software delay.
void delay()
{
int x,y;
for(x=0;x<200;x++)
for(y=0;y<600;y++);
}
hardware delay:
steps for hardware delay:
- Select TIMER 0 or TIMER 1 In Any one of Timer Mode i.e user choice { timer mode 0, timer mode 1 , timer mode 2, timer mode 3}
- SET TMOD Register
- Load Timers { TH0 and TLO or TH1 and TL1 }
- Start Timer i.e TR0 OR TR1 is SET
- Wait for timer flag over flow i.e while(TF0 or TF1==0);
- Clear TF and TR BITS
- Delay completed.
program for hardware delay:-
void delay()
{
TMOD=0X01;
TH0=0X4B;
TL0=0XFD;
TR0=1;
while(TF0==0);
TR0=0;
TF0=0;
}
*******************************************************************
For Example LED program:
LED'S ARE ON AND OFF WITH 1 SECOND DELAY.
#include<at89x51.h> // It is header file for 8051
void delay() // delay function called by main
{
}
TMOD=0X01;
TH0=0X4B;
TL0=0XFD;
TR0=1;
while(TF0==0);
TR0=0;
TF0=0;
}
void main()
{
while(1)
{
P0=0XFF; // led's are connected to P0 so LED'S ON
delay(); // delay for 1 sec
P0=0X00; // LED'S are OFF
delay(); // Delay for 1 sec
}
}
No comments:
Post a Comment