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

UPD78F0411 8 位定时器H0、H1 和H2 的操作

UPD78F0411 8 位定时器H0、H1 和H2 的操作

UPD78F0411 8 位定时器H0、H1 和H2 的操作

1.1 间隔定时器/方波输出操作
当8 位定时器计数器Hn 与比较寄存器0n(CMP0n)相等时,将产生中断请求信号(INTTMHn)并对8 位定时器计数器Hn 清零(00H)。
在间隔定时器模式中不使用比较寄存器1n(CMP1n)。即使CMP1n 寄存器已赋值,也不会检测8 位定时器计数器Hn 与CMP1n 寄存器的相等情况,所以不影响定时器的输出。
通过将定时器H 模式寄存器n(TMHMDn)的第0 位(TOENn)置1,可以从TOHn 输出任意频率的方波(占空比= 50%)。
TMH2 定时器输出仅用作TM52 外部事件输入允许信号。注意,不提供外部输出引脚。
设置
<1> 寄存器设置。

(ii) CMP0n 寄存器设置
如果N 作为比较值,则时间间隔如下:
  时间间隔= (N +1)/fCNT
<2> 当TMHEn = 1 时,开始计数。
<3> 当8 位定时器计数器Hn 与CMP0n 的值相等时,将产生INTTMHn 信号,并对8 位定时器计数器Hn 清零(00H)。
<4> 随后,以相同的间隔时间重复产生INTTMHn 信号。若要停止计数操作,则将TMHEn 清零(0)。
备注  n = 0 ~ 2。TOHn 仅用于TOH0 和TOH1 。

<1> 通过将TMHEn 位置1,允许计数操作。一旦允许计数,则在不到1 个时钟周期的时间内启动计数操作。
<2> 当8 位定时器计数器Hn 与CMP0n 寄存器的值相等时,将该定时器计数器清零并反转TOHn 的输出电平。此外在计数时钟的上升沿输出INTTMHn 信号。
<3> 在定时器Hn 操作期间将TMHEn 位清零,设置INTTMHn 信号和TOHn 的输出为默认电平。如果在将TMHEn 位清零(0)前它们已经处于默认电平,则电平保持不变。
备注 1. n = 0 ~ 2。TOHn 仅用于TOH0 和TOH1 。
         2. 01H ≤N ≤FEH

备注  n = 0 ~ 2。TOHn 仅用于TOH0 和TOH1 。

1.2 PWM 输出操作
在PWM输出模式中,可以输出具有任意占空比和周期的脉冲。
8 位定时器比较寄存器0n(CMP0n)用于控制定时器输出(TOHn)的周期。禁止在定时器操作期间修改CMP0n寄存器的值。
8 位定时器比较寄存器1n(CMP1n)用于控制定时器输出(TOHn)的占空比。允许在定时器操作期间修改CMP1n寄存器的值。
PWM输出模式中的操作如下所示。
当定时器计数启动后,8 位定时器Hn 和CMP0n 寄存器相等,PWM 输出(TOHn 输出)活动电平并将8 位定时器Hn清零。当8 位定时器Hn 和CMP01 寄存器相等,PWM 输出(TOHn 输出) 活动电平。
TMH2 (PWM 输出) 定时器输出仅用作TM52 的外部事件输入允许信号。注意,没有外部输出引脚。
设置
<1> 寄存器设置。

(ii) 设置寄存器CMP0n
    比较值(N): 周期设置
(iii) 设置寄存器CMP1n
   比较值(M): 占空比设置
备注  1. n = 0 ~ 2。TOHn 仅用于TOH0 和TOH1 。
          2. 00H CMP1n (M) < CMP0n (N) FFH
