打印

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

[复制链接]
6648|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 | 只看该作者
跟斑竹学的,查询反转方式,查询定时器什么时候发生反转,如果下一个比前一个小,就是反转了

使用特权

评论回复
5
yewuyi| | 2011-9-8 23:47 | 只看该作者
if(time1<time1buf){
                         //定时周期到
                         }
else{time1buf=time1;}

使用特权

评论回复
6
chen3bing| | 2011-9-9 15:33 | 只看该作者
我曾经判断过等于255。

使用特权

评论回复
7
Ryanhsiung| | 2011-9-9 17:22 | 只看该作者
6# chen3bing 不要有等于,这样对于单片机不好,尽量用>=  或者用《=
  你可以改写为>= 200,这样最好,叶工的方法很不错

使用特权

评论回复
8
dykonka| | 2013-3-24 12:26 | 只看该作者
yewuyi 发表于 2011-9-8 23:47
if(time1

当TIMER0溢出后,初始计数值是自动装载还是手动置初始值呢?

使用特权

评论回复
9
yewuyi| | 2013-3-25 08:23 | 只看该作者
dykonka 发表于 2013-3-24 12:26
当TIMER0溢出后,初始计数值是自动装载还是手动置初始值呢?

溢出后会计数值会变成0,查询到从255向0的反转后,可以自己写一条置初始值指令即可。

使用特权

评论回复
10
hehe6352410| | 2013-9-22 16:49 | 只看该作者
yewuyi 发表于 2013-3-25 08:23
溢出后会计数值会变成0,查询到从255向0的反转后,可以自己写一条置初始值指令即可。 ...

定时器不用开启,是一直在运行的吗?先赋初值他就直接递增,然后溢出吗,溢出后再赋初值?能不能给个更完整的程序,求大神解答

使用特权

评论回复
11
XIEYUANBIN| | 2013-9-23 12:54 | 只看该作者
TMR0一直开的,关不掉,TMR0 需要手工赋值,赋值后的两个指令周期内不计数,同时预分频器也被清零(如果用了预分频器的话)。
不要老想着完整程序。例程在MPLAB安装文件夹下面有。或者你的C编译器里有。

使用特权

评论回复
12
hehe6352410| | 2013-9-27 10:22 | 只看该作者
XIEYUANBIN 发表于 2013-9-23 12:54
TMR0一直开的,关不掉,TMR0 需要手工赋值,赋值后的两个指令周期内不计数,同时预分频器也被清零(如果用 ...

嗯,谢谢,我再试试编程

使用特权

评论回复
13
guangyong_xia| | 2014-7-18 14:01 | 只看该作者
yewuyi 发表于 2011-9-8 23:47
if(time1

是个好方法,先学习了。

使用特权

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

本版积分规则

17

主题

257

帖子

1

粉丝