導航:首頁 > 操作系統 > 單片機定時1ms

單片機定時1ms

發布時間:2024-10-23 17:30:22

單片機如何精確定時1秒鍾

採用定時器定時很精確的,如果定時時間為1ms,那循環1000次就是1s。定時初值要看你採用的晶振頻率了,下面是12M晶振,定時器0的定時1ms程序。
timer0() interrupt 1 // 1ms延時(12.0MHz)
{
TR0=0;
ET0=0;
TH0=0xfc;
TL0=0x18;
if(delayTimes1!=0) delayTimes1--;
TR0=1;
ET0=1;
}
當要程序中把delayTimes1賦值1000後,等到delayTimes1為0的時候定時1s鍾到

⑵ 單片機中定時器的初值產生1ms的定時,到底是65536-1000還是65535-1000 為什麼啊急急急

定時器計數最大值為65535,再計一次則溢出,產生中斷。也就是說初值設置成65535(65536-1)時,定時1個機器周期。所以正確答案是65536-1000,此時定時1000個機器周期,12M晶振1個機器周期為1微秒,1000個就是1ms啦!

⑶ 51單片機的定時器的時間怎麼算

51單片機1個機器周期=12個時鍾周期,頻率為12MHZ,則一個機器周期為1US,具體到定時器程序就是,假如你想定1MS,那麼單片機每次加一個一,就要過1US,那麼1MS就要加1000次,所以用65535-1000=64535;再把64535換成16進制為FC17,把FC付給TH0,17給TLO,即可定時1MS,因為65535他就溢出進入中斷。

⑷ 單片機編寫一個能延時1秒的子程序

通用辦法,可以類推:

DELAY1s:
MOVR5,#08H;∵1s=1000000us
MOVR6,#0A2H;∴1000000/2=500000
MOVR7,#20H;500000用16進製表示為:07A120
;所以R5=07H+1=08H
;R6=0A1H+1=0A2H
;R7=20H
loop:DJNZR7,$;延時時間≈2×[(R5-1)×256+R6-1]×256+R7
DJNZR6,loop;當R5、R6等於0,相當於256參與運算
DJNZR5,loop;當R5、R6等於0,相當於256參與運算
RET

⑸ 單片機關於定時器,定時1ms,定時器中寄存器高低位的值如何設置

你要定時 1ms 即是 1000uS,之所以是減 1000,就是認定計數器的計數脈沖周期為 1uS,
而 1uS 就是晶振(12MHz)的12分頻;
這些你理解就好;
至於計數分頻值是 0xfc18 還是 0xfc67 不必太在意,如果真的想得到准確的定時,則是需要通過測量以便調節分頻值來得到最接近值;

閱讀全文

與單片機定時1ms相關的資料

熱點內容
什麼app可以教你化妝 瀏覽:541
程序員加班996怎麼過 瀏覽:823
有個什麼tv美女直播app 瀏覽:856
編譯gcc比較全的參數 瀏覽:199
stvd取消編譯器優化 瀏覽:418
pdf存儲格式 瀏覽:585
加密軟體提取時沒有這個鍵怎麼辦 瀏覽:909
可以用命令行做什麼好玩的東西 瀏覽:132
榮耀30s帶方丹編譯器嗎 瀏覽:51
黑甲蟲加密軟體加密後文件不見了 瀏覽:273
惠州程序員名單 瀏覽:176
java可移植性 瀏覽:737
加密卡寫卡工具 瀏覽:392
德善緣app是干什麼的 瀏覽:817
中山雲存儲伺服器 瀏覽:686
google蜂鳥演算法 瀏覽:942
為什麼程序員這么受人詬病 瀏覽:99
linuxgtk編程 瀏覽:255
迪拜用什麼app打車 瀏覽:633
java字元串不轉義 瀏覽:308