<2> 当TMHEn = 1 时,开始计数。
<3> CMP0n 是在允许计数操作后首次被比较的比较寄存器。当8 位定时器计数器Hn 与CMP0n 寄存器的值相等时,将8 位定时器计数器Hn 清零、产生中断请求信号(INTTMHn),并且输出活动电平。同时切换比较寄存器(与8 位定时器比较的寄存器):由CMP0n 改为CMP1n 。
<4> 当8 位定时器计数器Hn 与CMP1n 寄存器相等时,输出非活动电平,并切换比较寄存器(与8 位定时器比较的寄存器):由CMP1n 改为CMP0n 。此时不对8 位定时器计数器Hn 清零,也不产生INTTMHn 信号。
<5> 重复执行过程<3> 和<4>,可以获取具有任意占空比的脉冲。
<6> 若要停止计数操作,则设置TMHEn = 0。
若CMP0n 的值为N、CMP1n 的值为M,计数时钟频率为fCNT ,则PWM 脉冲的输出周期和占空比如下所示。
  PWM 脉冲输出周期= (N + 1)/fCNT
  占空比= (M + 1)/(N + 1)
注意事项   1. 可以在定时器计数操作时改变CMP1n 的设置值。但从改变CMP1n 寄存器的值到这个值被传输给寄存器需要经历三个操作时钟(通过TMHMDn 寄存器的CKSn2 到CKSn0 位选择的时钟信号)
                    2. 在定时器计数操作停止后(TMHEn=0),再次启动定时器操作时(TMHEn=1),必须对CMP1n 进行设置(即使是设置相同的值,也必须重新设置CMP1n 寄存器)
3. CMP1n 寄存器的设置值(M)和CMP0n 寄存器的设置值(N)必须在以下范围内取。
  00H ≤CMP1n (M) < CMP0n (N) ≤FFH
备注    n = 0 ~ 2。TOHn 仅用于TOH0 和TOH1 。

      图8-14. PWM 输出模式下的操作时序

<1> 通过设置TMHEn =1,允许计数操作。通过屏蔽一个计数时钟,启动8 位定时器计数器Hn。此时,PWM 输出活动电平。
<2> 当8 位定时器计数器Hn 与CMP0n 相等时将输出活动电平。此时,对8 位定时器计数器Hn 清零,并输出INTTMHn 中断信号。
<3> 当8 位定时器计数器Hn 与CMP1n 相等时,输出非活动电平。此时,并不对8 位定时器计数器Hn 清零,也不输出INTTMHn 中断信号。
<4> 在定时器Hn 操作期间若将TMHEn 位清零,可以设置INTTMHn 信号为默认值和PWM 输出非活动电平。
备注  n = 0 ~ 2。TOHn 仅用于TOH0 和TOH1 。

备注   n = 0 ~ 2。TOHn 仅用于TOH0 和TOH1 。

备注    n = 0 ~ 2。TOHn 仅用于TOH0 和TOH1 。

<1> 通过设置TMHEn =1 允许计数操作。通过屏蔽1 个计数时钟,启动8 位定时器计数器Hn。此时PWM 输出非活动电平。
<2> 在定时器计数器操作期间可以修改CMP1n 的值。修改操作与计数时钟不同步。
<3> 当8 位定时器计数器Hn 与CMP0n 的值相等时,将8 位定时器计数器Hn 的值清零、输出活动电平,并输出INTTMHn 信号。
<4> 如果CMP1n 的值被修改,则修改后的值被锁存,且不传送到寄存器。当8 位定时器计数器Hn 的值与修改前CMP1n 寄存器的值相等时,则将值传送至CMP1n,这样CMP1n的值就被修改了(<2>’)。
但从CMP1n 的值被修改到将值传送至寄存器至少需要3 个计数时钟。如果在3 个计数时钟内产生一个相等信号,则不能将修改后的值传送至寄存器。
<5> 当8 位定时器计数器Hn 的值与修改后的CMP1n 的值相等时,输出非活动电平。此时不对8 位定时器计数器Hn 清零,也不产生INTTMHn 信号。
<6> 在定时器Hn 操作期间若将TMHEn 位清零,可以设置INTTMHn 信号为默认值和使PWM输出非活动电平。
备注   n = 0 ~ 2。TOHn 仅用于TOH0 和TOH1 。
返回列表