��Ƭ�C���r���W���R��
1�r�����=1/�����l��M
1�C������=12(51ϵ��12T,��1T�t��1)X�r����� = 12(1)X(1/�����l��M) = 1 us(1/12 us)
1us�C�������}�_��(sh��)=�����l��f/12
���O(sh��)12MHZ��������51��Ƭ�C12Tģʽ������Ҫʹ�ö��r���M��50MS���r���������r�������ڷ�ʽ1;
12M�ľ���ÿ��(s)�ɮa(ch��n)��1M(10^6 us)���C������
50ms����Ҫ50×1000 us × 1us(1�C������)���C������ = 50000
���r���ڷ�ʽ1��������16λӋ��(sh��)�������ֵ��65536(2^16)��Ҳ�������M�����65536��Ӌ��(sh��)
50ms���r������Ҫ50000���C�����ڣ�1���C������=1us,������Ҫ50000��Ӌ��(sh��)����
����Ӌ��(sh��)�����r����������Ҫ�A����䶨�r����ֵ(��ֵ=���r��Ӌ��(sh��)���Ӌ��(sh��)�Δ�(sh��) - ���趨�rӋ��(sh��)�Δ�(sh��))
�������O(sh��)�ö��r����ֵ15536 = 65536 -50000����3CB0H(10�M��15536�D(zhu��n)�Q��16�M�Ɣ�(sh��)3CB0)������TH0=0x3c��TL0=0xb0����λ����TH0��ֵ����λ��TL0��ֵ
�����O(sh��)ʹ��11.0592MHZ�ľ��������l����׃
11.0592M�ľ���ÿ��ɮa(ch��n)��0.9216M���C��������50ms����Ҫ46080���C������
���r���ڷ�ʽ1��������16λӋ��(sh��)�������ֵ��65536���������O(sh��)�ó�ֵ19456 = 65536 - 46080����4C00H
����TH0=0x4c��TL0=0x00��
�ƌ���ʽ1 ��16λ���r��/Ӌ��(sh��)����ֵ�O(sh��)����8λTH0,��TL0�Ĺ�ʽ�飺
TH0=(65536- ����Ӌ��(sh��)�Δ�(sh��))/256 = ��ֵ/256;
TL0=(65536 - ���輼�g(sh��)�Δ�(sh��))%256 = ��ֵ%256;
��ʲô����256������҂���Ӌ�r���ǃɂ�8λ�M�ɵ�����ôҪ����Щ��ֵ�b�M�@�ɂ�8λ��Ӌ��(sh��)�ĵ�8λ�_ʼ����ô��8λ������b256���C�����ڣ���ô256Ӌ�M�˾��ø�8λ���������f��8λ�Mһ�θ�8λ��1����ô��8λ�b��������8λ�͝M�ˎ״Σ��㷨�����ò�ֵ��һ��256ȡ������(sh��)��ʣ�µģ�����߀ʣ��С��256�Δ�(sh��)�ľͷ��ڵ�8λ�����Dz�ֵ ������(sh��)��
void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
flag++;
if(flag==20)//�����r��1��r��(zh��)�л���̖������Z��
{ }
}
---------------------------------------------------------------------------------------
at89s52�������l��12m
��������£�
#include
#include
void timer0_init()
{
TMOD=0x01;//��ʽ1
TL0=0xb0;
TH0=0x3c;
TR0=1;
ET0=1;
}
void timer0_ISR(void) interrupt 1
{
TL0=0xb0;
TH0=0x3c;//50ms�Д�һ��
single++;
if(single==20)
{ kk++;
single=0;
}
}
void main()
{
int kk=0;//Ӌ��(sh��)��
int single=0;
timer0_init();
}

����admin ����ĕr�g��2018-05-18