PIC振荡器部分错误问题解决方法
问1: 上电后通过示波器观察 OSC2 引脚,没有时钟信号。这是什么原因?答1:
1. 运行了SLEEP 指令,却没有通过唤醒源 (如 WDT、 MCLR 或中断)唤醒器件。检测是
否代码将器件置于休眠状态而没有提供唤醒。 可能的话,为MCLR 引脚输入一个低电平脉
冲来唤醒器件。上电时将MCLR 引脚保持低电平将使晶体振荡器有更多的时间起振,但
MCLR 引脚变为高电平之前,程序计数器不会计数。
2. 为设计的工作频率选择了错误的时钟模式。对于一个空白器件,默认的振荡器模式为
EXTRC (外部RC)。 大部分器件的时钟均被选择为默认的 RC 模式,这种模式在外接晶
体或谐振器时,是不能起振的。 检查时钟模式是否被正确设置。
3. 没有按照正常顺序上电。如果一个CMOS 电路通过某个I/O 引脚先于上电过程而上电,就
可能发生问题(硬件闭锁,异常启动等)。发生欠压复位、启动时的电源线干扰、 VDD 电
压的上升速率过慢等均可能引发问题。试着在器件上电时,断开 I/O 引脚与外部器件的连
接,并使用一个已知的性能良好且电压上升速率快的电源。这个问题并没有所说的那样严
重, 但是有可能存在。关于欠压和上电顺序,请参考器件数据手册中关于上电的介绍。
4. 电容 C1 、C2 与晶体的连接不正确或者电容的容量有误。请确保所有的硬件连接都是正确
的。按器件数据手册上提供的C1、C2 值连接,振荡器一般均可运行,只是对于你的具体
设计,它们可能不是最佳值。
问 2: PICmicro 单片机已运行,但是工作频率比晶体谐振频率高很多。
答 2:
振荡器电路的增益太高。请参阅2.3“晶体振荡器/ 陶瓷谐振器” ,帮助您正确选择C2(可能要
选得大一些)、Rs(可能要接此电阻)和时钟模式(可能选错了时钟模式)。这种情况尤其可能
发生于低频晶体,如常用的32.768 kHz 晶体。
问 3: 设计的系统运行良好,只是频率稍有偏移,应该如何调整它?
答 3:
改变C1 的值可以影响振荡器的频率。如果使用串联谐振晶体,其谐振频率与并联同一频率的谐
振晶体不同。
问 4: 电路板工作良好,然而有时突然停止工作或者计时丢失。
答 4:
仔细检查你的程序,是否是程序原因引起计时丢失。此外,还有可能是因为振荡器的输出幅度不
够高而不能可靠地触发振荡输入。
问 5: 我使用的是带内部RC 振荡器的器件,不小心擦除了校准值。我该怎么办?
答 5:
如果对你来说,器件振荡频率不是太重要,你可继续使用它。
如果器件频率的确很关键,你可以买一片新的窗口型器件,或者按2.5.1 “ 时钟输出” 中所述的方
法恢复校准值。
页:
[1]