历史上的今天
返回首页

历史上的今天

今天是:2025年02月05日(星期三)

正在发生

2020年02月05日 | pic 单片机应用问答14篇

2020-02-05 来源:eefocus

1、PIC单片机振荡电路中如何选择晶体

对于一个高可靠性的系统设计,晶体的选择非常重要。尤其设计带有睡眠唤醒(往往用低电压以求低功耗)的系统。这是因为低供电电压使提供给晶体的激励功率减少,造成晶体起振很慢或根本就不能起振。这一现象在上电复位时并不特别明显,原因是上电时电路有足够的扰动很容易建立振荡;在睡眠唤醒时,电路的扰动要比上电时小得多,起振变得很不容易。在振荡回路中晶体既不能过激励(容易振到高次谐波上)也不能欠激励(不容易起振)。晶体的选择至少必须考虑谐振频点、负载电容、激励功、率温度特性、长期稳定性


2、如何判断电路中晶振是否被过分驱动?

电阻RS常用来防止晶振被过分驱动。过分驱动晶振会渐渐损耗减少晶振的接触电镀,这将引起频率的上升。可用一台示波器检测OSC输出脚,如果检测一非常清晰的正弦波且正弦波的上限值和下限值都符合时钟输入需要,则晶振未被过分驱动;相反如果正弦波形的波峰波谷两端被削平而使波形成为方形则晶振被过分驱动。这时就需要用电阻RS来防止晶振被过分驱动。判断电阻RS值大小的最简单的方法就是串联一个5k或10k的微调电阻从0开始慢慢调高一直到正弦波不再被削平为止通过此办法就可以找到最接近的电阻RS值。


3、晶振电路中如何选择电容C1C2

1因为每一种晶振都有各自的特性所以最好按制造厂商所提供的数值选择外部元器件。


2在许可范围内C1C2值越低越好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模块应等待一段时间该段时间是采样时间如果您改变输入通道同样也需等待这段时间和最后的TADTAD为完成每位A/D转换所需的时间TAD可以在ADCON0中ADCS1ADCS0中选择它应在2US-6US之间如果TAD太小在转换过程结束时没有完全被转换如果TAD太长在全部转换结束之前采样电容上的电压已经下降对该时间的选择的具体细节请参照有关的数据手册或应用公式。


2通常模拟信号的输入端的电阻太高大于10Kohms会使采样电流下降从而影响转换精度若输入信号不能很快的改变建议在输入通道口用01UF的电容它将改变模拟通道的采样电压由于电流的补给内在的保持电容为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、为何使用PICSTAR-PLUS烧写16CE625-04/P有时无法把保密位烧成"保密"

使用PICSTAR-PLUS对芯片编程时程序代码是放在计算机的RAM中每次写程序时通过串口把数据下载到烧写器中去编程所以可能会出错我不怀疑你操作有问题但是请注意的PICSTAR-PLUS是用于开发用途的编程器不推荐用于规模生产你能计算出出错概率为1%看来你是用它来作大规模生产了为保证烧写可靠推荐你使用高奇公司生产的PICKIT编程器。


9、为什么PIC单片机应用中有时出现上电工作正常而进入睡眠后唤醒不了

对于一个高可靠性的系统设计晶体的选择非常重要在振荡回路中晶体既不能过激励容易振到高次谐波上也不能欠激励不容易起振尤其在设计带有睡眠唤醒(往往用低电压以求低功耗)的系统中若还是随手拿一颗晶体就用你的系统可能会出问题这是因为低供电电压使提供给晶体的激励功率减少造成晶体起振很慢或根本就不能起振这一现象在上电复位时并不特别明显原因时上电时电路有足够的扰动很容易建立振荡在睡眠唤醒时电路的扰动要比上电时小得多得多起振变得很不容易评价振荡电路是否工作在最佳点的简单方法时用示波器看OSC2脚上的波形必须考虑示波器接入电容最好的情形是看到非常干净漂亮的正弦波没有任何波形畸变而且要满幅接近VCC和GND晶体的选择至少必须考虑谐振频点负载电容激励功率温度特性长期稳定性。


10、PIC单片机应用中晶体选择的注意事项

对于一个高可靠性的系统设计,晶体的选择非常重要。在振荡回路中,晶体既不能过激励(容易振到高次谐波上)也不能欠激励(不容易起振)尤其在设计带有睡眠唤醒往往用低电压以求低功耗的系统中若还是随手拿一颗晶体就用你的系统可能会出问题这是因为低供电电压使提供给晶体的激励功率减少造成晶体起振很慢或根本就不能起振这一现象在上电复位时并不特别明显原因时上电时电路有足够的扰动很容易建立振荡在睡眠唤醒时电路的扰动要比上电时小得多得多起振变得很不容易有人评价PIC单片机对晶体的要求怎么这么高用51好象从来就没有这么麻烦手里抓到什么就用


