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