打印

哪位大虾帮帮我解决一个预分频的问题?小M感激不尽。。。

[复制链接]
1735|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
liuyj226|  楼主 | 2007-8-29 17:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在公司用盛群,我看到都有用到预分频。我想请教一下一个8位MCU,假如一个指令周期的时间是1US,我设定定时器初植为00H,计数到FFH,采用PS0—PS2是111(8分频),执行一次定时中断益出的时间是不是就是255*256US。

相关帖子

沙发
太阳之母| | 2007-8-29 17:16 | 只看该作者

嘿嘿

MCU的具体型号是啥?数据手册有否?

使用特权

评论回复
板凳
gjg191| | 2007-8-29 17:23 | 只看该作者

dd

分频是对时钟而言的,如果是单指令周期,8m晶振 8分频的话 指令周期就为1us 那你定时00到ff就为256us 

使用特权

评论回复
地板
gjg191| | 2007-8-29 17:26 | 只看该作者

dd

盛群不就是合泰阿,我晕都给忘了,俺也用过

使用特权

评论回复
5
gjg191| | 2007-8-29 17:34 | 只看该作者

dd

用4m晶振 8分频 计一个数20us   设定定时器初植为00H,计数到FFH,采用PS0—PS2是111(8分频),执行一次定时中断益出的时间是5120us

使用特权

评论回复
6
liuyj226|  楼主 | 2007-8-30 08:03 | 只看该作者

对啊就是HOLTEK啊

gjg191,先谢谢你。我问题可能有一点没表述清楚。8位MCU,用4M晶振(一个指令周期4个时钟周期),设定定时器初植为00H,计数到FFH,采用PS0—PS2是111(256分频),执行一次定时中断益出的时间是256*256US???

使用特权

评论回复
7
gjg191| | 2007-8-30 08:07 | 只看该作者

dd

昨天都说错了,算错数了,你用256/4=64us就是计一个数的时间,你那应该是256*64=16.384ms

使用特权

评论回复
8
gjg191| | 2007-8-30 08:10 | 只看该作者

dd

MM做家电吗?

使用特权

评论回复
9
computer00| | 2007-8-30 08:25 | 只看该作者

1us的周期,8分频,再256次计数,就是256*8us

使用特权

评论回复
10
liuyj226|  楼主 | 2007-8-30 08:25 | 只看该作者

111

gjg191 一个指令周期4个时钟周期不是还要*4,1/4*4*256*256

使用特权

评论回复
11
liuyj226|  楼主 | 2007-8-30 08:27 | 只看该作者

晕了晕了我,怎么都有几种答案啊。。。。

使用特权

评论回复
12
gjg191| | 2007-8-30 08:27 | 只看该作者

方法

看了看资料还真是1指令周期4时钟周期,不过定时器的分频是从系统时钟得来的所以跟指令周期无关。
定义预分频器级数,PSC2、PSC1、PSC0=
000:fINT= fSYS/2 或fRTC/2
001:fINT= fSYS/4 或fRTC/4
010:fINT= fSYS/8 或fRTC/8
011:fINT= fSYS/16 或fRTC/16
100:fINT= fSYS/32 或fRTC/32
101:fINT= fSYS/64 或fRTC/64
110:fINT= fSYS/128 或fRTC/128
111:fINT= fSYS/256 或fRTC/256
这些都是从外部时钟或内部时钟得来的

使用特权

评论回复
13
gjg191| | 2007-8-30 08:43 | 只看该作者

dd

都是2年前用过,都不记得了,看了资料才明白。应该对的,定时器跟指令周期无关,只跟系统时钟有关系

使用特权

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

本版积分规则

26

主题

236

帖子

2

粉丝