当前位置:首页 > 技术心得 > 正文内容

TM89系列单片机使用注意事项

xjtudll2年前 (2024-11-13)技术心得4200

一、大电流模式

大电流模式,官方资料上叫“电力备援模式”(详见UM-TM89XXMCUfunction),Back Up Mode。当系统耗电较大时,有可能使得系统的电源电压产生很大的波动,有可能导致MCU不正常动作,为了解决这个问题,在耗电较大时,需要开启大电流模式。

clip_image002

3V供电时,当选用BCF=0时,BAK=VL1。关闭大电流模式后,MCU内部工作电压就会以较低的操作电压VL1来工作,以达到省电的目的。

clip_image004

3V供电时,当选用BCF=0,BAK=VBAT时(或1.5V供电),这个时候大电流模式没有实际意义,实际上是一直以大电流模式工作的。这个时候工作电流会增大。

clip_image006

那么哪些情况需要开启大电流模式呢?

1、闹铃正在闹,Buzzer有输出信号

2、EL背光点亮

3、程序使用快钟(内部500kHz,250kHz或者外部电阻,或者外部3.58MHz),进入了FAST模式

需要注意的是:

在3V供电时,选用BCF=0时,BAK=VL1的时候:

1、大电流模式对32.768Hz的晶振频率略有影响。经实际测试,开启和关闭大电流模式,手表月差大概相差3秒(测试期间,系统一直保持大电流模式或者一直关闭大电流模式)。

2、频繁的切换快钟和大电流模式,将会导致定时器非常不准,一段时间后,累积误差就相当大。以电波表为例,之前程序是接收电波时采用4ms定时来采样,数据处理时启用快钟和大电流模式,数据处理完毕,关闭快钟和大电流模式。约3分钟,总体时间偏差有几十毫秒甚至更多,因此导致解码可能失败。后来程序改成了接收时一直保持快钟和大电流模式,定时就非常准确了。

二、Halt Mode


系统进入halt mode后,除了程序停止运行以外,其他的功能都是正常工作的。halt mode能极大的降低功耗。

以TM89P51M为例,BCF=0时,Halt模式功耗为0.72uA,32kHz全速运行则要1.53uA。

clip_image008

使用halt mode,有几个注意事项:

1、执行halt指令后,若没有产生任何halt release,系统才能进入halt mode。每次halt release之后,必须清除halt release因子,否则系统将无法进入halt mode。

2、中断发生后,MCU会自动产生halt release,执行完中断子程序后,MCU会重新进入halt mode。如果你在中断后,还要在主程序里处理一些内容,那么就要注意了,必须采用其他方式来配合(使用其他方式产生halt release),因为根本就进入不了主程序。

扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://www.xjtudll.cn/Exp/693/

标签: tenx
分享给朋友:

“TM89系列单片机使用注意事项” 的相关文章

OKI单片机-如何查看编译后程序占用的RAM和ROM大小

OKI单片机-如何查看编译后程序占用的RAM和ROM大小

OKI单片机程序编译成功后,Project目录下将会多出一个map文件。通过这个文件,可以知道程序占用的RAM和ROM 1、程序占用ROM 分两种情况,第一种情况如下图: 像这种情况,占用ROM是: Total size(CODE) + Total size(TABLE) = 1916+95 =...

Xcode查找函数(方法)调用及被调用

Xcode查找函数(方法)调用及被调用

参考资料:http://stackoverflow.com/questions/7145045/find-method-references-in-xcode 这个功能有的说是 Find Caller,有的说是Find references,有的说是Find Usages 直白的讲,就是我需要知道这...

Android x86 4.4 RC2卡在跳过Wifi后面一步

Android x86 4.4 RC2卡在跳过Wifi后面一步

问题:Android x86 4.4 RC2卡在跳过Wifi后面一步,没法跳过,一直死循环。 无论怎么改都在这步了, 返回了也不知道从哪可以跳过。   解决办法: 一、在语言选择界面用鼠标在 左上-右上-右下-左下 四个角各点一遍 这个方法不知道是谁试出来的,这么扯蛋的办法都能想到。 二...

固定电容标称容量及误差

电容器上标有的电容数是电容器的标称容量。电容器的标称容量和它的实际容量会有误差。常用固定电容允许误差的等级见表1。 表1 固定电容允许误差等级 误差 ±2%...

NSTableview从mutable array获取数据

参考资料: http://stackoverflow.com/questions/3397952/populating-nstableview-from-a-mutable-array 可以使用以下的方法 – numberOfRowsInTableView:...

BOS单据审核后插件中解锁字段

m_BillInterface.LockCell   Dim dct As KFO.Dictionary     Dim lBillStatusBak As String     lBillStatusBak = m_BillIn...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。