每天进步一点点------SOPC TIMER (一)

寄存器图

可以通过操作以下的寄存器来实现对timer(定时器)内核的操作(仅描述32位计数器)

 

状态寄存器:

TO(timeout) :计数器计数到0时,该位置1,之后TO位的值会保持,直到手动清零,向状态寄存器写零,可以清除TO位

 

RUN:只读寄存器,读该寄存器,返回值为1表示计数其正在运行,0表示计数器停止计数,向状态寄存器写值,对该位无影响

 

控制寄存器:

ITO(interrupt timeout):该位为1允许timer在计数为0 时输出中断。该位为0,计数至0时,不输出中断信号.

 

CONT(continuous):该位控制定时器计数至0 后的动作,该位为1 ,计数器继续运行;该位为0,计数器到0后,停止计数。(无论该位为何值,在计数器到0后,均会载入计数初值)

 

START:启动计数器。当计数器停止时,写1,计数器从原计数器继续计数;当计数器运行时,写1,无影响。向该位写0,无影响.

 

STOP:停止计数器,当计数器运行时,写1,计数器停止计数;当计数器已经停止时,写1,无影响。向该位写0,无影响.(在硬件配置时,没选择"Start/Stop control bits" ,向该位写值,无影响)

注意:同时向START位和STOP位写1,结果不可预测!

 

计数值寄存器:

32位存储计数初值,计数器载入该值时满足的条件(二者选其一):

1,计数器计数至零;

2,对该计数值寄存器进行写操作;

 

计数器的计数周期为,初值加1,因为计数器需计数至0后,才载入计数初值

 

当硬件配置时,选择“Start/Stop control bits”,向该寄存器写值,计数其停止计数;若未选择时,计数器不会停止计数。未选择“Writeable period”,向该寄存器写值,会使计数器复位

 

临时值寄存器:

向给寄存器写任意值,计数器当前计数值会复制到临时值寄存器!

对该寄存器的操作,对计数器无影响

 

 中断行为:

当ITO位为1,且计数器计数至0时,计数器发出中断信号,

 

posted on 2013-08-08 15:52  空气微凉  阅读(425)  评论(0编辑  收藏  举报

导航