|
|
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中斷一次 |
|