打印
[AVR单片机]

ATMEGA88定时器问题

[复制链接]
3466|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jjwzd|  楼主 | 2010-6-19 13:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在做个程序,1、要求精确定时一秒,请问定时器定时1S的初始值怎么计算,公式?用定时器T/C0怎么计算初值;2、5位数码管显示1S加一计数,那么扫描时间怎么确定,才能保证显示不闪烁,扫描时间刷新频率多少?具体怎么实现。

相关帖子

沙发
airwill| | 2010-6-19 13:24 | 只看该作者
不知楼主要多高的精度呢

使用特权

评论回复
板凳
wuzhaolie| | 2010-6-19 22:32 | 只看该作者
这个datasheet应该有说明吧,不记得具体的公式了

使用特权

评论回复
地板
lphbkj| | 2010-6-21 22:32 | 只看该作者
你写好后调试一下不就知道了。

使用特权

评论回复
5
设计师甲| | 2010-6-23 12:51 | 只看该作者
软件,labview里的定时器啊

使用特权

评论回复
6
jjwzd|  楼主 | 2010-6-24 12:02 | 只看该作者
有哪位做AVR 的能给出答案呢,精度当然越精确越好了

使用特权

评论回复
7
jjwzd|  楼主 | 2010-6-25 14:23 | 只看该作者
最近在做个程序,1、要求精确定时一秒,请问定时器定时1S的初始值怎么计算,公式?用定时器T/C0怎么计算初值;2、5位数码管显示1S加一计数,那么扫描时间怎么确定,才能保证显示不闪烁,扫描时间刷新频率多少?具体怎么实现。

使用特权

评论回复
8
大碗拉面| | 2010-6-25 14:47 | 只看该作者
1 楼主可以将T0设置为每1ms进入中断一次,然后每进入一次中断程序内部加1,这样加到1000时就相当于1秒了。
而那个1ms怎么计算,告诉楼主一个巧(懒)法,
楼主先大概设一个值,然后每进入一次中断将某个IO口取反,再用示波器观察这个IO口,这时楼主会观察到方波。
楼主剩下该做的就是通过改变定时器T/C0的初值,将方波的高低电平时长变为1ms,这样就搞定了。哈哈。
2 问题2就不是那么好解决了,我就随便说说。
建议你看看马潮老师的书。

使用特权

评论回复
9
NE5532| | 2010-6-27 19:14 | 只看该作者
1 楼主可以将T0设置为每1ms进入中断一次,然后每进入一次中断程序内部加1,这样加到1000时就相当于1秒了。
而那个1ms怎么计算,告诉楼主一个巧(懒)法,
楼主先大概设一个值,然后每进入一次中断将某个IO口取反,再 ...
大碗拉面 发表于 2010-6-25 14:47


只能在精度不高的时候这样做,示波器测时间的精度本来就不高,要高精度要用多位的数字频率计

使用特权

评论回复
10
SHSLZHZ| | 2010-7-2 10:57 | 只看该作者
1# jjwzd
用MEGA88的RTC外接32768晶体,它是最准的了,具体你看看人家的例程就是了....

使用特权

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

本版积分规则

18

主题

56

帖子

1

粉丝