PIC常见问题14问

发布者:艺泉阁最新更新时间:2016-08-26 来源: eefocus关键字: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编程器. 
  11、PIC单片机型号中,后缀A/B/C分别代表什么?
   PIC单片机型号中,后缀A/B/C表示的是芯片生产的工艺不同.从A到C是工艺不断更新,硅片圆盘(Wafer)的直径变大,线宽变窄,线距变密,在同 一个圆盘上可以制作出更多的芯片,从而降低了生产成本. 从功能角度来看,三者是一样的.当然,新版本的芯片中会把现有版本中存在的一些问题作些修正,功能会得到扩充. 从性能指标上来讲,三者有些差距.一个明显的表现是在电源电压的承受范围.制作线宽越细,所能承受的电压越低.例如,PIC16C57的最高电源电压指标 为6V,而57C的指标为5.5V.绝大多数情况下新版的片子可直接替换旧版.从目前发现的问题来看,主要出在晶体振荡电路部分.原因是新版芯片振荡电路内部的反向放大器的增益要比旧的高出 许多.若晶体选择的不合理,可能会振荡到高次谐波上去.有些客户也提出新版的片子抗干扰的性能不比旧版的片子.其实,我们公布的技术指标在这方面并没有任 何牺牲,只是工艺上的原因,我们留的余量减少了.请大家注意不要认为PIC的片子抗干扰能力强,在电路设计时就一点不考虑应有的抗干扰措施. 
  12、PIC单片机型号的温度级如何识别?
  以16C54-04X / P为例:
  X =没有,商业级,温度范围是0-70℃;
  X= I, 工业级,-40-85℃;
  X = E, 汽车级,-40-125℃;
  例如:PIC16C54C-04/P 商业级 PIC16C54C-04I/P 工业级 PIC16C54C-04E/P 汽车级
  13、PIC单片机的各种中断有没有优先级之分?
   中档PIC单片机的中断入口只有一个,硬件不分优先级,但可用软件查询的方式决定其优先级高低:先查先做,优先级为高.高档的17和18系列,包括即将推出的16位dsPIC,中断有硬件优先级. 
  14、为什么PIC单片机应用中,有时出现上电工作正常,而进入睡眠后唤醒不了?
   对于一个高可靠性的系统设计,晶体的选择非常重要.在振荡回路中,晶体既不能过激励(容易振到高次谐波上),也不能欠激励(不容易起振).尤其在设计带有 睡眠唤醒(往往用低电压以求低功耗)的系统中,若还是随手拿一颗晶体就用,你的系统可能会出问题.这是因为低供电电压使提供给晶体的激励功率减少,造成晶 体起振很慢或根本就不能起振.这一现象在上电复位时并不特别明显,原因时上电时电路有足够的扰动,很容易建立振荡.在睡眠唤醒时,电路的扰动要比上电时小 得多得多,起振变得很不容易.
  评价振荡电路是否工作在最佳点的简单方法时用示波器看OSC2脚上的波形(必须考虑示波器接入电容!)最好的情 形是看到非常干净漂亮的正弦波,没有任何波形畸变,而且要满幅(接近VCC和GND)晶体的选择至少必须考虑:谐振频点,负载电容,激励功率,温度特性, 长期稳定性. 
关键字:PIC  常见问题 引用地址:PIC常见问题14问

上一篇:PIC单片机学习心得
下一篇:PIC16 定时器与晶振计算

推荐阅读最新更新时间:2024-03-16 15:07

