打印
[AVR单片机]

请教:用ATmega128定时器1控制LED每隔1s闪烁,怎么不对,现象:LED常亮

[复制链接]
2789|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
aaxiaoduan|  楼主 | 2013-8-6 15:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<iom128v.h>
#include<macros.h>
#define uchar unsigned char
#define uint unsigned int

uchar tt;

#pragma interrupt_handler timer1_ovf_isr:15
void timer1_ovf_isr()
{
    tt++;
    TCNT1H=0XCF;  //赋初值定义0.1s
    TCNT1L=0X2B;
    if(tt==20)    //2s时回零
        tt=0;
    if(tt<=10)
        PORTE=0XFF;
    else
        PORTE=0X00;
          
}


void init_timer1()
{
        TCCR1B=0X03;   //64分频
        TIFR=0X01;
        TIMSK=0X04;
        TCNT1H=0XCF;
        TCNT1L=0X2B;
        SREG|=BIT(7);
}


void main()
{
    DDRE=0XFF;
    PORTE=0X00;
    init_timer1();
    while(1);
}

相关帖子

沙发
qin552011373| | 2013-8-6 15:24 | 只看该作者
估计都没进中断  这程序写的太那个了  一句注释都没有的

使用特权

评论回复
板凳
aaxiaoduan|  楼主 | 2013-8-6 15:47 | 只看该作者
qin552011373 发表于 2013-8-6 15:24
估计都没进中断  这程序写的太那个了  一句注释都没有的

这么简单的程序,该注释的都注释了

使用特权

评论回复
地板
qin552011373| | 2013-8-6 15:57 | 只看该作者
aaxiaoduan 发表于 2013-8-6 15:47
这么简单的程序,该注释的都注释了

对  是很简单

使用特权

评论回复
5
gaogao303| | 2013-8-6 16:12 | 只看该作者
一步一步的调,先让它全灭,看LED灭不灭

使用特权

评论回复
6
huangxz| | 2013-8-6 17:14 | 只看该作者
qin552011373 发表于 2013-8-6 15:24
估计都没进中断  这程序写的太那个了  一句注释都没有的

其实程序也够简单了,只是没有icc,没法试啊,呵呵

使用特权

评论回复
7
yfei827| | 2013-8-6 17:29 | 只看该作者

#include<iom16v.h>
#include<macros.h>
#define uchar unsigned char
#define uint unsigned int

uchar tt;

#pragma interrupt_handler timer1_ovf_isr:15
void timer1_ovf_isr()
{
    tt++;
    TCNT1H=0XCF;  //赋初值定义0.1s
    TCNT1L=0X2B;
    if(tt==20)    //2s时回零
        tt=0;
    if(tt<=10)
        PORTC=0XFF;
    else
        PORTC=0X00;
           
}


void init_timer1()
{
        TCCR1B=0X03;   //64分频
        TIFR=0X01;
        TIMSK=0X04;
        TCNT1H=0XCF;
        TCNT1L=0X2B;
        SREG|=BIT(7);
}


void main()
{
    DDRC=0XFF;
    PORTC=0X00;
    init_timer1();
    while(1);




程序验证过。。能按照你的要求运行。。。

使用特权

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

本版积分规则

1

主题

2

帖子

0

粉丝