PIC 常见问题
1 、 PIC 单片机 振荡电路中如何选择晶体?
对于一个高可靠性的系统设计,晶体的选择非常重要,尤其设计带有睡眠唤醒 ( 往往用低电压以求低功耗 ) 的系统。这是因为低供电电压使提供给晶体的激励功率减少,造成晶体起振很慢或根本就不能起振。这一现象在上电复位时并不特别明显,原因时上电时电路有足够的扰动,很容易建立振荡。在睡眠唤醒时,电路的扰动要比上电时小得多,起振变得很不容易。在振荡回路中,晶体既不能过激励 ( 容易振到高次谐波上 ) 也不能欠激励 ( 不容易起振 ) 。晶体的选择至少必须考虑:谐振频点,负载电容,激励功率,温度特性,长期稳定性。
2 、如何判断电路中晶振是否被过分驱动?
电阻 RS 常用来防止晶振被过分驱动。过分驱动晶振会渐渐损耗减少晶振的接触电镀,这将引起频率的上升。可用一台示波器检测 OSC 输出脚,如果检测一非常清晰的正弦波,且正弦波的上限值和下限值都符合时钟输入需要,则晶振未被过分驱动;相反,如果正弦波形的波峰,波谷两端被削平,而使波形成为方形,则晶振被过分驱动。这时就需要用电阻 RS 来防止晶振被过分驱动。判断电阻 RS 值大小的最简单的方法就是串联一个 5k 或 10k 的微调电阻,从 0 开始慢慢调高,一直到正弦波不再被削平为止。通过此办法就可以找到最接近的电阻 RS 值。
3 、晶振电路中如何选择电容 C1 , C2 ?
( 1 ):因为每一种晶振都有各自的特性,所以最好按制造厂商所提供的数值选择外部元器件。
( 2 ):在许可范围内, C1,C2 值越低越好。 C 值偏大虽有利于振荡器的稳定,但将会增加起振时间。
( 3 ):应使 C2 值大于 C1 值,这样可使上电时,加快晶振起振。
4 、 PIC 系列 单片机 I/O 脚有什么特点?
PIC 系列 单片机 的任意一条 I/O 管脚都有很强的带负载能力(至少可提供或灌入 25mA 的电流)。因此,在某些场合,这些管脚可作为可控的电源。举个例子,在一些低功耗的设计中,希望一些周围的器件在系统待命时不耗电或尽量少耗电,此时,可考虑这些器件的电源供电由一条 I/O 脚负责提供,在工作时, MCU 在该条管脚上输出高电平 ( 接近 VDD) ,带几个 mA 的负载绝对不成问题;若要进入低功耗模式, MCU 就在该管脚输出低电平 ( 接近 0) ,被控器件没有了电源,也就不会耗电。比如 LCD 显示电路,信号调制电路等都非常适合此类控制。
5 、为何系统在外界磁场和电场的干扰时,不能正常工作 ?
如果在主控电路中没有滤波电路,您用的芯片在 /MCLR 端应接一个能保证滤去该端口上的窄脉冲电路。因 /MCLR 上加的低电平宽度应大于 2US ,系统才能复位,而小于 2US 的低电平将会干扰系统的正常工作。
6 、使用带 A/D 的 PIC 芯片时,怎样才能提高 A/D 转换的精度 ?
( 1 ):保证您的系统的时钟应是适合的。如果您关闭 / 打开 A/D 模块,应等待一段时间,该段时间是采样时间;如果您改变输入通道,同样也需等待这段时间,和最后的 TAD ( TAD 为完成每位 A/D 转换所需的时间)。 TAD 可以在 ADCON0 中( ADCS1 、 ADCS0 )中选择,它应在 2US-6US 之间。如果 TAD 太小,在转换过程结束时,没有完全被转换;如果 TAD 太长,在全部转换结束之前,采样电容上的电压已经下降。对该时间的选择的具体细节请参照有关的数据手册或应用公式。
( 2 ):通常模拟信号的输入端的电阻太高(大于 10Kohms )会使采样电流下降从而影响转换精度。若输入信号不能很快的改变,建议在输入通道口用 0 。 1UF 的电容;它将改变模拟通道的采样电压;由于电流的补给,内在的保持电容为 51.2PF 。
( 3 ):若没有把所有的 A/D 通道用完,最好少用 AN0 端。因它的下一个脚与 OSC1 紧靠在一起,会对 A/D 对转换造成影响。
( 4 ):最后,在系统中,若芯片的频率较低, A/D 转换的时钟首选的是芯片的振荡。这将在很大范围内降低数字转换噪音的影响。同时,在系统中,在 A/D 转换开始后,进入 SLEEP 状态,必须选择片内的 RC 振荡作为 A/D 转换的时钟信号。该方法将提高转换的精度。
7 、 PIC16C7XX 的 A/D 片内 RC 振荡器能否用于计数器?
16C71A/D 转换器片内 RC 振荡器的作用是让 MCU 处于睡眠时 ( 此时主振停振 ) 能有一个时钟源来进行 A/D 转换。此 RC 振荡器因其内部设计的限制不能被其他电路使用。 A/D 转换器内部 RC 振荡器钟频典型值为 250K ,但会随着环境温度,工作电压,产品批号等不同而有相当的变动。 定时器的时钟源可以选择内部的振荡频率,也可以是外部的脉冲输入信号。若你能选择后者,那就能方便地做到 MCU 的主频很高而时钟的溢出率较低。不然,除了用软件来计数分频,好象也没有其它招数。 另一种选择是用其它型号的 MCU ,其内部至少还另有一个 TIMER1 ,因为 TIMER1 可以有独立的一颗晶体作为时钟振荡的基准,你可以方便地选用频率低的晶体来完成你的设计。
8 、为什么 PIC 单片机 应用中,有时出现上电工作正常,而进入睡眠后唤醒不了?
对于一个高可靠性的系统设计,晶体的选择非常重要。在振荡回路中,晶体既不能过激励 ( 容易振到高次谐波上 ) ,也不能欠激励 ( 不容易起振 ) 。尤其在设计带有睡眠唤醒 ( 往往用低电压以求低功耗 ) 的系统中,若还是随手拿一颗晶体就用,你的系统可能会出问题。这是因为低供电电压使提供给晶体的激励功率减少,造成晶体起振很慢或根本就不能起振。这一现象在上电复位时并不特别明显,原因时上电时电路有足够的扰动,很容易建立振荡。在睡眠唤醒时,电路的扰动要比上电时小得多得多,起振变得很不容易。评价振荡电路是否工作在最佳点的简单方法时用示波器看 OSC2 脚上的波形 ( 必须考虑示波器接入电容! ) 最好的情形是看到非常干净漂亮的正弦波,没有任何波形畸变,而且要满幅 ( 接近 VCC 和 GND) 晶体的选择至少必须考虑:谐振频点,负载
电容,激励功率,温度特性,长期稳定性。
9 、 PIC 单片机 应用中晶体选择的注意事项。
对于一个高可靠性的系统设计,晶体的选择非常重要。在振荡回路中,晶体既不能过激励 ( 容易振到高次谐波上 ) 也不能欠激励 ( 不容易起振 ) 。尤其在设计带有睡眠唤醒 ( 往往用低电压以求低功耗 ) 的系统中,若还是随手拿一颗晶体就用,你的系统可能会出问题。这是因为低供电电压使提供给晶体的激励功率减少,造成晶体起振很慢或根本就不能起振。这一现象在上电复位时并不特别明显,原因时上电时电路有足够的扰动,很容易建立振荡。在睡眠唤醒时,电路的扰动要比上电时小得多得多,起振变得很不容易。 有人评价: PIC 单片机 对晶体的要求怎么这么高,用 51 好象从来就没有这么麻烦,手里抓到什么就用什么,也不见有问题呀?且慢,这样比较前提并不一样,同样在睡眠时,有谁见过 51 系列不用复位而仅靠内部或外部事件唤醒吗?若你并不需要这么高级的设计技术, PIC 也大可以让你逮到什么晶体就用什么。 评价振荡电路是否工作在最佳点的简单方法时用示波器看 OSC2 脚上的波形 ( 必须考虑示波器接入电容! ) 最好的情形是看到非常干净漂亮的正弦波,没有任何波形畸变,而且要满幅 ( 接近 VCC 和 GND) 晶体的选择至少必须考虑:谐振频点,负载电容,激励功率,温度特性,长期稳定性。
10 、为何使用 PICSTAR-PLUS 烧写 16CE625-04/P 有时无法把保密位烧成 " 保密 " ?
使用 PICSTAR-PLUS 对芯片编程时,程序代码是放在计算机的 RAM 中,每次写程序时通过串口把数据下载到烧写器中去编程,所以可能会出错。我不怀疑你操作有问题,但是请注意的 PICSTAR-PLUS 是用于开发用途的编程器,不推荐用于规模生产。你能计算出出错概率为 1% ,看来你是用它来作大规模生产了。为保证烧写可靠,推荐你使用高奇公司生产的 PICKIT 编程器。
本文关键字:暂无联系方式PIC单片机,单片机-工控设备 - PIC单片机
上一篇:ICD2_线路图