PIC单片机应用问答

发布者:hzx312895379最新更新时间:2020-02-19 来源: eefocus关键字:PIC  单片机  应用问答 手机看文章 扫描二维码
随时随地手机看文章

简介: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、为何使用PICSTAR-PLUS烧写16CE625-04/P有时无法把保密位烧成"保密"?

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


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

(PIC单片机应用中晶体选择的注意事项?)

对于一个高可靠性的系统设计,晶体的选择非常重要。在振荡回路中,晶体既不能过激励(容易振到高次谐波上),也不能欠激励(不容易起振)。尤其在设计带有睡眠唤醒(往往用低电压以求低功耗)的系统中,若还是随手拿一颗晶体就用,你的系统可能会出问题。这是因为低供电电压使提供给晶体的激励功率减少,造成晶体起振很慢或根本就不能起振。这一现象在上电复位时并不特别明显,

原因时上电时电路有足够的扰动,很容易建立振荡。在睡眠唤醒时,电路的扰动要比上电时小得多得多,起振变得很不容易。

有人评价PIC单片机对晶体的要求怎么这么高?用51好象从来就没有这么麻烦,手里抓到什么就用什么,也不见有问题呀?且慢,这样比较前提并不一样,同样在睡眠时,有谁见过51系列不用复位而仅靠内部或外部事件唤醒吗?若你并不需要这么高级的设计技术,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的片子抗干扰能力强,在电路设计时就一点不考虑应有的抗干扰措施。

关键字:PIC  单片机  应用问答 引用地址:PIC单片机应用问答

上一篇:PIC软件串行异步通信三倍速采样法设计
下一篇:关于用PIC单片机红外遥控的编码与解码的问题

推荐阅读最新更新时间:2024-11-12 10:24

单片机中不带字库LCD液晶屏显示少量汉字
单片机中不带字库LCD液晶屏如何显示少量汉字,一般显示汉字的方法有1.使用带字库的LCD屏,2.通过SD卡或者外挂spi flash存中文字库,3.直接将需要的汉字取模存入mcu的flash中。 第一种方式最方便,带字库的液晶屏价格稍贵,第二种方式电路复杂价格也不便宜,第三种方法可以存储少量必要的汉字,经济实用。将汉字字模数据存储到大数组中,通过偏移值来取出需要的汉字显示。 typedef struct _GB16 // 汉字字模数据结构 { char Index ; // 汉字内码索引 char Msk ; // 点阵码数据 }GB16_Typedef; const GB16_Typedef GB
[单片机]
PIC之休眠问题
1.休眠操作 只要执行 asm( SLEEP );或者 SLEEP即可; 2 休眠之后gpio状态 休眠后保持GPIO的状态 3 唤醒之后程序从哪里开始执行 一般MCLR唤醒是复位 从新开始执行程序 其他的都是如果某项能唤醒单片机的中断已经开了,当总中断允许位GIE为1的时候,单片机被唤醒后可以进入中断程序中去,而当GIE位为0的时候,单片机也可以被唤醒,但是是执行下面的语句,而不能进入中断程序中去。 4 我们怎么判断是上电复位还是SLEEP后复位 STATUS上有两个位 TO、PD, 当标志位TO=1时,表示表示已经操作了上电复位或者是执行了CLRWDT或者SLEEP指令, 当TO=0时,
[单片机]
单片机典型论文竞赛题精华集锦(四)
单片机论文七 直流稳定电源   一、任务   设计并制作交流变换为直流的稳定电源。   二、要求   1.基本要求   (1)稳压电源 在输入电压220V、50Hz、电压变化范围+15%~-20%条件下:   a.输出电压可调范围为+9V~+12V   b.最大输出电流为1.5A   c.电压调整率≤0.2%(输入电压220V变化范围+15%~-20%下,空载到满载)   d.负载调整率≤1%(最低输入电压下,满载)   e.纹波电压(峰-峰值)≤5mV(最低输入电压下,满载)   f.效率≥40%(输出电压9V、输入电压220V下,满载)   g.具有过流及短路保护功能   (2)稳流电源 在输入电压固
[模拟电子]
单片机中定时计数器的应用情况
在单片机的定时计数器应用中对程序的初始化过程要完成如下的工作: 1、对TMOD赋值,以确定T0和T1的工作方式 2、计算初值,并将其写入TH0和TL0或TH1;TL1中 3、中断方式时,则对IE赋值,开放中断:EA,ET0;ET1 4、使TR0或TR1置为,启动定时计数器定时或计数
[单片机]
基于单片机的家庭防盗报警系统设计方案
从实际出发,设计一种家庭用、与电话线连接、操作简单、工作稳定可靠的远程智能防盗报警装置。当人们外出时,往往希望实施自动监测报警以使家庭财产免受损失。针对这一需求,研制出了一系列自动报警系统,如门磁式、触摸式和红外线监测自动报警系统等。本文将介绍的远程智能防盗报警装置,可同时监视多个重要点(如门、窗等),发现盗情及时拨叫号码,并能利用普通电话线进行告警信号呼叫,其性能稳定可靠,实用性、适用性强,且具有较高的灵活性。 基本工作原理 如图1所示,远程智能防盗报警装置由信号检测电路、复位电路、电话号码输入电路、89C51单片机、语音电路、模拟摘机挂机电路、DTMF编码发送电路、铃流信号检测电路和忙音信号检测电路等构成。
[单片机]
基于<font color='red'>单片机</font>的家庭防盗报警系统设计方案
80C51单片机程序(2)
//80C51程序 单片机的流水灯显示 //发光二极管的闪烁 ------------------------------------------------------------------- #include reg52.h //包含reg52.h头文件 #define uint unsigned int //宏定义uint的数据类型为unsigned int型 sbit D1=P1^2; //定义P1^2位 void main() { uint num=50000; //定义num数据类型,并附初值 D1=0; //点亮发光二极管 while(num--);
[单片机]
8051单片机(STC89C52)八灯流动转向
#include STC89C5xRC.h void delay() { int i,j; for(i=0;i 120;i++) for(j=0;j 120;j++) { ; } } int main() { int i; while(1) { i=9; P2=0xff;//八灯全灭 while(i =1) { delay();//时延 P2/=2;// 1111 1111 - 0111 1111 - 0011 1111 - 0001 1111 - 0000 1111 ...... i--; }
[单片机]
单片机红外遥控风扇源程序
进行本实验前需要先完成《16_红外解码数码管显示》与《19_直流电机小风扇》实验。 然后对应的接上电机线和电机。 红外无线遥控风扇 + 加速 按- 减速,默认最低速度,烧录后可以按遥控器上的“+”加速。4~9档区间可以电机不会转动,着可能是因为用户供电电流不足。1-4档在接线正确的情况下几乎都可以转动。 注意:测试时间最好不要超过1分钟,观察一下实验现象即可。 单片机源程序如下: /* 红外无线遥控风扇 + 加速 按- 减速 */ #include reg52.h sbit DU = P2^6; //数码管段选 sbit WE = P2^7; //数码管位选 sbit S2 = P3^0; sbit S3 =
[单片机]
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved