<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 51單片機——定時(shí)/計數器

51單片機——定時(shí)/計數器

作者: 時(shí)間:2016-11-26 來(lái)源:網(wǎng)絡(luò ) 收藏

一.定時(shí)器操作步驟

?定時(shí)器操作步驟

二.工作方式控制寄存器TMOD

?工作方式控制寄存器TMOD

TMOD的低半字節(D0,D1,D2,D3)用來(lái)控制定時(shí)器/計數器0

本文引用地址:http://dyxdggzs.com/article/201611/321840.htm

TMOD的高半字節(D4,D5,D6,D7)用來(lái)控制定時(shí)器/計數器1

對TMOD中的內容說(shuō)明:

GATE——門(mén)控制 

GATE=1時(shí),由外部中斷引腳INT0、INT1來(lái)啟動(dòng)定時(shí)器T0、T1。   

當INT0引腳為高電平時(shí)TR0置位,啟動(dòng)定時(shí)器T0;   

當INT1引腳為高電平時(shí)TR1置位,啟動(dòng)定時(shí)器T1。   

GATE=0時(shí),僅由TR0,TR1置位分別啟動(dòng)定時(shí)器T0、T1。

C/T——功能選擇位   

C/T=0時(shí)為定時(shí)功能,

C/T=1時(shí)為計數功能。     ?

M0、M1——方式選擇功能   

由于有2位,因此有4種工作方式:

?定時(shí)/計數器工作方式

三.根據單片機晶振,所選TMOD的的工作方式,所要定的時(shí)間,來(lái)確定THO和TLO所要賦予的初值:

(以12M晶振,工作方式1即16位計數器為例,設所定時(shí)間為Xus(16為計數器最大數65536,即65536us,若所?定時(shí)間大于65535,則要用if語(yǔ)句控制,現假設X<65535))

1.時(shí)鐘周期的時(shí)間t=1/12M=1/12 us

2.機器周期的時(shí)間T=12*1/12=1 us

3.因為每經(jīng)過(guò)一個(gè)機器周期計數器+1,所以,計數器+1,經(jīng)過(guò)的時(shí)間為 1 us。

若所定時(shí)間為X,則要求經(jīng)過(guò)Xus,中斷響應,又因為16位計數器要全部置1(即達到65535)+1后,中斷才會(huì )響應,所以,初值=(65536-X)

4.將初值轉化為16進(jìn)制碼,分別付給TH0和TL0

eg:所定時(shí)間5ms

初值=(65536-5000)=60536=EC78

TH0=0xEC;TL0=0x78;

(當工作方式不同時(shí),TH0/TL0的賦值也不同,個(gè)人覺(jué)得有了16位計數器了,其余的沒(méi)什么用,不介紹了)

5.寫(xiě)程序時(shí)另一種THO/TLO賦值方法

TH0=(65536-20000)/256;

TL0=(65536-20000)%6;

這樣設置,每經(jīng)過(guò)20ms,發(fā)生一次中斷,中斷時(shí)間一般以秒為單位,所以經(jīng)過(guò)n次中斷即可。

四.中斷開(kāi)啟

注:在用到中斷時(shí),必須要開(kāi)總中斷EA,即EA=1。 //開(kāi)總中斷

1.中斷允許控制寄存器IE

?中斷允許寄存器

EX0(EX1):外部中斷允許控制位

EX0=1 外部中斷0開(kāi)關(guān)閉合 //開(kāi)外部中斷0

EX0=0 外部中斷0開(kāi)關(guān)斷開(kāi)

ET0(ET1):定時(shí)中斷允許控制位

ET0=1 定時(shí)器中斷0開(kāi)關(guān)閉合 //開(kāi)內部中斷0

ET0=0 定時(shí)器中斷0開(kāi)關(guān)斷開(kāi)

ES: 串口中斷允許控制位

ES=1 串口中斷開(kāi)關(guān)閉合 //開(kāi)串口中斷

ES=0 串口中斷開(kāi)關(guān)斷開(kāi)

?2.定時(shí)器控制寄存器 TCON //控制外部中斷和定時(shí)器中斷

?定時(shí)器/計數器控制寄存器

外部中斷:

IE0(IE1):外部中斷請求標志位

當INT0(INT1)引腳出現有效的請求信號,此位由單片機自動(dòng)置1,cpu開(kāi)始響應,處理終端,而當入中斷程序后由單片機自動(dòng)置0.

//外部中斷,即外部中斷相應的引腳接入低電平或下降沿信號時(shí),中斷開(kāi)始響應。

IT0(IT1):外部中斷觸發(fā)方式控制位 //選擇有效信號

IT0(IT1)=1:脈沖觸發(fā)方式,下降沿有效。

IT0(IT1)=0:電平觸發(fā)方式,低電平有效。

內部中斷:

TF0(TF1):內部定時(shí)器/計數器溢出中斷標志位

當定時(shí)器、計數器計數溢出的時(shí)候,此位由單片機自動(dòng)置1,cup開(kāi)始響應,處理中斷,而當進(jìn)入中斷程序后由單片機自動(dòng)置0.

//內部中斷實(shí)際上就是利用內部的計數器,只不過(guò)提供計數的脈沖來(lái)自單片機自身。

TR0(TR1):定時(shí)器/計數器啟動(dòng)位 //啟動(dòng)定時(shí)器

TR0(TR1)=1;啟動(dòng)定時(shí)器/計數器0

TR0(TR1)=0; 關(guān)閉定時(shí)器/計數器0



關(guān)鍵詞: 51單片機定時(shí)計數

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>