智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1483|回复: 0
打印 上一主题 下一主题

AVR128单片机定时器0问题?

[复制链接]

6

主题

19

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
340
威望
246
贡献
78
兑换币
0
注册时间
2011-7-17
在线时间
8 小时
跳转到指定楼层
1#
发表于 2011-8-14 04:13:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天我调程序,发现我用AVR128单片机定时器0次数很多之后,单片机就会乱走了,或者是定时走的那些程序都没有出来的,这是什么原因?下面是我的一些定时0的的程序:
初始化:
#include<iom128v.h>
#include<macros.h>
#pragma interrupt_handler timer0:17
static uint count0;
void timer0_init(void)
{
TCCR0=0X07;     //1024分频
TCNT0=0XC0;     //每16毫秒中断一次
SREG|=BIT(7);   //开启总中断
TIMSK|=BIT(0);  //开启定时器0溢出中断
count0=0;
}
void timer0()//////一个count0++用时16ms
{
count0++;

}

void main()
{
                 DDRG=0X1B;
         DDRE=0X30;
         DDRC=0X00;//灰度前检测卡
         DDRA=0X00;//灰度后检测卡
         DDRE|=0X00;
         DDRB=0X20;
         PORTB=0X20;
         DDRF=0X00;
         DDRD=0XFF;
         PORTD=0XFF;

                timer0_init();
        while(count0<8)qi_forwarn2(390,380);
        TIMSK &= 0xfe;
        while((PINF&0x20)==0x20)qi_forwarn(293,284);//qi_forwarn是一个向前走的巡线子程序
                PORTG=0X00;
}

其中我的这个;
  timer0_init();
        while(count0<8)qi_forwarn2(390,380);
        TIMSK &= 0xfe;
用的很频繁,会不会是这个问题呢?如果是这样如果多其它的定时器,而不是仅仅用定时器0的话,会不会再次出现问题?
请教各位高手!!!给我解答!!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-27 19:33 , Processed in 0.048816 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表