UPD78F0411 8 位定时器H0、H1 和H2 的操作
发布时间:2013-1-28 17:08
发布者:zbzb12345
关键词:
UPD78F0411 , 定时器
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 。 文章来源:http://www.originic.hk/Item/Show.asp?m=1&d=1811 |
网友评论