2KHZ Frequency Wave Generation Programme:
#include<reg51.h>
sbit OUTPUT=P1^7;
void delay()
{
unsigned int i;
TMOD=TMOD & 0xF0;
TMOD=TMOD | 0x01;
TH0=0xFD;
TL0=0x66;
TR0=1;
while(TF0==0);
TR1=0;
}
void main()
{
while(1)
{
OUTPUT=1;
delay();
OUTPUT=0;
}
}
Lowest Square Wave Frequency Means Highest Time Delay.
Here Our Crystal Or Oscillator Frequency Is 20KHZ.
So Our CP=12/16KHZ=0.75 micro
To Get Maximum Time Delay We Must Have Value Of THX-TLX is 0(zero).
For Mode 1:
Mode 1 is 16bit-Timer.
When We Take Initial Value as a 2^16 Than THX-TLX become 0(zero).
so Initial Value= 2 ^ 16 = 65536
And We Know CP=0.6 micro
So TIME= CP * Initial Value
= 0.75 * 10^-6 * 65536
= 49152 microsecond
Now Frequency=1/TIME
=1/(49152 * 10^-6)
=20.3450 HZ
For Mode 2:
Mode 1 is 8bit-Timer.
When We Take Initial Value as a 2^16 Than THX-TLX become 0(zero).
so Initial Value= 2 ^ 8 = 256
And We Know CP=0.6 micro
So TIME= CP * Initial Value
= 0.75 * 10^-6 * 256
= 192 microsecond
Now Frequency=1/TIME
=1/(192 * 10^-6)
=5.2083 KHZ
#include<reg51.h>
sbit OUTPUT=P1^7;
void delay()
{
unsigned int i;
TMOD=TMOD & 0xF0;
TMOD=TMOD | 0x01;
TH0=0xFD;
TL0=0x66;
TR0=1;
while(TF0==0);
TR1=0;
}
void main()
{
while(1)
{
OUTPUT=1;
delay();
OUTPUT=0;
}
}
Lowest Frequency Generation Explanation:
Lowest Square Wave Frequency Means Highest Time Delay.
Here Our Crystal Or Oscillator Frequency Is 20KHZ.
So Our CP=12/16KHZ=0.75 micro
To Get Maximum Time Delay We Must Have Value Of THX-TLX is 0(zero).
For Mode 1:
Mode 1 is 16bit-Timer.
When We Take Initial Value as a 2^16 Than THX-TLX become 0(zero).
so Initial Value= 2 ^ 16 = 65536
And We Know CP=0.6 micro
So TIME= CP * Initial Value
= 0.75 * 10^-6 * 65536
= 49152 microsecond
Now Frequency=1/TIME
=1/(49152 * 10^-6)
=20.3450 HZ
For Mode 2:
Mode 1 is 8bit-Timer.
When We Take Initial Value as a 2^16 Than THX-TLX become 0(zero).
so Initial Value= 2 ^ 8 = 256
And We Know CP=0.6 micro
So TIME= CP * Initial Value
= 0.75 * 10^-6 * 256
= 192 microsecond
Now Frequency=1/TIME
=1/(192 * 10^-6)
=5.2083 KHZ