標(biāo)題: 51單片機(jī)時間中斷怎么設(shè)定 [打印本頁]

作者: zhangxl    時間: 2022-7-17 16:34
標(biāo)題: 51單片機(jī)時間中斷怎么設(shè)定
新手求教,如題,打算設(shè)定一個50mS的時間中斷怎么設(shè)定,TL和TH的值是怎么計算的?


作者: zhangxl    時間: 2022-7-17 16:35
補充一下TMOD該怎么設(shè)定?
作者: Y_G_G    時間: 2022-7-17 17:57
你是不應(yīng)該問這個問題的,定時器是單片機(jī)學(xué)習(xí)最基礎(chǔ)的知識點之一,你不會,那就說明你沒有看這一章節(jié)的內(nèi)容
你要做的不是找到這個代碼,而是了解定時器的原理,然后自己寫代碼
就算是人家給你代碼了,你也不一定能知道為什么這個要這樣寫,那個要那樣寫
這是12MHZ時鐘下的代碼,你看一下吧
void Timer0Init(void)                //50毫秒@12.000MHz
{
        AUXR &= 0x7F;                //定時器時鐘12T模式
        TMOD &= 0xF0;                //設(shè)置定時器模式
        TL0 = 0xB0;                //設(shè)置定時初始值
        TH0 = 0x3C;                //設(shè)置定時初始值
        TF0 = 0;                //清除TF0標(biāo)志
        TR0 = 1;                //定時器0開始計時
}
作者: 溫xyz    時間: 2022-7-17 18:06
老式51單片機(jī)為12T單片機(jī),一個機(jī)器周期需要12個時鐘。假設(shè)晶振頻率為12MHz,則一個機(jī)器周期是1uS,定時器工作方式1為16位計數(shù)方式,最多能計算65536微秒=65.536毫秒。你需要50毫秒,TH0=15536/256,TL0=15536%256。另外,如果需要更精確定時,就用方式2的8位重裝方式吧。
作者: 溫xyz    時間: 2022-7-17 18:10
zhangxl 發(fā)表于 2022-7-17 16:35
補充一下TMOD該怎么設(shè)定?

TMOD = 0X01 (T0工作在方式1)
TMOD = 0X02 (T0工作在方式2)
TMOD = 0X10 (T1工作在方式1)
TMOD = 0X20 (T1工作在方式2)
作者: xiaojin11111111    時間: 2022-7-17 23:36
b站上有很多關(guān)于51單邊機(jī)學(xué)習(xí)的視頻的,像基礎(chǔ)篇定時器的配置,他們講的還是很詳細(xì)的,建議你可以去看看
作者: wpppmlah    時間: 2022-7-18 08:40
新手除了學(xué)習(xí)基礎(chǔ)知識以外,日常還可以利用一些輔助軟件進(jìn)行定時器的設(shè)置,比如STC的ISP工具(STC芯片的固件下載軟件)。
作者: zhangxl    時間: 2022-7-18 09:06
溫xyz 發(fā)表于 2022-7-17 18:06
老式51單片機(jī)為12T單片機(jī),一個機(jī)器周期需要12個時鐘。假設(shè)晶振頻率為12MHz,則一個機(jī)器周期是1uS,定時器 ...

非常感謝!我已經(jīng)調(diào)試成功了
作者: zhangxl    時間: 2022-7-18 09:07
xiaojin11111111 發(fā)表于 2022-7-17 23:36
b站上有很多關(guān)于51單邊機(jī)學(xué)習(xí)的視頻的,像基礎(chǔ)篇定時器的配置,他們講的還是很詳細(xì)的,建議你可以去看看

謝謝您的推薦
作者: zhxiufan    時間: 2022-7-18 14:39
50毫秒定時的話,定時器必須設(shè)置為方式1,也就是16位定時器模式,51單片機(jī)是溢出時申請中斷的,所以50毫秒定時也即是50000微秒需要在一個“初值”基礎(chǔ)上往上加知道溢出。如果使用12M晶振,那么初值就是65536-50000.到TH和TL上面就是
THn=(65536-50000)/256;
TLn=(65536-50000)%256;
TMOD=0x01;
作者: hb_lhw    時間: 2022-7-18 16:31
我用的是STC的單片機(jī),他們提供的ISP軟件里,有關(guān)于波特率、定時器、軟件延時等各種代碼,方便調(diào)用。

新建文本文檔.jpg (51.91 KB, 下載次數(shù): 85)

新建文本文檔.jpg





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