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

定時器

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
請問一下,單晶片計時器設定的觀念* H  c2 Q/ N& @4 o' c
看完書上還是沒很了解..6 r1 M- u- S! I  {
有沒有人可以跟我說一下我的盲點在哪..
% V5 d& I0 l& {
3 H1 L, Z7 S: {4 K; F# s7 S9 z* J單晶片用12MHz的石英震盪器
# v5 Y( N4 [3 G) l* s# B然後因為8051一個機械周期
& D  E+ |5 }# {6 r! b; N1 U需要12個石英震盪器周期
$ E; Z% ?6 b2 D/ x12MHz /12 = 1MHz =1us 所以每1us就送給8051一個脈波
; [" X6 Y% t- _7 `: c+ q
6 k; a( y" M& |, @# G2 p. ~然後內部計時器是16位元 所以最高數到65536 就產生溢位中斷6 Y3 [' y. p- Q
每1us就送入一個脈波計時器就加1
! H5 u8 v) R7 s& r" C  Q' J( {當計數器加到65536就中斷 這個意思是每65536us 就溢位中斷一次: G( X0 E) H' _$ {9 l: \# N# U

6 N, g0 u) Y7 H) ]4 ~那如果要設定時間間隔為5ms秒的話/ S% S! B# S' H, g8 W6 E9 {  u+ c
就代表每送入5000個1us的脈波就中斷一次  
% i* I+ x! ?" m! j9 o( T7 y但為什麼 計時器設定數值是2 u6 M. z( k9 ~. M+ l: I4 ?
65536-5000 =60536 再轉16進制 去分高低位元就好了?
8 a* `7 c5 F. t9 Z3 W$ }/ v60536不是意思是,當計數器內部加到60536 就產生中斷嗎?- F8 {" ]( @+ ~$ q+ @/ y
這樣不就是60536us中斷一次?
1 B- U8 R+ a; j" w! `不是5ms中斷一次

该用户从未签到

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

该用户从未签到

3#
发表于 2012-9-28 15:49 | 只看该作者
LZ这么理解:
4 |: G1 d4 d" h3 f# `初值是60536,
5 u, {. W! j  a" O所以从60536开始加
  ^$ m1 d* b) A- S- Y加到65536溢出中断) g9 G3 a- X) k& K
需要加5000次% d  U+ B0 I% S5 v9 i; W' @
所以是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-25 00:16 , Processed in 0.171875 second(s), 23 queries , Gzip On.

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

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

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