PIC196F877A串口通信程序
今天上午完成PIC16F877A与上位机的串口通信程序! 注意:使用MPLAB IDE C语言编程时,自定义头文件要使用 包含不能使用 串口与单片机的连线原理图 串口通信头文件 #ifndef T232_H #define T232_H #include main.h //定义一帧的开始和结束 #define FRAME_BEGIN 0x28//开始帧标志 #define FRAME_END 0x29//结束帧标志 void init_232() ; void send_str(const char *str) ; char get_char() ; void get_string(char *temp)
[单片机]
<font color='red'>PIC</font>196F877A串口通信程序
PIC16F883和TLC5615(DA)数模转化实验,呼吸灯
今天上课做了数模转换的实验。感觉很好玩,在这里写下。 器材:PIC16F883控制芯片、TLC5615、LED灯一个、电阻一个(1K)、PICkit2下载器 实验说明,本实验采用I/O模拟方法实现数模转换,转换结果输出到LED引脚。LED呈现呼吸似的缓慢闪烁。 实验电路图: RC3连接SCLK、RC5连接Din、RC2连接CS。 输入DA的数字从0加到1024(DA为10位),再从1024减到0。中间最亮的时候做了一点儿延时。 LED灯接一个电阻到地,另一端接DA的模拟输出引脚。 实验中比较重要的时序图: 根据这个时序图,我周期性的给引脚的电位置1和置0。 代码如下: #include #define uchar
[单片机]
<font color='red'>PIC</font>16F883和TLC5615(DA)数模转化实验,呼吸灯
PIC单片机UPS电源电路图
PIC单片机UPS电源 PIC单片机(微控制器)常用于生产现场作控制电路。生产现场,若突然断电,有时会使PIC单片机运行数据消失,为此这里给出一种简单实用的PIC单片机UPS电源,如图3所示。 UPS电源又称不间断电源,或后备电源,即电网供电突然停止时,UPS电源会自动给设备需要的部件供电。 图3电路的特点:电网有电时,该电路给PIC单片机提供+5V电源;停电时,由电池(+9V)自动给电路供电,PIC单片机仍有+5V电源;停电时,电路自动进行切换(不用继电器),完成后备供电。 电路工作原理 有交流电时,电源220V经变压器B降压、D1~D4整流、C1滤波。整流后的电压经二极管D5后分成两路,一路通过TR1到I
[单片机]
<font color='red'>PIC</font>单片机UPS电源电路图
三菱PLC梯形图编程的常见问题解答
问题1:如何注意线圈的位置?   线圈与右母线相连,特别是在继电器控制电路移植法编程时,要注意必须通过位置的移动来伸线圈与右母线相连,如图3-41所示。    问题2:程序是如何执行的?   程序的执行顺序是,从上到下,从左到右,如图3-42所示。    问题3:桥式电路如何处理?   如图3-43所示,对于桥式电路,改变双向电流流动的回路,即将没有D时的回路和没有B时的回路并联。    问题4:如何灵活处理双线圈问题?   图3-44是双线圈问题的另一个处理方法:借助于辅助继电器来避免双线圈问题。   
[嵌入式]
学习AVR和PIC单片机心得
一、两种单片机工程文件编译成功的关键是工程文件名和存储目录必须是英文字母,绝对不能是 汉字目录! 否则就会出现编译错误。我就是使用了汉字目录 我的文档 在工程文件编译文件过 程产生错误,百思不得其解,浪费了许多时间。 二、学AVR单片机感觉还是用AVR STUDIO自带的GCC比较爽。一是因为AVR STUDIO 自带(不过 还要自己安装WinAVR);二是因为 WinAVR是自由软件不需要破解;三是现在用起来比以前要爽多 了,以前还要自己编写makefile文件,现在只需在project的configuration中设置一下单片机使用 晶振频率 ,剩下的就交给编译器;四是GCC 函数库比较丰富,拿来直接用省的自己编
[单片机]
Microchip推出全新低成本PIC32MX1/2/5系列32位单片机
最新PIC32MX1/2/5系列专为低成本应用设计,广泛适用于数字音频、蓝牙®、工业连接、USB和通用嵌入式控制等领域。 全球领先的整合单片机、混合信号、模拟器件和闪存专利解决方案的供应商——Microchip Technology Inc.(美国微芯科技公司)近日宣布推出全新低成本、高引脚数的32位PIC32单片机(MCU)系列产品。最新的PIC32MX1/2/5系列MCU结合了Microchip现有PICM32MX1/2与PIC32MX5系列MCU的主要特点,使得设计人员能够通过丰富的外设组合开发各类成本敏感型应用,这类应用往往需要以较低的成本实现复杂的代码和高度的功能集成。 全新PIC32MX1/
[单片机]
PIC单片机C语言延时程序和循环子程序
很多朋友说C中不能精确控制延时时间,不能象汇编那样直观。 其实不然,对延时函数深入了解一下就能设计出一个理想的框价出来。 一般的我们都用 for(x=100;--x;){;}此句等同与x=100;while(--x){;}; 或for(x=0;x 100;x++){;} 来写一个延时函数。 在这里要特别注意:X=100,并不表示只运行100个指令时间就跳出循环。 可以看看编译后的汇编: x=100;while(--x){;} 汇编后: movlw 100 bcf 3,5 bcf 3,6 movwf_delay l2 decfsz _delay goto l2 return 从代码可以看出总的
[单片机]
LM331与PIC16F73单片机的连接与驱动
介绍了一种应用VF转换器LM331芯片组成的AD转换电路,它具有接线简单,价格低廉,转换精度高等特点,而且LM331芯片在转换过程中不需要软件程序驱动,与AD574等需要软件程序控制的AD转换电路相比,使用方便。
[单片机]
LM331与<font color='red'>PIC</font>16F73单片机的连接与驱动
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多精选电路图
换一换 更多 相关热搜器件
更多每日新闻
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved