打印
[AVR单片机]

关于mega16 TO 就是进不了溢出中断是怎么回事

[复制链接]
1785|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
abeitt|  楼主 | 2011-7-25 12:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 abeitt 于 2011-7-25 12:52 编辑

程序如下:#include <avr/io.h>
#include <avr/interrupt.h>

#define uchar unsigned char


//T/C0 中断例程
ISR(TIMER0_OVF_vect) {
TCNT0=0;
PORTB = 0XFE;
}

int main(void)
{

DDRB=0xff;
PORTB=0xff;

TCNT0=0; // T/C0 开始值  
TCCR0=0x04;      //256
  
TIMSK=0X01; //T/C0 中断允许
sei();    //总中断标志置位
// TIFR=0X02;
while(1); }
GCC环境 熔丝位没动过

相关帖子

沙发
john_lee| | 2011-7-25 23:52 | 只看该作者
程序没有问题。你检查一下其它方面,如:程序是否烧写正确?晶振有无问题?测试手段是否正确?等等。

使用特权

评论回复
板凳
abeitt|  楼主 | 2011-7-26 08:08 | 只看该作者
2# john_lee
我用查询的方式,式过了

#include <avr/io.h>
#include <avr/interrupt.h>
#define uchar unsigned char

uchar CONT = 0;
int main(void)
{
DDRB=0xff;
PORTB=0xff;
TCNT0=0; // T/C0 开始值  
TCCR0=0x04;      //256
  
TIMSK=0X01; //T/C0 中断允许
sei();    //总中断标志置位
// TIFR=0X02;
while(1)
     {
      while(!(TIFR&TOV0))
        {
     
            CONT++;
   if( CONT>=100)
    {
     PORTB = 0XFE;
    CONT = 0;
    }else  PORTB = 0XFF;
   TCNT0=0;
  
      TIFR =~(1<<TOV0);
     }
      }
}

灯明显变暗了

使用特权

评论回复
地板
xulei1324| | 2011-7-26 11:52 | 只看该作者
http://www.sshhttp://www.sshttp: ... m/thread-9-1-1.html
hmcu.com/thread-9-1-1.html
mcu.com/thread-9-1-1.html

使用特权

评论回复
5
abeitt|  楼主 | 2011-8-20 08:19 | 只看该作者
单片机坏了,换了一个就好了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

26

帖子

0

粉丝