欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 單片機定時器時間計算 [打印本頁]

作者: 1314love    時間: 2022-9-6 10:13
標題: 單片機定時器時間計算
TH0 = (65536-1600)>>8;                                //63936---
TL0 = (65536-1600);        
每100us進入中斷,請問這個1600是怎么計算的


作者: lkc8210    時間: 2022-9-6 11:41
你用的是16Mhz晶振
16Mhz * 0.0001s = 1600
作者: 188610329    時間: 2022-9-6 12:46
16MHz 晶振 1us = 16,   16x100 = 1600
作者: coody_sz    時間: 2022-9-6 13:23
估計樓主用的是STC的51,定時器0單周期計數(shù),主頻為16MHz,則100us就要1600個計數(shù),于是就是65536-1600.我一般用這樣的:
#define  Fosc   24000000UL

TH0 = (u8)((65536-Fosc/10000)>>8);    //定時10000Hz(100us)   
TL0 = (u8)(65536-Fosc/10000);   
作者: 一事無成    時間: 2022-9-6 13:41
定時器就是數(shù)輸入時鐘周期個數(shù),比如你這個,輸入時鐘為16MHz,周期即1/16 000 000(s),數(shù)1600個時鐘即1/10 000(s)=0.1(ms)=100(us)。(有的單片機還可以時鐘分頻,所以輸入時鐘不一定是晶振頻率)
THx和TLx是定時器高八位和低八位,可看成是兩個8位寄存器合成的16位寄存器,由于賦值默認從低位取,所以高八位賦值時要右移8位,把原來高八位移到低八位再賦值給THx,是常見的數(shù)據(jù)拆分方法。

很基礎的東西了,多看看書!
作者: yzwzfyz    時間: 2022-9-7 10:45
1600是定時器溢出前CLK的數(shù)量。
定時器是增量計時器,只會做+1。而它是16位的,即加到65536才溢出。
你要+1600次溢出,就要先給個底數(shù),這個底數(shù)就是:65536-1600
1600是你需要的時間,就是1600個CLK需要的時間,沙發(fā)給出的是CLK使用系統(tǒng)晶振的時間。如果CLK取自其它時鐘源,則要用其它時鐘作為時基計算。




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1