什么也不见有问题呀且慢这样比较前提并不一样同样在睡眠时有谁见过51系列不用复位而仅靠内部或外部事件唤醒吗若你并不需要这么高级的设计技术PIC也大可以让你逮到什么晶体就用什么评价振荡电路是否工作在最佳点的简单方法时用示波器看OSC2脚上的波形(必须考虑示波器接入电容)最好的情形是看到非常干净漂亮的正弦波没有任何波形畸变而且要满幅接近VCC和GND)晶体的选择至少必须考虑谐振频点负载电容激励功率温度特性长期稳定性。


11、为什么PIC单片机应用中有时出现上电工作正常而进入睡眠后唤醒不了

对于一个高可靠性的系统设计晶体的选择非常重要在振荡回路中晶体既不能过激励容易振到高次谐波上)也不能欠激励不容易起振尤其在设计带有睡眠唤醒往往用低电压以求低功耗的系统中若还是随手拿一颗晶体就用你的系统可能会出问题这是因为低供电电压使提供给晶体的激励功率减少造成晶体起振很慢或根本就不能起振这一现象在上电复位时并不特别明显原因时上电时电路有足够的扰动很容易建立振荡在睡眠唤醒时电路的扰动要比上电时小得多得多起振变得很不容易评价振荡电路是否工作在最佳点的简单方法时用示波器看OSC2脚上的波形必须考虑示波器接入电容)最好的情形是看到非常干净漂亮的正弦波没有任何波形畸变而且要满幅接近VCC和GND晶体的选择至少必须考虑谐振频点负载电容激励功率。


温度特性长期稳定性。


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单片机型号中后缀A/B/C分别代表什么

PIC单片机型号中后缀A/B/C表示的是芯片生产的工艺不同从A到C是工艺不断更新硅片圆盘Wafer的直径变大线宽变窄线距变密在同一个圆盘上可以制作出更多的芯片从而降低了生产成本从功能角度来看三者是一样的当然新版本的芯片中会把现有版本中存在的一些问题作些修正功能会得到扩充从性能指标上来讲三者有些差距一个明显的表现是在电源电压的承受范围制作线宽越细所能承受的电压越低例如PIC16C57的最高电源电压指标为6V而57C的指标为5.5V绝大多数情况下新版的片子可直接替换旧版从目前发现的问题来看主要出在晶体振荡电路部分原因是新版芯片振荡电路内部的反向放大器的增益要比旧的高出许多若晶体选择的不合理可能会振荡到高次谐波上去有些客户也提出新版的片子抗干扰的性能不比旧版的片子其实我们公布的技术指标在这方面并没有任何牺牲只是工艺上的原因我们留的余量减少了请大家注意不要认为PIC的片子抗干扰能力强在电路设计时就一点不考虑应有的抗干扰措施。

推荐阅读

史海拾趣

Compound Photonics公司的发展小趣事

Compound Photonics公司成立于2007年,其初期发展并不顺利。然而,一个关键的转折点出现在公司收购Syntax-Brillian的专利之后。Syntax-Brillian是一家在微显示领域有着深厚技术积累的公司,其核心在于早年间收购的Colorado Microdisplays/Zight专利。这次收购使得Compound Photonics获得了进入微显示领域的重要技术基础,为后续的发展奠定了坚实的基础。

ESTEK公司的发展小趣事

在电子行业日益注重环保的背景下,ESTEK公司积极响应号召,致力于研发和生产绿色环保的电子产品。公司投入大量资金和资源,研发出了一系列符合环保标准的电子元件和设备。这些产品在市场上受到了广泛欢迎,不仅为公司带来了可观的经济效益,也为环保事业做出了积极贡献。

Crowd_Supply__Inc.公司的发展小趣事

在电子行业的众多初创公司中,Crowd Supply Inc.以其独特的理念和模式崭露头角。公司成立之初,便聚焦于开放式硬件和社区驱动的产品开发,这在当时的行业环境中还是一个较为新颖的概念。创始人团队由一群富有热情和创新精神的电子工程师和产品开发专家组成,他们通过线上平台汇聚了一群同样对电子硬件感兴趣的爱好者和开发者。初期,公司面临资金短缺、市场认可度低等挑战,但通过不断试错和社区反馈,逐渐找到了自己的发展方向。

