首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

UPD78F0411 16 位定时器/事件计数器00 TM00 的特殊用途

UPD78F0411 16 位定时器/事件计数器00 TM00 的特殊用途

UPD78F0411  16 位定时器/事件计数器00 TM00 的特殊用途
1.1 TM00 操作期间重写CR010
原则上,在TM00 操作时(TMC003 与TMC002 不等于00)禁止重写78K0/ LC3 的CR000 与CR010(当它们用作比较寄存器时)的值。
但如果CR010 用于PPG 输出且占空比已被修改(在CR010 的值与TM00 的值相等后修改CR010 的值,如果CR010 的值与TM00 的值相等前立即修改CR010,则可以会产生异常操作),可以按下列过程修改CR010,即使TM00正在操作。

修改CR010 值的过程
<1> 禁止中断INTTM010 (TMMK010 = 1).
<2> 当TM00 的值与CR010 的值相等时(TOC004 = 0)禁止反转定时器输出。
<3> 修改CR010 的值
<4> 等待一个TM00 计数时钟周期
<5> 允许TM00 和CR010(TOC004 = 1)相等时进行定时器输出反转操作。
<6> 将INTTM010 的中断标志清零(TMIF010 = 0)。
<7> 允许中断INTTM010 (TMMK010 = 0).
备注  如需了解TMIF010 和TMMK010,可参见第十七章中断功能。

1.2 设置LVS00 和LVR00
(1) LVS00 和LVR00 的使用
LVS00 与LVR00 用于设置TO00 引脚输出的默认值并可以在不需要定时器操作时(TMC003 与TMC002 = 00)对定时器输出进行反转。当不需要软件控制时将LVS00 与LVR00 清零(00) (默认值: 低电平输出) 。


(2) LVS00 和LVR00 的设置
可按以下步骤设置LVS00 和LVR00。


<1> 当LVS00 与LVR00 = 10 时将TO00 引脚输出变为高电平。
<2> 当LVS00 与LVR00 = 01 时将TO00 引脚输出变为低电平(即使LVS00 与LVR00 被清零(00)则引脚输出恒为高电平)。
<3> 当TMC003 与TMC002=01、10 或11 时定时器开始操作。由于在开始操作前LVS00 与LVR00 被设置为10,所以TO00 引脚输出从高电平开始。定时器开始操作后,禁止对LVS00 与LVR00 进行设置,直至TMC003 与TMC002 = 00 (禁止定时器操作)。
<4> 每当产生中断信号(INTTM000)时,反转TO00 引脚的输出电平。
返回列表