打印

请教W77E58定时器问题

[复制链接]
2584|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yezhenyu|  楼主 | 2011-12-14 18:00 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yezhenyu 于 2011-12-15 11:53 编辑

请教各位老师,如红线所示的时钟输入源是什么意思?我如下的理解对不?1:MODE的意思是在PMR寄存器中设置,默认的是4分频。假设我的系统采用的是4M晶振,那么我的定时器的输入时钟源还是4M不知对不?还是一个机器周期由4个时钟脉冲组成,但是定时器的输入源还是4M对不?DIV.1by4和1/OSC是什么意思?2:PMR设置的时钟周期和CKCON设置的时钟周期有啥区别?W77E58上电默认的PMR中是4个时钟脉冲为一个机器周期,而CKON中又可以设置12个时钟脉冲为一个机器周期,这俩不冲突了吗?请老师指教,谢谢!

相关帖子

沙发
yezhenyu|  楼主 | 2011-12-15 11:53 | 只看该作者
搞了好几天了,请各位大侠帮帮忙

使用特权

评论回复
板凳
HWM| | 2011-12-15 13:00 | 只看该作者
re LZ:

这是时钟分频,可通过PMR(POWER MANAGEMENT REGISTER)中的 CD1、CD0 位控制。由这两位(01、10、11)分别设置每机器周期为4、64和1024个时钟周期。

使用特权

评论回复
地板
受不了了| | 2011-12-15 13:02 | 只看该作者
点个灯就能看出来的呀,不管你设置不设置都不影响每条指令运行的速度,只是影响定时器的时钟源。好久不用这个片子,都记不大得了,太贵了

使用特权

评论回复
5
HWM| | 2011-12-15 13:30 | 只看该作者
此设置不同,指令执行速度也将随之不同。此时钟分频的作用在于,在可低速运行的条件下降低CPU执行频率以降低能耗。

另外需注意的是,时钟分频模式切换时必须先切换至4分频(最高速)然后再切换到所需的时钟分频模式。

使用特权

评论回复
6
yezhenyu|  楼主 | 2011-12-15 13:59 | 只看该作者
那么系统上电默认的就是4,W77E58接的是4M晶振,此时我想知道定时器时钟输入源的频率是多大?如1楼图所示

使用特权

评论回复
7
HWM| | 2011-12-15 21:20 | 只看该作者
本帖最后由 HWM 于 2011-12-16 08:06 编辑

to 6L:

上电后(复位),T0M和T1M为“0”,选择晶振12分频(机器频率的3分频)。所以定时器的输入频率应该是4MHz / 12 = 1/3 MHz。

使用特权

评论回复
8
chunyang| | 2011-12-15 21:26 | 只看该作者
根据分频率的除以几计算,输入为系统时钟频率,要么除以4,要么除以12,后者是51的原始标准,为兼容性保留的。

使用特权

评论回复
9
yezhenyu|  楼主 | 2011-12-16 08:32 | 只看该作者
to 7L和8L还是不明白,因为上电时系统PMR设置已经是默认的4,即4个时钟一个机器周期,而此时我设置CKON中为12个时钟脉冲为一个机器周期,这俩不冲突了吗?请指教。

使用特权

评论回复
10
HWM| | 2011-12-16 08:49 | 只看该作者
to 9L:

进入定时器的是晶振分频 1/1、1/16 或 1/256 后的时钟脉冲频率(方框中所表示的1/4... 是指机器频率)。所以,后面的12(或4)分频是时钟脉冲频率的分频,即晶振频率 1/1、1/16 或 1/256 分频后再进行12(或4)分频。上电复位后,前端为1/1,其后为1/12,因此最终为12分频,即4/12MHz。

使用特权

评论回复
11
yezhenyu|  楼主 | 2011-12-16 09:03 | 只看该作者
多谢楼上,还有:
1,div.by4、div.by64、div.1024是什么意思?是哪个寄存器设置?看了好多遍DATASHEET始终未找到
2,哪个寄存器是设置晶振分频 1/1、1/16 或 1/256 ?始终未找到

使用特权

评论回复
12
yezhenyu|  楼主 | 2011-12-16 09:16 | 只看该作者
更正11L的1项
1,div.by4、div.by64、div.1024是PMR寄存器设置的,它和晶振分频 1/1、1/16 或 1/256 是什么关系呢?
2,哪个寄存器是设置晶振分频 1/1、1/16 或 1/256 ?始终未找到

使用特权

评论回复
13
HWM| | 2011-12-16 09:20 | 只看该作者
to 11L:

“div.by4、div.by64、div.1024”表示晶振脉冲分频出机器脉冲(machine cycle),其由PMR(POWER MANAGEMENT REGISTER)中的CD1和CD0位设置。这个设置同时也确定了进入定时器的时钟脉冲分频,分别为1/1、1/16 或 1/256。

使用特权

评论回复
14
yezhenyu|  楼主 | 2011-12-16 10:38 | 只看该作者
设系统晶振是4M,是不是PMR管设定晶振的分频数,CKCON管定时器每个机器周期由几个时钟脉冲组成。上电复位PMR的默认值是4,那一个机器周期的指令的执行时间是1US对吗(即4个脉冲周期为一个机器周期)?可是上电复位的定时器的设置1/12即是12个时钟周期为一个机器周期,这与指令的4个脉冲周期为一个机器周期是矛盾的,我的迷惑在这。

使用特权

评论回复
15
HWM| | 2011-12-16 11:36 | 只看该作者
to 14L:

晶振是4MHz,上电复位后晶振频率4分频形成机器脉冲,其周期((machine cycle)是1微秒没错。机器脉冲送给CPU,确定了指令的执行时间。复位后,晶振脉冲(1/1)直接送入定时器系统。定时器系统的内部脉冲信号入口处的分频(1/4和1/12)复位后是1/12(相应控制位为“0”),所以晶振4MHz频率通过1分频再经12分频终得频率为1/3MHz的脉冲信号进入定时器。复位后,定时器输入脉冲周期和机器周期确实不一致,但可通过改变定时器系统中的分频设置(1/4)使其一致。

使用特权

评论回复
16
yezhenyu|  楼主 | 2011-12-16 13:13 | 只看该作者
明白了,谢谢HWM

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

29

主题

352

帖子

0

粉丝