12f508的定时器TMR0怎样使用?

[复制链接]
7928|12
 楼主| maxking 发表于 2009-10-31 20:14 | 显示全部楼层 |阅读模式
查看了数据手册,没有提到有溢出标志。怎样判断定时溢出呢?
XIEYUANBIN 发表于 2009-11-1 07:57 | 显示全部楼层
查询TMR0是否归零.分频器设大点让你的程序转一圈回来来得及看到归零,或者复杂一点,看后一次计数是否比前一次计数小.

评分

参与人数 1威望 +1 收起 理由
maxking + 1

查看全部评分

21cnxin 发表于 2009-11-7 21:47 | 显示全部楼层
判断TMR0的第7位可以

评分

参与人数 1威望 +1 收起 理由
maxking + 1

查看全部评分

钻石眼泪 发表于 2011-9-8 23:10 | 显示全部楼层
跟斑竹学的,查询反转方式,查询定时器什么时候发生反转,如果下一个比前一个小,就是反转了
yewuyi 发表于 2011-9-8 23:47 | 显示全部楼层
if(time1<time1buf){
                         //定时周期到
                         }
else{time1buf=time1;}
chen3bing 发表于 2011-9-9 15:33 | 显示全部楼层
我曾经判断过等于255。
Ryanhsiung 发表于 2011-9-9 17:22 | 显示全部楼层
6# chen3bing 不要有等于,这样对于单片机不好,尽量用>=  或者用《=
  你可以改写为>= 200,这样最好,叶工的方法很不错
dykonka 发表于 2013-3-24 12:26 | 显示全部楼层
yewuyi 发表于 2011-9-8 23:47
if(time1

当TIMER0溢出后,初始计数值是自动装载还是手动置初始值呢?
yewuyi 发表于 2013-3-25 08:23 | 显示全部楼层
dykonka 发表于 2013-3-24 12:26
当TIMER0溢出后,初始计数值是自动装载还是手动置初始值呢?

溢出后会计数值会变成0,查询到从255向0的反转后,可以自己写一条置初始值指令即可。
hehe6352410 发表于 2013-9-22 16:49 | 显示全部楼层
yewuyi 发表于 2013-3-25 08:23
溢出后会计数值会变成0,查询到从255向0的反转后,可以自己写一条置初始值指令即可。 ...

定时器不用开启,是一直在运行的吗?先赋初值他就直接递增,然后溢出吗,溢出后再赋初值?能不能给个更完整的程序,求大神解答
XIEYUANBIN 发表于 2013-9-23 12:54 | 显示全部楼层
TMR0一直开的,关不掉,TMR0 需要手工赋值,赋值后的两个指令周期内不计数,同时预分频器也被清零(如果用了预分频器的话)。
不要老想着完整程序。例程在MPLAB安装文件夹下面有。或者你的C编译器里有。
hehe6352410 发表于 2013-9-27 10:22 | 显示全部楼层
XIEYUANBIN 发表于 2013-9-23 12:54
TMR0一直开的,关不掉,TMR0 需要手工赋值,赋值后的两个指令周期内不计数,同时预分频器也被清零(如果用 ...

嗯,谢谢,我再试试编程
guangyong_xia 发表于 2014-7-18 14:01 | 显示全部楼层
yewuyi 发表于 2011-9-8 23:47
if(time1

是个好方法,先学习了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

257

帖子

1

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