久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

立即注冊 登錄
返回首頁

uid:208050的個人空間

日志

51單片機(jī)總結(jié)之定時器

已有 1146 次閱讀2017-6-5 15:54 | 單片機(jī), 寄存器, 定時器, 聯(lián)想, C語言

1.引言

我開始看單片機(jī)的書籍比較早,只有C語言基礎(chǔ)而沒有數(shù)電基礎(chǔ)(不知道要學(xué)),所以我在很多地方概念都是模模糊糊的。尤其是什么控制位什么寄存器什么邏輯電路都不懂,只純粹的想寫C語言操作單片機(jī)就行了。現(xiàn)在有了一定的基礎(chǔ),發(fā)現(xiàn)了很多以前知其然不知其所以然的東西,所以在這里稍微的總結(jié)一下,同時我想可能對基礎(chǔ)不扎實(shí)的同學(xué)有一定的幫助(其實(shí)我基礎(chǔ)也不扎實(shí)~嘻嘻)。


2.定時器的控制寄存器

對硬件(單片機(jī))的操作,從本質(zhì)上將就是對寄存器的操作。一個寄存器通常是1字節(jié),即8位。每一位(bit)可以聯(lián)想成一個開關(guān),打開這個開關(guān)就能做一件事,關(guān)閉這個開關(guān)就能停止做一件事。


8051系列的單片機(jī)中定時器由兩個寄存器控制,這兩個寄存器名稱分別是TMOD(Time Mode,工作方式寄存器)和TCON(Time Configuration,控制寄存器)。因?yàn)檫@些寄存器是操作單片機(jī)中定時器的,有特殊功能作用,所以屬于特殊功能寄存器而不是通用寄存器。另外想要記住這兩個寄存器的名稱也很簡單,用英文全稱來記憶。


下面先對兩個控制寄存器各個位進(jìn)行總結(jié):

2.1 工作方式寄存器(TMOD)

TCOMD7D6D5D4D3D2D1D0
位名稱GATEC/TM1M0GATEC/TM1M0
功能門控位定時/計(jì)數(shù)方式選擇工作方式選擇門控位定時/計(jì)數(shù)方式選擇工作方式選擇
說明高4位控制T1低4位控制T0
 TOMD的結(jié)構(gòu)和各位名稱、功能

51單片機(jī)有兩個定時器,其中TMOD的高四位控制定時器1,低四位控制定時器0。

2.1.1 門控位(GATE)

我初學(xué)的時候沒有用到這個位,不過我還是簡單對它總結(jié)一下吧:

可以通過編程對這個位置1或清零。

當(dāng)GATE = 0時,只要使TCON中的TR0或TR1置1,就可以啟動定時器了。

當(dāng)GATE = 1時,除了使TCON中的TR0和TR1置1以外,還需要外部中斷INT0或INT1為高電平,才能啟動定時器。即比GATE = 0時多一個啟動條件。

2.1.2 定時/計(jì)數(shù)模式選擇位(C/T)

其中C的英文全稱是Count,意思是計(jì)數(shù)器。T是Timer,定時器。置1為選擇計(jì)數(shù)器工作模式,置0為選擇定時器工作模式。(T上面應(yīng)該畫一橫的,表示低電平有效)。

當(dāng)C/T = 0時,為定時模式。此時定時器計(jì)數(shù)的時間是一個機(jī)器周期,一個機(jī)器周期的時間長度和晶振頻率有關(guān)。大家都知道周期T和頻率f是互為倒數(shù)的關(guān)系。而知道了晶振頻率fosc后,還要除以12(硬件內(nèi)部結(jié)構(gòu)12分頻的結(jié)果),它的倒數(shù)就是一個機(jī)器周期。即如果單片機(jī)采用12MHz的晶振,那么機(jī)器周期就是1微秒。

每經(jīng)過一個機(jī)器周期,定時器的數(shù)值就會加1,直到計(jì)數(shù)器產(chǎn)生溢出,最后產(chǎn)生中斷執(zhí)行自己寫的程序,這個程序就是你想讓單片機(jī)計(jì)數(shù)結(jié)束后做什么的程序。


當(dāng)C/T = 1時,為計(jì)數(shù)模式,這里不詳細(xì)總結(jié)了。


另外上電復(fù)位后,這里的控制位默認(rèn)是0,即定時模式。

2.1.3 工作方式選擇(M1和M2)

