我自己写了个程序,
#include<iom16v.h>
#include <macros.h>
#define uchar unsigned char
#define uint unsigned int
#define _purse_r 5
/********延时函数*********/
/*******端口初始化*******/
void port_init()
{
PORTD = 0x08;
DDRD = 0x00;
}
uchar speed,num,count;
/******定时器1初始化函数**********/
void timer1_init()
{
SREG=0x80;
TIMSK=0x04;
TCNT1H = 0xF0;
TCNT1L = 0xBE;
TCCR1A = 0x00;
TCCR1B = 0x05;
}
/*******定时器1定时500ms*******/
void time1_normal(void)
{
TCNT1H = 0xF0;
TCNT1L = 0xBE;
num++;
}
/*********中断初始化**********/
void INT1_init(void)
{
SREG=0x80;
GICR=0x80;
MCUCR=0x08;
}
/*********外部中断1函数*********/
void Extint1(void)
{
count++;
}
void main(void)
{
port_init;
timer1_init;
INT1_init();
while(1)
{
for(num=0;num=10;num++)
{
num=0;
speed=count*12/_purse_r;
count=0;
}
}
}
|