楠溪江的小鱼 发表于 2012-11-18 14:24:02

新人求助,关于定时器问题

学过AVR单片机有一段时间了,不过对于定时器还是有问题,我用的是atmega128单片机,以下这段程序 是我想 利用定时器来实现让一个发光二极管1秒的闪烁, 当时我用 AVR Studio运行,灯一直是灭的。
#include <avr/io.h>
#include<avr/pgmspace.h>
#include<util/delay.h>
#include <avr/interrupt.h>

/*------宏定义------*/
#define uchar unsigned char
#define uint unsigned int
uchar time_1s_count=0;

void T0_init(void)
{
TCCR0=0X07; //普通模式,OC0不输出,1024分频
TCNT0=0X3E;//100MS中断
TIMSK=0x01;
TIFR=0x01;   
}

void port_init(void)//端口初始化
{
DDRB=0xff;//端口设为输出
PORTB=0Xff;
}

ISR(SIG_OVERFLOW0)   //中断服务程序
{
TCNT0=0X3E;//重新赋值
if(time_1s_count!=100)    //在这里的意思我是想让//定时器定时10MS到1秒中断
{time_1s_count++;}
else
{
PORTB^=(1<<0); //可能是这段有问题
}
time_1s_count=0;
}

int main(void)
{
port_init();//端口设置
T0_init();//定时初始化
time_1s_count=0;
SREG|=0x80;      //开启全局中断
while(1);
}

麻烦大家帮帮忙,谢谢 请问论坛里面有QQ群吗,我想加入 拜托大家了。

yklstudent 发表于 2012-11-18 14:38:43

time_1s_count=0;
这句去掉试试
页: [1]
查看完整版本: 新人求助,关于定时器问题