UPD78F0411 16 位定时器/事件计数器00 TM00 的特殊用途
发布时间:2013-1-17 17:12
发布者:zbzb12345
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 引脚的输出电平。 文章来源:http://www.originic.hk/Item/Show.asp?m=1&d=1794 |
网友评论