[PIC®/AVR®/dsPIC®产品] 【PIC12Fxxx】12fxxx单片机内部rc振荡器精确度?

[复制链接]
3469|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置值了吗?
yewuyi 发表于 2014-5-11 09:19 | 显示全部楼层
在正确执行调用校准后,在典型条件可达到1%精度
 楼主| WT418995874 发表于 2014-5-11 10:23 | 显示全部楼层
youss 发表于 2014-5-11 07:07
内部振荡,校准寄存器OSCCAL置值了吗?

12f683好像没有这个寄存器
12f675就有
 楼主| WT418995874 发表于 2014-5-11 10:23 | 显示全部楼层
yewuyi 发表于 2014-5-11 09:19
在正确执行调用校准后,在典型条件可达到1%精度

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

是的。估计是这样,一条指令就至少1us了
 楼主| WT418995874 发表于 2014-5-11 11:35 | 显示全部楼层
yewuyi 发表于 2014-5-11 09:19
在正确执行调用校准后,在典型条件可达到1%精度

版主,GPIO的电平变化可不可以设置为下降沿触发就好,上升沿就不触发。
yewuyi 发表于 2014-5-11 13:00 | 显示全部楼层
WT418995874 发表于 2014-5-11 11:35
版主,GPIO的电平变化可不可以设置为下降沿触发就好,上升沿就不触发。

自己看芯片手册。


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

如果不行的话,你可以自己在中断函数中判定一下,例如在中断函数中,如果发现当前是高电平,则直接退出中断函数即可。
 楼主| WT418995874 发表于 2014-5-11 13:56 | 显示全部楼层
yewuyi 发表于 2014-5-11 13:00
自己看芯片手册。

谢谢
lx911gt 发表于 2014-5-11 17:28 | 显示全部楼层
有个内部的校准寄存器的,我们用12F509校准过后,精度还是可以接受的,12F509手册上标明25度以内的精度为1%,我做过一次破坏性试验,用热风枪吹片子,红外测温温度已经100+了,板子变色了,锡已经开始化了,接插件都变形了,然后测时间依然挺准的,校准一下就好了
 楼主| WT418995874 发表于 2014-5-11 22:17 | 显示全部楼层
lx911gt 发表于 2014-5-11 17:28
有个内部的校准寄存器的,我们用12F509校准过后,精度还是可以接受的,12F509手册上标明25度以内的精度为1% ...

嗯,刚看到这个校准寄存器。明天试试能不能校准。
金达 发表于 2014-5-12 14:48 | 显示全部楼层
为什么取13us  改成频率的倍数 试试。
 楼主| WT418995874 发表于 2014-5-12 15:12 | 显示全部楼层
金达 发表于 2014-5-12 14:48
为什么取13us  改成频率的倍数 试试。

因为是红外发射的。38k
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

78

帖子

2

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