請同意并接受《隱私政策》《服務(wù)條款》
時(shí)間 : 2025-02-06
導(dǎo)語:單片機(jī),其實(shí)就是一種用于集成電路中的芯片,而單片機(jī)的定時(shí)器是一個(gè)電子元件,它是一個(gè)穩(wěn)定的計(jì)數(shù)器,是由單片機(jī)本身提供的。它也是單片機(jī)上的一個(gè)連接部件,可以用來編程。定時(shí)器還有一個(gè)功能顯而易見就是可以用來定時(shí),同時(shí),它也可以用來統(tǒng)計(jì)一些脈沖信號。下面就來介紹下單片機(jī)定時(shí)器的使用的相關(guān)內(nèi)容。
定時(shí)器的結(jié)構(gòu)
定時(shí)器是由兩個(gè)寄存器組成的,其中一個(gè)寄存器是用來確定計(jì)數(shù)器的工作形式和功能的,另外一個(gè)計(jì)時(shí)器是用來控制單片機(jī)的啟動和停止的,同時(shí)它也是設(shè)置溢出的一個(gè)標(biāo)志。
計(jì)數(shù)過程
每來一個(gè)脈沖計(jì)數(shù)器加1,當(dāng)加到計(jì)數(shù)器為全1(即FFFFH)時(shí),再輸入一個(gè)脈沖就使計(jì)數(shù)器回零,且計(jì)數(shù)器的溢出使TCON中TF0或TF1置1,向CPU發(fā)出中斷請求(定時(shí)器/計(jì)數(shù)器中斷允許時(shí))。如果定時(shí)器/計(jì)數(shù)器工作于定時(shí)模式,則表示定時(shí)時(shí)間已到;如果工作于計(jì)數(shù)模式,則表示計(jì)數(shù)值已滿。
定時(shí)應(yīng)用
用作定時(shí)器:此時(shí)設(shè)置為定時(shí)器模式,加1計(jì)數(shù)器是對內(nèi)部機(jī)器周期計(jì)數(shù)(1個(gè)機(jī)器周期等于12個(gè)振蕩周期,即計(jì)數(shù)頻率為晶振頻率的1/12)。計(jì)數(shù)值N乘以機(jī)器周期Tcy就是定時(shí)時(shí)間t 。
計(jì)數(shù)運(yùn)用
用作計(jì)數(shù)器:此時(shí)設(shè)置為計(jì)數(shù)器模式,外部事件計(jì)數(shù)脈沖由T0或T1引腳輸入到計(jì)數(shù)器。每來一個(gè)外部脈沖,計(jì)數(shù)器加1。但單片機(jī)對外部脈沖有基本要求:脈沖的高低電平持續(xù)時(shí)間都必須大于1個(gè)機(jī)器周期。
定時(shí)器的使用
定時(shí)器的使用主要分為五個(gè)步驟,首先是要打開中斷的可以允許的位置,主要是對IE寄存器的控制,然后選擇定時(shí)器的工作的形式,定時(shí)器的一個(gè)格式是TMOD的形式,主要有四種方式。第一種計(jì)數(shù)的方式是十三位加一的形式,第二種是十六位加一的計(jì)數(shù)器,第三種的定數(shù)器被分解成兩部分,一個(gè)是八位的寄存器,另外一個(gè)是八位的計(jì)數(shù)器。第三步就是要為定時(shí)器進(jìn)行賦值,首先定時(shí)器的初值是等于計(jì)數(shù)器模值減去計(jì)數(shù)器記滿的招滿值,而定時(shí)器的初值是等于模值減去預(yù)定時(shí)的時(shí)間與單片機(jī)時(shí)鐘周期的十二倍。接下來就是啟動計(jì)時(shí)器,當(dāng)TRO為0的時(shí)候,停止TO開始計(jì)數(shù),而TRO值為1的時(shí)候,就啟動TO進(jìn)行計(jì)數(shù)。當(dāng)TFO為0的時(shí)候,沒有TO的中斷,這時(shí)是沒有硬件復(fù)位,而當(dāng)值為1的時(shí)候有TO溢出中斷的情況。當(dāng)TR1為0的時(shí)候,停止TI進(jìn)行計(jì)數(shù),而值為1的時(shí)候開啟T1進(jìn)行計(jì)數(shù)。
當(dāng)TF1為0的時(shí)候,沒有T1的中斷,為1 的時(shí)候會出現(xiàn)T1的溢出中斷情況。當(dāng)IE1的值為0的時(shí)候時(shí),出現(xiàn)硬件的復(fù)位而當(dāng)其值為1的時(shí)候出現(xiàn)中斷。當(dāng)IT1的值為0的時(shí)候INT1出現(xiàn)電平觸發(fā)的情況,也就是軟件復(fù)位,而當(dāng)值為1的時(shí)候,INT1的負(fù)邊沿會出現(xiàn)觸發(fā)的情況。當(dāng)IE0的值為0時(shí)會出現(xiàn)硬件復(fù)位,而當(dāng)IEO的值為1的時(shí)候,INT0上會有中斷的情況。當(dāng) IT0的值為0時(shí),INT0會發(fā)生電平觸發(fā),也就是軟件復(fù)位,同時(shí)INT0的負(fù)邊沿觸發(fā)。最后一步就是計(jì)數(shù)器中斷入口程序。
定時(shí)器/計(jì)數(shù)器的工作方式
方式0為13位計(jì)數(shù),由TL0的低5位(高3位未用)和TH0的8位組成TL0的低5位溢出時(shí)向TH0進(jìn)位,TH0溢出時(shí),置位TCON中的TF0標(biāo)志,向CPU發(fā)出中斷請求。
方式1的計(jì)數(shù)位數(shù)是16位,由TL0(TL1)作為低8位、TH0(TH1)作為高8位,組成了16位加1計(jì)數(shù)器 。
方式2為自動重裝初值的8位計(jì)數(shù)方式。
在方式2下,當(dāng)計(jì)數(shù)器計(jì)滿255(FFH)溢出時(shí),CPU自動把TH 的值裝入TL中,不需用戶干預(yù)。因此特別適合于用作較精確的脈沖信號發(fā)生器。
方式3只適用于定時(shí)器/計(jì)數(shù)器T0,定時(shí)器T1方式3時(shí)相當(dāng)于TR1=0,停止計(jì)數(shù)。
工作方式3將T0分成為兩個(gè)獨(dú)立的8位計(jì)數(shù)器TL0和TH0 。
總而言之,定時(shí)器的使用可以為單片機(jī)的功能增加一些性能上的增強(qiáng)。所以,合理的運(yùn)用定時(shí)器將會幫助我們使用單片機(jī)。以上就是有關(guān)單片機(jī)定時(shí)器的使用的相關(guān)內(nèi)容,希望能對大家有所幫助!
上述內(nèi)容來自用戶自行上傳或互聯(lián)網(wǎng),如有版權(quán)問題,請聯(lián)系zxcq@corp.to8to.com 。
發(fā)表評論