| 我自己写了个程序, #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;
 }
 }
 }
 |