1樓:津人依夢
晶振頻率為6mhz時,定時/計數器在工作方式0、方式1、方式2下,其最大的定時時間分別為:
16.384 ms;131.072 ms;0.512 ms;
根據計算公式,x=m-計數初值=m-(fosc*t)/12,其中x是計數初值,要得到最大定時時間x=0;m最大計數值,工作方式0時m=2^13=8192,工作方式1時m=2^16=65535,工作方式2時m=2^8=256。fosc晶振頻率。
所以最大定時時間為:m-(fosc*t)/12=0,即t=12*m/(6*10^3)=2*10^(-3)*m
工作方式0 t=2*10^(-3)*8192=16.384 ms;
工作方式1 t=2*10^(-3)*65536=131.072 ms;
工作方式2 t=2*10^(-3)*256=0.512 ms;
定時/計數器在使用之前均需要進行初始化,寫入計數初值。
擴充套件資料
定時器工作流程:
定時器工作的流程可以按照這個順序(以51為例用定時器0方式一產生50毫秒的定時)
1、確定使用哪個定時器,使用哪種方式,這一步通過tmod設定,tmod的低四位是設定定時器0的,高四位是用來設定定時器1的,其中的m0,m1是用來設定定時器工作在哪種方式,gate一般用不要設定,c/t是選擇計數模式還是定時模式的,如:tmod = 0x01,就說明定時器0工作在方式1。
2、接下來就要設定定時的時間,用定時器定時50毫秒,可以用這種方式th0 = (65535 - 50000) / 256,tl0 = (65535 - 50000) % 256;可以這樣理解:因為這是定時器的初值,也就是說計數脈衝就是在這個數的基礎上向上遞增,到達65535後就溢位產生中斷。
3、第三步開啟中斷,使用ie暫存器,首先開啟總中斷ea = 1,這一步是所有中斷所必須的,然後開啟定時器0中斷,et0 =1。
4、這時準備工作結束,啟動定時器,使用tcon暫存器,tr0 = 1,實現了一個50毫秒的定時。
第一節 定時計數器的結構與工作原理
2樓:庹琰
最懶的方法,下一個‘微控制器小精靈‘,定時器、精確延時、串列埠波特率等等通通輕鬆搞定。
3樓:hi漫海
晶振頻率為6mhz,則振盪週期tosc=1/6 us。
工作方式0:此時為13位定時/計數器,則最大計數值為2的13次方(即8192)
工作方式1:為16位定時/計數器,則最大計數值為2的16次方(即65536)
工作方式2:為自動重灌初值的8位定時器/計數器,則最大計數值為2的8次方(即256)
由於定時器/計數器每加1佔用的時間為1個機器週期
因此各自最大定時時間如下:
工作方式0:最大定時時間 tm = 8192*mc
工作方式1:最大定時時間 tm = 65536*mc
工作方式2:最大定時時間 tm = 256*mc
其中mc為內部機器脈衝週期(即機器週期)
晶振為6mhz,如果按常規標準的12分頻的51系列微控制器算的話(mc = 12*tosc = 2微秒)。
則各自最大定時時間如下:
工作方式0:最大定時時間 tm = 8192*mc =16384 us
工作方式1:最大定時時間 tm = 65536*mc =131072 us
工作方式2:最大定時時間 tm = 256*mc = 512 us
其中mc為內部機器脈衝週期(即機器週期)。
4樓:亂七胡說八糟亂想
咦!?又來了!?昨天不早回了嗎!?
微控制器中晶振頻率為12MHZ的機器週期怎麼算
1 機器週期 晶振週期 12。2 所以微控制器中晶振頻率為12mhz的機器週期 12 1 12m 1微秒。微控制器的振盪頻率是12mhz,則一個機器週期是多少us,指令週期是一個固定值嗎?c51微控制器,振盪頻率 fs 是12mhz,則一個機器週期是1us 指令週期有長有短,最短為一個機器週期 每款...
請問,如果直接將3225的晶振貼到5032的PCB上去,是否可以
主要是看pcb的焊盤與3225晶振的焊盤四個腳是否有重合的地方,如果有,四個焊盤都能焊上,可以使用。其實很簡單,那個3225的晶振到pcb上比劃一下,重合面都覆蓋3225晶體的焊盤,那就沒問題,一般pcb的焊盤工程師都會做大一點的。有問題,找sctf的工程師,現場幫你解決。是否可貼主要看原理圖和你的...
一實際電路工作頻率為6乘於100萬,該電路工作波長為多少啊
頻率f 6x10 6hz 波速u 3x10 5km s 波長 u f 3x10 5 6x10 6 0.05km 50m 300000000米 6x 1000000 300 6 50米 也就是波長為50米 類比電路 尺寸遠小於訊號波長,因此可用端電壓 中 尺寸遠小於訊號波長 是什麼意思?意思很清楚啊?...