Coors Components Inc公司的发展小趣事

除了关注经济效益外,Coors Components Inc公司还积极履行社会责任。公司积极参与公益事业,为社会做出贡献;同时,公司也注重环保和可持续发展,努力降低生产过程中的环境污染。这些举措不仅提升了公司的品牌形象,还赢得了社会各界的广泛赞誉。

以上是关于电子行业公司发展的通用框架,你可以根据这些框架来进一步了解“Coors Components Inc”公司的具体发展故事。请注意,在编写故事时,应确保所描述的事实准确无误,避免夸大或缩小事实。

Allianc公司的发展小趣事

在电子行业竞争日益激烈的背景下,Allianc公司深知只有不断创新才能保持竞争力。因此,公司加大了对研发创新的投入力度,建立了完善的研发体系和激励机制。通过持续的创新和优化,公司不断推出新产品和新技术,满足了市场的不断变化和消费者的多样化需求。这些创新举措不仅提升了公司的竞争力,也为公司的长期发展注入了新的动力。

ALTERA(阿尔特拉)公司的发展小趣事

在电子行业竞争日益激烈的背景下,Allianc公司深知只有不断创新才能保持竞争力。因此,公司加大了对研发创新的投入力度,建立了完善的研发体系和激励机制。通过持续的创新和优化,公司不断推出新产品和新技术,满足了市场的不断变化和消费者的多样化需求。这些创新举措不仅提升了公司的竞争力,也为公司的长期发展注入了新的动力。

问答坊 | AI 解惑

定时器为什么不中断了

  各位哥哥哥姐这个程序第一次启动定时器可以正常运行,第二次启动定时器就不中断了,小弟初学单片机,实在是找不出原因了。   ORG 0000H   LJMP START   MORG 000BH   LJMP TIMER1 ;定时器1的中断处理   ORG 30H START: &nbs ...…

查看全部问答>

读《把时间当作朋友》(一):所有人的困境

虽说越来越多的人把时间花在网络上,但静静地读一本好书,从中获得的不仅仅是书本身,而是一种心灵暂时的宁静。 李笑来,这个名字对于那些考过托福、GRE的人并不陌生,这位前新东方的老师著有一些应试的畅销书。而对于我这个从没想过出国的人来说 ...…

查看全部问答>

下述代码用VC能编译通过,用ads1.2编译器则不行,错误提示:Serious error: C2432E: non-constant initialiser

#define BYTE unsigned char #define WORD unsigned short int #define DWORD unsigned int #define SDWORD signed int #define SBYTE signed char #define SWORD signed short int static SWORD neg_pow2[17]={0,-1,-3,-7,-15,-31,-63,-12 ...…

查看全部问答>

怎么读出单片机里的代码?

SynCmos公司的 SM8958AC25P单片机。我要读出里面的代码。什么编程器支持这块芯片的代码读取?各位推荐一些好吧。…

查看全部问答>

udp发送文件问题

请问各位大侠,在vc下,可以用udp发送数据流吗,我现在只会发送字符串,要想发送文件该怎么实现呢?…

查看全部问答>

EVC中动态改变静态文本控件颜色

请教一个EVC中动态改变静态文本控件颜色的问题;     现在正在开发一个基于WinCE.net4.2平台的应用程序,用EVC开发一个MFC应用程序。 碰到的问题是:我在对话框中依次排列了四个静态文本控件,ID分别为IDC_STATIC1,IDC_STATIC2,IDC_STA ...…

查看全部问答>

想用STM32的FSMC挂普通单色液晶遇到的问题?

                                 液晶的数据线不是三态的,所以直接挂在FSMC的总线上是肯定不行了,不知道要怎么处理才即可以保持FSMC总线上其他器 ...…

查看全部问答>

请教版主,STM8S103F单片机AD采样扫描模式

                                 请教版主,STM8S103F单片机AD的模拟输入通道为AIN2~AIN6,如果需要使用AD扫描采样的话,能不能从AIN2开始扫描。…

查看全部问答>

【问TI】 C6713中MCBSP实现SPI模式的具体步骤有哪些?求教

【问TI】 C6713中MCBSP实现SPI模式的具体步骤有哪些?求教…

查看全部问答>

ADC检测值异样问题

我的单通道多次转换AD,已经有软件的平滑滤波,但是检测大于1V的信号是显示低于1V接近1V              检测200mV的信号显示0.956~0.542之间不断波动,总之是与实际值相差较大,检测2V以上信号时 ...…

查看全部问答>