2009年1月18日星期日

AVR speed

#include
#include
#pragma interrupt_handler Icp_timer1:12
unsigned int oldcount;
unsigned int newcount;

void mcu_init(void)
{
DDRD=0X3F;
//PORTD=0X00;
TIMSK=0X08;
TCCR1A=0X00;
TCCR1B=0XC2;
ICR1=0;
TCNT1=0;
}
void Icp_timer1(void)
{
newcount=ICR1;
ICR1=0;
TCNT1=0;
TCCR1B=0XC2;
}
void main()
{
unsigned long int p;
DDRC=0XFF;
mcu_init();
SREG|=0X80;
while(1)//for(;;)
{
if ((newcount&0XFFF8)!=(oldcount&0XFFF8))
{
oldcount=newcount;
}
if (oldcount>10) PORTC=0XFF;
else
PORTC=0X00;
}
}

没有评论:

发表评论