我的AVR程序 用的计时器1,,发现他根本没法计时,,不知道哪里配置错了,,希望朋友们能帮忙解决一下,,谢谢,,或者给我一个定时器1的正确程序,,在此感谢。。。#include<iom16v.h>
#include<macros.h>
#pragma interrupt_handler jishi:9
int num;
void delay(int z)
{
int x,y;
for(x=0;x<z;x++)
for(y=1141;y>0;y--);
}
void Timer1_Init(void)
{
TCCR1B|=BIT(2);
TCNT1H=0X85; //赋初值,定时器1s
TCNT1L=0XED;
TIMSK|=BIT(2);
SREG|=BIT(7);
}
void jishi()
{
num++;
TCNT1H=0X85;
TCNT1L=0XED;
}
void Timer1_Stop(void)
{
TIMSK &= ~BIT(2); //关闭定时器中断
}
void main()
{
DDRA=0xff;
Timer1_Init();
for( ; ;)
{
PORTA=0xff;
delay(1);
if(num==6)
{
PORTA=0;
num=0;
delay(1000);
}
}
} |