[AVR单片机] 关于M128的T0定时器

[复制链接]
2166|1
 楼主| yzgln 发表于 2008-11-21 11:04 | 显示全部楼层 |阅读模式
我在使用M128的T0定时器时,遇到一个问题,下面是我的程序,请高手看看有什么问题,ldi r16,0x01        ;设置T0
out timsk,r16        ;允许T0溢出中断
ldi r16,0b00000111    ;
out tccr0,r16        ;预分频CLK/1024
ldi r16,0x06        ;预T0计数寄器为6
out tcnt0,r16        ;T0中断一次为250ms
sei                 ;开全局中断    
.
.
.中断服务程序
time_t0:
in temp_int,sreg
push temp_int
ldi temp_int,0x06
out tcnt0,temp_int
inc timet01        ;0.5s计时加1
inc timet02        ;1s计时加1
pop temp_int
out sreg,temp_int
reti
我用这个程序执行后,这个定时器刚开始时还能运行,但是上电后要过一阵子才能工作,有时等的时间长,有等的时间短,可过了一天我再操作时,这个定时器不工作了.不知是怎么了?
盼复!   谢谢
avrvi 发表于 2008-11-21 23:13 | 显示全部楼层

啊 汇编的

是不是硬件有问题呢? 同一个程序 不应该有时候等的长 有时候等的短。

如果用C语言,倒是可以帮上忙了。
相关链接:http://shop.avrvi.com
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

13

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部