M1M0工作方式說明
00方式013位定時器
01方式116位定時器
10方式28位自動重裝定時器
11方式3T0分成兩個獨(dú)立的8位定時器;T1停止使用
 定時器工作方式設(shè)置表

2.1.4 注意事項(xiàng)

TMOD不能單獨(dú)對一個位置1或清零。只能一個字節(jié)的寫入TCOM設(shè)置定時器。

另外,CPU復(fù)位時TCOM所有的位都清零。

2.2 控制寄存器(TCON)

TCOND7D6D5D4D3D2D1D0
位名稱TF1TR1TF0TR0IE1IT1IE0IT0
功能T1中斷標(biāo)志T1運(yùn)行開關(guān)T0中斷標(biāo)志位T0運(yùn)行開關(guān)----
 TCON的結(jié)構(gòu)、位名稱和功能

這里主要關(guān)注TCON高四位,低四位是和外部中斷有關(guān)的控制位。

2.2.1 溢出中斷請求標(biāo)志位(TFn)

標(biāo)題上的TFn中的n表示0或1,即溢出中斷請求標(biāo)志位分別有TF0和TF1。TF的英文全稱是Timer overflow Flag,即定時器溢出標(biāo)志位。

當(dāng)定時器Tn(n=0、1)計(jì)數(shù)溢出后,相應(yīng)的TFn由硬件自動置1,然后向CPU申請中斷,執(zhí)行中斷程序。

CPU響應(yīng)中斷后,硬件自動對TFn清零。


另外,TFn也可以在程序中置1或清零。

2.2.2 定時器運(yùn)行控制位(TRn)

TR的英文全稱是Timer Run,即定時器運(yùn)行(控制位)。

當(dāng)TRn = 1時,定時器n運(yùn)行;

當(dāng)TRn = 0是,定時器n停止。


3.定時器的結(jié)構(gòu)

知道了如何控制定時器之后,現(xiàn)在再來看一下定時器的結(jié)構(gòu)。

定時器的實(shí)質(zhì)是加一計(jì)數(shù)器(16位),由高8位和低8位兩個寄存器組成(THn和TLn)。


不同工作方式(M1M0控制),THn和TLn也有不同的功能。我最常用的是使用工作方式1——16位定時器。所以也只是稍微總結(jié)一下,因?yàn)樽銐蛴昧耍茏龊芏嗍虑榱恕?/span>

在這個工作方式下,THn和TLn合起來作為16位計(jì)數(shù)器。由TLn作為低8位,THn作為高8位(因?yàn)長是low,H為High)。當(dāng)16位計(jì)數(shù)器溢出時,TFn置1。然后產(chǎn)生中斷,進(jìn)入并執(zhí)行中斷程序。

若使用12MHZ的晶振,定時器每加1則需要1微秒時間,如果把THn和THn都置為00H,當(dāng)定時器溢出并產(chǎn)生中斷的時候,就已經(jīng)過了65536微秒(2^13次方微秒)。


路過

雞蛋

鮮花

握手

雷人

全部作者的其他最新日志

評論 (0 個評論)

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

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

返回頂部
主站蜘蛛池模板: 精品在线免费看 | 国产精品免费一区二区三区四区 | 99久久99 | 91精品国产91久久久久久不卞 | 亚洲成人久久久 | 国产精品毛片无码 | 毛片av免费在线观看 | 精品欧美一区二区三区久久久 | 亚洲欧美日韩电影 | 亚洲免费一区二区 | 成人免费视频在线观看 | 少妇午夜一级艳片欧美精品 | 97精品国产| 免费黄色网址视频 | 91精品中文字幕一区二区三区 | 国产97在线视频 | 久草在线在线精品观看 | 日韩在线观看视频一区 | 麻豆av一区二区三区久久 | 日韩在线观看一区二区三区 | 人人天天操 | 国产成人综合亚洲欧美94在线 | 日韩高清一区 | 日本精品久久久一区二区三区 | 97视频精品 | 九九热精品视频 | 嫩草视频网 | 久久成人精品视频 | 亚洲综合电影 | 国产精品久久久久无码av | 国产在线播 | japan25hdxxxx日本| 羞羞视频在线免费 | 日韩精品在线视频 | 精品国产区| 男女在线网站 | 黄色av网站在线免费观看 | 高清久久久 | 亚洲91视频| 亚洲一区二区三区四区五区午夜 | 看一级毛片 |