AVR��Ƭ�C(j��)�ӕr����
AVR��Ƭ�C(j��)�ӕr����
1.���뼉���ӕr
�ӕr1ms;
void delay_1ms(void)
{
unsigned int i;
for(i=1;i<(unsigned int)(xtal*143-2);i++)
;
}
����ʽ����xtal�龧���l������λ��MHz. AVR �ӕr����
��(d��ng)�����l�ʞ�8M�r���ӕr����(sh��)ܛ������ĽY(ji��)����1000.25μs.��(d��ng)�����l�ʞ�4M�r���ӕr����(sh��)ܛ������Y(ji��)����999.5μs. AVR �ӕr����
�����Ҫ��(zh��n)�_��1ms�ӕr�r�g���t��Ӌ�㹫ʽֻ����������(y��ng)ͨ�^ܛ��������ٴ_��ѭ�h(hu��n)�ĴΔ�(sh��)��ѭ�h(hu��n)��ֵ������ѭ�h(hu��n)��߀����P(gu��n)�]ȫ���Д࣬��ֹ�Д�Ӱ��ӕr����(sh��)���ӕr�r�g��
����ĺ���(sh��)���ԫ@��1ms������(sh��)�����ӕr�r�g��
void delay(unsigned int n)
{
unsigned int i;
for(i=0;i
delay_1ms();
}
�����Ҫ��(zh��n)�_���ӕr�r�g���t��Ӌ�㹫ʽֻ����������(y��ng)ͨ�^ܛ����������ٴ_��ѭ�h(hu��n)�ĴΔ�(sh��)��ѭ�h(hu��n)��ֵ. AVR �ӕr����
2.���ӕr
����4M������ICCAVR��оƬmega16
//����ӕr�r�g131.072ms
void delay(unsigned int i) //�ӕr�r�gT=2*(i+1)us����1=
{
while(--i);
}
�����l�ʞ�8MHz�r1μs�ӕr����(sh��)�� AVR �ӕr����
void delay_1us(void)
{
asm("nop");
}
��(d��ng)ȻҲ����ʹ�ú궨�x�팍�F(xi��n)1μs�ӕr��
#define delay_1us(); asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop")
���С��1μs���ӕr��ֻ��ʹ�ú궨�x���F(xi��n)����(d��ng)Ȼ��Ҳ����ֱ�Ӳ����ھ��R��
asm("nop");
�Z�䌍�F(xi��n)�ӕr��
�ڳ�������Ҫ�뼉���ӕr�r�����������º���(sh��)���F(xi��n)�� AVR �ӕr����
void delay_us(unsigned int n)
{
unsigned int i;
for(i=0;i
delay_1us();
}
�f���������Ҫ��(zh��n)�_���ӕr�r�g���t߀����P(gu��n)�Д�����ͨ�^ܛ����������ٴ_��ѭ�h(hu��n)�ĴΔ�(sh��)��ѭ�h(hu��n)��ֵ.
��(qi��ng)�{(di��o)���ڌ��H��(y��ng)����һ�㲻ֱ��ʹ��ܛ���M(j��n)���L�r�g���ӕr��AVR �ӕr����,���MCUһֱͣ���ӕr����(sh��)��(�Q�����)�������ٸ��������¾�(�����Д���)��ֻ�зdz����εđ�(y��ng)�û��ߺ��ε���ʾ�r����ʹ���ӕr����(sh��)���F(xi��n)�L�r�g�ӕr�����H��(y��ng)���������L�r�g(�^�����΄�(w��)һ��ָ��ʮ�������ϣ����ڏ�(f��)�s�đ�(y��ng)����һ��ָ��������)���ӕr����(y��ng)���÷����ʽ���ӕr��ʽ������ʹ�ö��r���Д�������ӕr��
�U(ku��)չ��x����Ƭ�C(j��)�����ӕr����Ԕ��(x��)��B

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