SETBP1.2;令=0
CLRP1.2;令SCLK=0
CLRP1.2;令=1
MOVA#90H;TCR的写地址
LCALLDS_WSUB
MOVA#10100110B;TCR的命令
LCALLDS_WSUB
用万用表串入与可充电池之间,执行程序后,则有电流流过万用表,表示充电正常。笔者通过将上述程序的第6句改为:MOVA,#10100010B,即置DS为00来禁止涓流充电器工作。执行程序后,在与电池之间串入万用表,则仍有电流流过,表示尚未禁止充电。若将第6语句改为:MOV A,#10101110B,即置DS为11,执行上述程序后情况仍如此。若将第6语句改为:
MOV A,#01010110B即TCS≠1010
或:MOV A,#10100100B即RS=00则充电被禁止。
笔者误认为芯片损坏,换上另一新购置的芯片,结果仍如此。随即笔者取下图1所示电路中的可充电池,换上一标称为10kΩ的电阻对芯片进行了测试,测试结果如表1所示=5V。
由此可见,当涓流充电控制寄存器中的DS位为00和11时并不能禁止充电,而是选择了一个二极管充电,这说明参考文献中介绍的有误。若要想禁止充电器充电,应将第6句改为:MOVA,#0101XX00B即TCS≠1010,RS=00,这样,就能双保险地禁止充电。
3受干扰时钟/日历信息出现的错误
笔者将DSl302应用于某产品中,发现系统受到干扰时,有时其时钟停振不能正常工作,此时的时钟/日历信息也被修改。
经分析得知:系统受到干扰程序飞跑,在看门狗复位前,CPU正好执行写程序将写保护寄存器的最高位置0为允许写(实际上,在系统校时程序之后已将其置为1禁止写),修改了时钟/日历信息且使秒寄存器的最高位置1,致上的电平,低电平条件满足。只有在实时校时过程中,才通过手动使此口线为低电平,实时校时过程完成后,又通过手动使此口线为高电平。这样
~~~~~~~~~~~~~~~~~~~~~~~~~
答案是肯定的.十五字真的很重要!
嚯嚯!我也来帮忙!
欢迎来我的CY小窝坐坐:
http://www.cyworld.com.cn/shuabaocaicaizi