[AVR单片机] 定时器,外部中断,测速

[复制链接]
1386|5
 楼主| 蹦擦蹦擦 发表于 2016-5-11 15:12 | 显示全部楼层 |阅读模式
手里面有一个atmega16的开发板,想用定时器定时,外部中断计算脉冲的个数,达到测速的目的。。哪位大神有这方面的程序??
 楼主| 蹦擦蹦擦 发表于 2016-5-11 15:42 | 显示全部楼层
我自己写了个程序,
#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;
  }
}
}
 楼主| 蹦擦蹦擦 发表于 2016-5-11 15:42 | 显示全部楼层
请高手看一下有问题没
xiang1029 发表于 2016-6-13 10:09 | 显示全部楼层
求解释,看不懂
xiang1029 发表于 2016-6-13 10:10 | 显示全部楼层
广州哪里有avr专门的培训机构,想去学习。
xiang1029 发表于 2016-6-13 10:11 | 显示全部楼层
楼主,你可以实现程序的目的吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

26

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部