求助:PIC12F200时钟频率问题

[复制链接]
1600|4
 楼主| duanbixing 发表于 2016-6-27 15:37 | 显示全部楼层 |阅读模式
我最近一个小项目需要用到PIC12F200,这个芯片内部晶振手册上说精度1%,4MHZ,但是我在实际使用的时候发现,调用库里的__delay_us(10),实际的延时大概在12-13us,并不精确,而且数值越大所差的时间就越多,100us的定时实际上都120多us了。然后我也寻找解决方法,有的说需要写时钟校验值,那个值我找了一下,用烧写器读取芯片,在0XFF处看到一个值是C28,我就在每次烧写的时候都把这个位置的值手动改成C28,但是没效果。我又在程序开始的地方加上asm("MOVWF 0x05h");但是也没啥用,我用这个单片机主要是进行一个无线软解码的工作,所以对定时的要求严格一些。请问有解决的方法吗?还希望懂的人指点一下
JY-DX-JY 发表于 2016-6-28 17:53 | 显示全部楼层
用外部晶振
michaellengleng 发表于 2016-6-29 15:45 | 显示全部楼层
芯片有么有问题 这个很不是很复杂的东西
zhanzr21 发表于 2016-7-4 18:05 | 显示全部楼层
__delay_us(10)這種函數 永遠不可能準確, 這是軟件結構決定了的, 並非內部晶體的誤差
看你的需求需要精確的定時, 這樣的話 只能寫定時器中斷來達到這精度
NE5532 发表于 2016-7-5 16:00 | 显示全部楼层
Delay这种函数运行时间本来就不是线性的,你想看时钟频率,去找配置字里有没有振荡输出的配置位,输出来直接测。另外1%是有条件的,温度和电压,任何一个条件不满足就不是1%了,超过这个精度要求的,用晶振。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

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