<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單片機系列連載6—定時(shí)器初始化補充

51單片機系列連載6—定時(shí)器初始化補充

作者: 時(shí)間:2016-11-27 來(lái)源:網(wǎng)絡(luò ) 收藏
在上一節中提到定時(shí)器很重要,而對于定時(shí)器來(lái)說(shuō),就是簡(jiǎn)單的一個(gè)初始化,只要把這個(gè)弄明白了,后面的編程操作也就水到渠成了,今天再簡(jiǎn)單地對定時(shí)器初始化做個(gè)補充。

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

首先,再說(shuō)一下T/C(定時(shí)器/計數器)的基本結構,它們基本部件是2個(gè)8位的計數器,其中TH1和TL1是T1的計數器,TH0和TL0是T0的計數器,記住這兩個(gè)計數器,后面的操作都是圍繞這兩個(gè)展開(kāi)的,要有這種意識。

在作為定時(shí)器使用時(shí),是對單片機內部機器周期的計數,因其內部頻率為晶振頻率的1/12,如果晶振頻率為12MHz,則定時(shí)器每接受一個(gè)輸入脈沖的時(shí)間為1us,后面很多定時(shí)都用到這個(gè)基本常識。

當它用作對外部事件計數時(shí),接相應的外部引腳T0(P3.4)或T1(P3.5)。在這種情況下,當檢測到輸入引腳上的電平由高跳變到低時(shí),計數器就加1。

再強化一下初始化的步驟:

在使用T/C前,要對它進(jìn)行初始化編程,主要是對TCON和TMOD編程,還需要計算很裝載T/C的計數初值。包括以下幾點(diǎn):

1、確定T/C的工作方式——編程TMOD寄存器;

2、計算T/C的計數初值,并裝載到TH和TL;

3、T/C在中斷方式工作時(shí),需要cpu中斷和源中斷——編程IE寄存器;

4、啟動(dòng)T/C——編程TCON中的TR1或TR0位。

接下來(lái),重點(diǎn)講一下計數初值的計算。

首先,計數器初值的計算。一般方式一與方式二是最常見(jiàn)的,在方式1中,16位計數器的最大計數值為216=65536,計數初值在寄存器中為T(mén)H=X/256,TL=X%6;在方式二中,8位計數器的最大計數值為28=256,計數初值在寄存器中為T(mén)H=TL=X。

其次,定時(shí)器初值的計算。這時(shí),T/C是對機器周期脈沖計數的,前面提到,若晶振頻率為12MHz,則機器周期是1us,后面的與計數器的一樣,只是這里的最大計數值是最大定時(shí)間隔。

t=(2n-X)*T,其中,t為定時(shí)時(shí)間,X為計數初值,T為機器周期。

看一個(gè)實(shí)例,單片機外接晶振頻率為12MHz,T/C0工作于定時(shí)方式,且允許中斷,定時(shí)時(shí)間為20ms,令其工作在方式1.用C語(yǔ)言進(jìn)行初始化編程。

T/C0工作于定時(shí)方式,從而C/T=0,GATE=0.定時(shí)器0工作于方式1,,所以M1M0=01.定時(shí)器1不用,TMOD=00000001=01H.計數寄存器初值分別為:TH0=(65536-20000)/256,TL0=(65536-20000)%6,因此初始化程序如下:

TMOD=0X01;//設置定時(shí)器工作方式

TH0=(65536-20000)/256;//加1計數器高8位TH0賦初值

TL0=(65536-20000)%6;//加1計數器低8位TL0賦初值

TR0=1;//啟動(dòng)計數器

ET0=1;//開(kāi)計數器中斷

EA=1;



評論


技術(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>