16位定时器/计数器的计数单元
发表:2023-08-29 12:02:10 阅读:92

16位定时器/计数器的计数单元

16位T/C的主要部分是可编程的l6位双向计数器单元。图2—34给出了计数器与其外围电路方框图。

count:TCNTn加1或减l。

direction:确定是加操作还是减操作。

clear:TCNTn清零。

clkTn:定时器/计数器时钟信号。

TOP:表示TCNTn计数器达到最大值。

BOTTOM:表示TCNTn计数器达到最小值(0)。

16位计数器映射到两个8位I/O存储器位置:TCNTnH为高8位,TCNTnL为低8位。CPU只能间接访问TCNTnH寄存器。CPU访问TCNTnH时,实际访问的是临时寄存器(TEMP)。读取TCNTnL时,临时寄存器的内容更新为TCNTnH的数值;而对TCNTnL执行写操作时,TCNTnH被临时寄存器的内容所更新。这就使CPU可以在一个时钟周期里通过8位数据总线完成对l 6位计数器的读、写操作。此外,还需要注意计数器在运行时的一些特殊情况。在这些特殊情况下,对TCNTn写入数据会带来未知的结果。

根据工作模式的不同,在每一个clkTn时钟到来时,计数器进行清零、加l或减l操作。clkTn由时钟选择位CSn2:0设定,当CSn2:0=0时,计数器停止计数。不过CPU对TCNTn的读取与clkTn是否存在无关。CPU写操作比计数器清零和其他操作的优先级都高。计数器的计数序列取决于寄存器TCCRnA和TCCRnB中标志位WGMn3:0的设置。计数器的运行(计数)方式与通过OCnx输出的波形发生方式有很紧密的关系。

通过WGMn3:0确定了计数器的工作模式之后,TOVn的置位方式也就确定了。TOVn可以用来产生CPU中断。

 

电子街】推荐阅读:

 

T/C0的应用(一)

T/C0的应用(二)

T/C0的应用(三)

T/C0的异步操作

16位定时器/计数器的特点

16位足时器/计数器的组成结构