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

立即注冊 登錄
返回首頁

uid:208050的個人空間

日志

51單片機總結之定時器

已有 1139 次閱讀2017-6-5 15:54 | 單片機, 寄存器, 定時器, 聯想, C語言

1.引言

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


2.定時器的控制寄存器

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


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


下面先對兩個控制寄存器各個位進行總結:

2.1 工作方式寄存器(TMOD)

TCOMD7D6D5D4D3D2D1D0
位名稱GATEC/TM1M0GATEC/TM1M0
功能門控位定時/計數方式選擇工作方式選擇門控位定時/計數方式選擇工作方式選擇
說明高4位控制T1低4位控制T0
 TOMD的結構和各位名稱、功能

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

2.1.1 門控位(GATE)

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

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

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

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

2.1.2 定時/計數模式選擇位(C/T)

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

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

每經過一個機器周期,定時器的數值就會加1,直到計數器產生溢出,最后產生中斷執行自己寫的程序,這個程序就是你想讓單片機計數結束后做什么的程序。


當C/T = 1時,為計數模式,這里不詳細總結了。


另外上電復位后,這里的控制位默認是0,即定時模式。

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

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

2.1.4 注意事項

TMOD不能單獨對一個位置1或清零。只能一個字節的寫入TCOM設置定時器。

另外,CPU復位時TCOM所有的位都清零。

2.2 控制寄存器(TCON)

TCOND7D6D5D4D3D2D1D0
位名稱TF1TR1TF0TR0IE1IT1IE0IT0
功能T1中斷標志T1運行開關T0中斷標志位T0運行開關----
 TCON的結構、位名稱和功能

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

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

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

當定時器Tn(n=0、1)計數溢出后,相應的TFn由硬件自動置1,然后向CPU申請中斷,執行中斷程序。

CPU響應中斷后,硬件自動對TFn清零。


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

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

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

當TRn = 1時,定時器n運行;

當TRn = 0是,定時器n停止。


3.定時器的結構

知道了如何控制定時器之后,現在再來看一下定時器的結構。

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


不同工作方式(M1M0控制),THn和TLn也有不同的功能。我最常用的是使用工作方式1——16位定時器。所以也只是稍微總結一下,因為足夠用了,能做很多事情了。

在這個工作方式下,THn和TLn合起來作為16位計數器。由TLn作為低8位,THn作為高8位(因為L是low,H為High)。當16位計數器溢出時,TFn置1。然后產生中斷,進入并執行中斷程序。

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


路過

雞蛋

鮮花

握手

雷人

全部作者的其他最新日志

評論 (0 個評論)

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

Powered by 單片機教程網

返回頂部
主站蜘蛛池模板: 亚洲欧美国产精品一区二区 | www久久久 | 性高湖久久久久久久久 | 久青草影院| 亚洲三区在线 | 天堂成人av | 欧美日韩在线观看视频 | 国产精品自在线 | 一区二区三区高清 | 男女羞羞视频大全 | 欧美成人免费在线视频 | 欧美日韩大片 | 国产精品久久久久一区二区三区 | 自拍偷拍av | 国产超碰人人爽人人做人人爱 | 亚洲欧美日韩电影 | 美女二区 | 欧美精品日韩精品国产精品 | 男女那个视频 | 天堂一区二区三区四区 | 在线一区| 懂色av蜜桃av | 中国大陆高清aⅴ毛片 | 日本国产精品视频 | 日韩欧美国产不卡 | av三级| 日韩精品一区二区久久 | 作爱视频免费看 | 国产二区精品视频 | 久热国产精品视频 | 成人精品一区二区三区中文字幕 | 91精品国产欧美一区二区成人 | 在线91| 午夜视频在线免费观看 | 四虎av电影 | 在线成人免费视频 | 一区二区三区欧美在线 | 亚洲不卡在线观看 | 久久久女 | 欧美1页 | 久久九九免费 |