HCS08单片机外部晶振使用中遇到的问题
来源: 芯艺工作室

   本人在使用HCS08单片机时遇到了以下的情况:
首先简单说明一下硬件,电源是变压器输出整流滤波稳压到5V后供芯片,芯片采用了MC9S08AC32.
时钟是7.3728MHz外部晶振,配置成外部晶振的代码如下:

ICGC1 = 0x7E;                                      
// ICGC2: LOLRE=1,MFD2=0,MFD1=0,MFD0=0,LOCRE=0,RFD2=0,RFD1=0,RFD0=0 */
ICGC2 = 0x80;                                      
if (*(unsigned char*far)0xFFBE != 0xFF) { /* Test if the device trim value is stored on the specified address */
ICGTRM = *(unsigned char*far)0xFFBE; /* Initialize ICGTRM register from a non volatile memory */
while(!ICGS1_LOCK) { /* Wait */  }


遇到的问题是单片机莫名的复位,单片机的地接到示波器或人体时复位现象消除(我的电路是浮地)
,另外变压器输入的L,N切换时复位现象也没有,最后还发现用手接近单片机附近时出现复位;

问题的找出:
HCS08单片机使用外部高速度震荡器时可以配置成高增,也可以配置成低功耗模式,在低功耗模式下晶振容易受干扰导致莫名的复位,尤其对于浮地系统很明显。

问题的解决:解决办法中第一个当然是把震荡器配置成高增益模式:
在ICGC1寄存器的最高位配置为1(注:这个寄存器是一次写的哦!)
如:

ICGC1 = 0xFE; 


另外低功耗模式下不妨将晶振外壳与信号地间短路;



声明:芯艺工作室(http://www.chipart.cn)保留所有权力,转载请注明出处!

芯艺工作室    蒙ICP备06005492号

Copyright© 2004-2018 ChipArt Studio All Rights Reserved