打印
[PIC®/AVR®/dsPIC®产品]

【PIC12Fxxx】12fxxx单片机内部rc振荡器精确度?

[复制链接]
2950|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
WT418995874|  楼主 | 2014-5-10 22:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用过pic12f683/675/629等等的12fxxx单片机,系统时钟选用内部rc振荡器,定时器定时误差好大啊,难道是我配置错了吗?
我用定时器产生38k方波信号,定时13us中断取反,但是示波器看波形,误差好大。
但是我定时200us,虽然误差不大,但是还是有误差。

有谁做过呢?或者给点意见我参考参考。。。

谢谢!
沙发
lqyhyxfly| | 2014-5-10 22:53 | 只看该作者
内部RC振荡器不能用来精确定时,要精确定时需要用外接晶振。

使用特权

评论回复
板凳
WT418995874|  楼主 | 2014-5-10 23:16 | 只看该作者
lqyhyxfly 发表于 2014-5-10 22:53
内部RC振荡器不能用来精确定时,要精确定时需要用外接晶振。

:Q不会吧,手册写着精确1%的

使用特权

评论回复
地板
youss| | 2014-5-11 07:07 | 只看该作者
内部振荡,校准寄存器OSCCAL置值了吗?

使用特权

评论回复
5
yewuyi| | 2014-5-11 09:19 | 只看该作者
在正确执行调用校准后,在典型条件可达到1%精度

使用特权

评论回复
6
WT418995874|  楼主 | 2014-5-11 10:23 | 只看该作者
youss 发表于 2014-5-11 07:07
内部振荡,校准寄存器OSCCAL置值了吗?

12f683好像没有这个寄存器
12f675就有

使用特权

评论回复
7
WT418995874|  楼主 | 2014-5-11 10:23 | 只看该作者
yewuyi 发表于 2014-5-11 09:19
在正确执行调用校准后,在典型条件可达到1%精度

我再试试

使用特权

评论回复
8
风之牧| | 2014-5-11 10:47 | 只看该作者
就算不校准应该也不会误差很大的,本身38KHZ的周期是26.31us,你取13us就有一定误差了,再看一个你的中断处理时间,取反指令时间,我估计误差主要在这些地方。200us定时的话因为你的定时时间长了,所以相对的中断和取反指令的时间对方波的频率影响就小了,这就是为啥200us的时候还有误差但是误差小了,如果你继续降低频率相对误差会更小

使用特权

评论回复
9
WT418995874|  楼主 | 2014-5-11 11:34 | 只看该作者
风之牧 发表于 2014-5-11 10:47
就算不校准应该也不会误差很大的,本身38KHZ的周期是26.31us,你取13us就有一定误差了,再看一个你的中断处理 ...

是的。估计是这样,一条指令就至少1us了

使用特权

评论回复
10
WT418995874|  楼主 | 2014-5-11 11:35 | 只看该作者
yewuyi 发表于 2014-5-11 09:19
在正确执行调用校准后,在典型条件可达到1%精度

版主,GPIO的电平变化可不可以设置为下降沿触发就好,上升沿就不触发。

使用特权

评论回复
11
yewuyi| | 2014-5-11 13:00 | 只看该作者
WT418995874 发表于 2014-5-11 11:35
版主,GPIO的电平变化可不可以设置为下降沿触发就好,上升沿就不触发。

自己看芯片手册。


我用的一些型号,印象中应该是可以的,你用的PIC12F,我没查过规格书。

如果不行的话,你可以自己在中断函数中判定一下,例如在中断函数中,如果发现当前是高电平,则直接退出中断函数即可。

使用特权

评论回复
12
WT418995874|  楼主 | 2014-5-11 13:56 | 只看该作者
yewuyi 发表于 2014-5-11 13:00
自己看芯片手册。

谢谢

使用特权

评论回复
13
lx911gt| | 2014-5-11 17:28 | 只看该作者
有个内部的校准寄存器的,我们用12F509校准过后,精度还是可以接受的,12F509手册上标明25度以内的精度为1%,我做过一次破坏性试验,用热风枪吹片子,红外测温温度已经100+了,板子变色了,锡已经开始化了,接插件都变形了,然后测时间依然挺准的,校准一下就好了

使用特权

评论回复
14
WT418995874|  楼主 | 2014-5-11 22:17 | 只看该作者
lx911gt 发表于 2014-5-11 17:28
有个内部的校准寄存器的,我们用12F509校准过后,精度还是可以接受的,12F509手册上标明25度以内的精度为1% ...

嗯,刚看到这个校准寄存器。明天试试能不能校准。

使用特权

评论回复
15
金达| | 2014-5-12 14:48 | 只看该作者
为什么取13us  改成频率的倍数 试试。

使用特权

评论回复
16
WT418995874|  楼主 | 2014-5-12 15:12 | 只看该作者
金达 发表于 2014-5-12 14:48
为什么取13us  改成频率的倍数 试试。

因为是红外发射的。38k

使用特权

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

本版积分规则

18

主题

73

帖子

2

粉丝