英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流

标题: PIC16C71单片机的问题和对策 [打印本页]

作者: kingman    时间: 2009-4-18 19:51
标题: PIC16C71单片机的问题和对策
问题1在芯片进入低功耗睡眠模式 (SLEEP MODE)后,其振荡脚将处于浮态,这将使芯片的睡眠功耗上升,比原手册中的指标高了10μA以上。

对策:在振荡脚OSC1和地 (GND)之间加一10MΩ电阻可防止OSC1进入浮态,且不会影响单片机正常振荡。


  问题2RA口方向寄存器TRISA目前只是一个4位寄存器,对应于RA0~RA3,并非手册中所言是8位寄存器,对应于RA0~RA4,即RA4并没有相应的输入/输出方向控制位,它是一个具有开极输出,施密特输入I/O脚。


对策:避免使用对RA口进行读-修改-写指令(如BCF RA BSF RA),以免非意愿地改变RA4的输入/输出状态。对于RA口的操作应采用寄存器的操作方式(MOVWF RA)。

问题3CPU正在执行一条对INTCON寄存器进行读-修改-写指令时,如果发生中断请求,则读中断例程会被执行二次。这是因为当中断请求发生后INTCON寄存器中的GIE位会被硬件自动清零(屏蔽所有中断),并且程序转入中断例程入口(0004H)。当GIE位被清零后,如果这时正好CPU在执行一条对INTCON的读-修改-写指令(如BSF INTCON等),则 GIE位还会被写回操作重新置1,这样会造成CPU二次进入中断例程。
对策:如果在程序中需对INTCON的某一中断允许位进行修改,则应事先置GIE=0
,修改完成后再恢复GIE=1
…………..
BCF INTCON, GIE
BSF INTCON, ×××
BSF INTCON, GIE
…………..
问题4当芯片电压VDD加电上升时间大于100μs时,电源上电复位电路POR和电源上电延时器PWRT可能不能起正常的作用,而使芯片的复位出现不正常(即PC≠复位地址)。一般在这种情况下建议不要采用PWRT
对策:如果VDD上升时间很长,此芯片一般需较长的电源上电延时,可靠的电源上电延时方法如图1所示,在MCLR端外接复位电路。
问题5如果在A/D转换中用RA3作为参考电压输入,则最大满量程误差(NFS)要大于手册中的指标。实际情况如表1所示。
1 A/D满量程误差表
VREF
5.12V
满量程误差
NFS
VDD
±1 LSb
RA3
±2.5 LSb








欢迎光临 英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流 (http://www.enroobbs.com/) Powered by Discuz! X3.2