找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2301|回復(fù): 10
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)時(shí)間中斷怎么設(shè)定

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
新手求教,如題,打算設(shè)定一個(gè)50mS的時(shí)間中斷怎么設(shè)定,TL和TH的值是怎么計(jì)算的?

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:698558 發(fā)表于 2022-7-17 16:35 | 只看該作者
補(bǔ)充一下TMOD該怎么設(shè)定?
回復(fù)

使用道具 舉報(bào)

板凳
ID:401564 發(fā)表于 2022-7-17 17:57 | 只看該作者
你是不應(yīng)該問這個(gè)問題的,定時(shí)器是單片機(jī)學(xué)習(xí)最基礎(chǔ)的知識(shí)點(diǎn)之一,你不會(huì),那就說明你沒有看這一章節(jié)的內(nèi)容
你要做的不是找到這個(gè)代碼,而是了解定時(shí)器的原理,然后自己寫代碼
就算是人家給你代碼了,你也不一定能知道為什么這個(gè)要這樣寫,那個(gè)要那樣寫
這是12MHZ時(shí)鐘下的代碼,你看一下吧
void Timer0Init(void)                //50毫秒@12.000MHz
{
        AUXR &= 0x7F;                //定時(shí)器時(shí)鐘12T模式
        TMOD &= 0xF0;                //設(shè)置定時(shí)器模式
        TL0 = 0xB0;                //設(shè)置定時(shí)初始值
        TH0 = 0x3C;                //設(shè)置定時(shí)初始值
        TF0 = 0;                //清除TF0標(biāo)志
        TR0 = 1;                //定時(shí)器0開始計(jì)時(shí)
}
回復(fù)

使用道具 舉報(bào)

地板
ID:8222 發(fā)表于 2022-7-17 18:06 | 只看該作者
老式51單片機(jī)為12T單片機(jī),一個(gè)機(jī)器周期需要12個(gè)時(shí)鐘。假設(shè)晶振頻率為12MHz,則一個(gè)機(jī)器周期是1uS,定時(shí)器工作方式1為16位計(jì)數(shù)方式,最多能計(jì)算65536微秒=65.536毫秒。你需要50毫秒,TH0=15536/256,TL0=15536%256。另外,如果需要更精確定時(shí),就用方式2的8位重裝方式吧。
回復(fù)

使用道具 舉報(bào)

5#
ID:8222 發(fā)表于 2022-7-17 18:10 | 只看該作者
zhangxl 發(fā)表于 2022-7-17 16:35
補(bǔ)充一下TMOD該怎么設(shè)定?

TMOD = 0X01 (T0工作在方式1)
TMOD = 0X02 (T0工作在方式2)
TMOD = 0X10 (T1工作在方式1)
TMOD = 0X20 (T1工作在方式2)
回復(fù)

使用道具 舉報(bào)

6#
ID:1009217 發(fā)表于 2022-7-17 23:36 | 只看該作者
b站上有很多關(guān)于51單邊機(jī)學(xué)習(xí)的視頻的,像基礎(chǔ)篇定時(shí)器的配置,他們講的還是很詳細(xì)的,建議你可以去看看
回復(fù)

使用道具 舉報(bào)

7#
ID:68189 發(fā)表于 2022-7-18 08:40 | 只看該作者
新手除了學(xué)習(xí)基礎(chǔ)知識(shí)以外,日常還可以利用一些輔助軟件進(jìn)行定時(shí)器的設(shè)置,比如STC的ISP工具(STC芯片的固件下載軟件)。
回復(fù)

使用道具 舉報(bào)

8#
ID:698558 發(fā)表于 2022-7-18 09:06 | 只看該作者
溫xyz 發(fā)表于 2022-7-17 18:06
老式51單片機(jī)為12T單片機(jī),一個(gè)機(jī)器周期需要12個(gè)時(shí)鐘。假設(shè)晶振頻率為12MHz,則一個(gè)機(jī)器周期是1uS,定時(shí)器 ...

非常感謝!我已經(jīng)調(diào)試成功了
回復(fù)

使用道具 舉報(bào)

9#
ID:698558 發(fā)表于 2022-7-18 09:07 | 只看該作者
xiaojin11111111 發(fā)表于 2022-7-17 23:36
b站上有很多關(guān)于51單邊機(jī)學(xué)習(xí)的視頻的,像基礎(chǔ)篇定時(shí)器的配置,他們講的還是很詳細(xì)的,建議你可以去看看

謝謝您的推薦
回復(fù)

使用道具 舉報(bào)

10#
ID:121859 發(fā)表于 2022-7-18 14:39 | 只看該作者
50毫秒定時(shí)的話,定時(shí)器必須設(shè)置為方式1,也就是16位定時(shí)器模式,51單片機(jī)是溢出時(shí)申請(qǐng)中斷的,所以50毫秒定時(shí)也即是50000微秒需要在一個(gè)“初值”基礎(chǔ)上往上加知道溢出。如果使用12M晶振,那么初值就是65536-50000.到TH和TL上面就是
THn=(65536-50000)/256;
TLn=(65536-50000)%256;
TMOD=0x01;
回復(fù)

使用道具 舉報(bào)

11#
ID:1006814 發(fā)表于 2022-7-18 16:31 | 只看該作者
我用的是STC的單片機(jī),他們提供的ISP軟件里,有關(guān)于波特率、定時(shí)器、軟件延時(shí)等各種代碼,方便調(diào)用。

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

新建文本文檔.jpg
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表