找回密码
 注册
关于网站域名变更的通知
查看: 950|回复: 4
打印 上一主题 下一主题

定時器

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-9-25 17:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
請問一下,單晶片計時器設定的觀念
+ D) O7 D3 U2 x. D  p  s4 J看完書上還是沒很了解..  f9 X3 b; C7 L, U; f7 S
有沒有人可以跟我說一下我的盲點在哪..
" q- k0 j  f+ j) t0 U3 i2 e- G2 ~( b% q; n# {) ^  W
單晶片用12MHz的石英震盪器
. a' F9 v" h, e' H: o; r然後因為8051一個機械周期' i: v4 x2 K  m" [  v4 ^& f
需要12個石英震盪器周期
1 c/ ]3 {( ^' s0 Y$ l12MHz /12 = 1MHz =1us 所以每1us就送給8051一個脈波: v" U  B0 I1 h1 A, C
8 y0 u, ^0 {2 n
然後內部計時器是16位元 所以最高數到65536 就產生溢位中斷0 H$ V5 a8 B; V) E  M6 s2 [
每1us就送入一個脈波計時器就加1
) H% B3 D# b8 a當計數器加到65536就中斷 這個意思是每65536us 就溢位中斷一次
0 }3 e! o1 |- _' A7 X6 B4 `) |
' e" f4 u1 R" M那如果要設定時間間隔為5ms秒的話
  l$ `' ^0 J/ \4 p( `( J0 g1 Y就代表每送入5000個1us的脈波就中斷一次  0 W) \+ ~. b7 i1 R! F+ m  m
但為什麼 計時器設定數值是) k. o7 q" y# |: f6 ^6 r: ?3 G
65536-5000 =60536 再轉16進制 去分高低位元就好了?
$ s" y# C4 u: E8 V3 w0 z60536不是意思是,當計數器內部加到60536 就產生中斷嗎?
! j7 L+ `* X0 s' z8 I: t5 x 這樣不就是60536us中斷一次?1 k. j# U' ?) p3 Y
不是5ms中斷一次

该用户从未签到

2#
发表于 2012-9-26 18:39 | 只看该作者
可能你理解错了,因为你设置的时候已经将开始计数的起点设为60536,所以还是只有5ms。ps每次计数的起点和你设置的初始值有关,而不是每次都从0开始!

该用户从未签到

3#
发表于 2012-9-28 15:49 | 只看该作者
LZ这么理解:
0 l3 l0 `( ~6 K( g4 f- X$ Z0 D初值是60536,
& H/ a- P' z: Z' \+ d1 e- c所以从60536开始加5 B+ `4 }( l, E8 |
加到65536溢出中断
2 B/ L. q: }- c  o: |9 u. H需要加5000次$ i  `* a9 L' _  X3 @
所以是5ms

该用户从未签到

4#
发表于 2012-10-12 09:29 | 只看该作者
顶一个!!

该用户从未签到

5#
发表于 2019-8-4 11:11 | 只看该作者
3楼正解,整数累加5000次,5000×机器周期1us=5000us=5ms
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 23:49 , Processed in 0.171875 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表