單片機(jī)定時(shí)器/計(jì)數(shù)器通道內(nèi)部結(jié)構(gòu)及工作原理
在80C51單片機(jī)內(nèi)部,有2個(gè)定時(shí)器/計(jì)數(shù)器,分別稱為定時(shí)器/計(jì)數(shù)器0、定時(shí)器/計(jì)數(shù)器1。每個(gè)定時(shí)器/計(jì)數(shù)器都具有計(jì)數(shù)和定時(shí)兩大功能,并具有3~4種工作方式?,F(xiàn)用定時(shí)器/計(jì)數(shù)器0的方式1來(lái)說(shuō)明定時(shí)器/計(jì)數(shù)器內(nèi)部結(jié)構(gòu)與工作原理。
1.定時(shí)器/計(jì)數(shù)器通道內(nèi)部結(jié)構(gòu)及工作原理<?XML:NAMESPACE PREFIX = O />
80C51單片機(jī)定時(shí)器計(jì)數(shù)器0內(nèi)部結(jié)構(gòu)如圖6-7所示。定時(shí)/計(jì)數(shù)器內(nèi)的核心器件是加1計(jì)數(shù)器,加1計(jì)數(shù)器由兩個(gè)特殊功能寄存器TH0與TL0組成。當(dāng)定時(shí)計(jì)數(shù)器工作于定時(shí)方式,加1脈沖由系統(tǒng)時(shí)鐘fosc經(jīng)12分頻后產(chǎn)生。當(dāng)定時(shí)計(jì)數(shù)器工作于計(jì)數(shù)方式,加1脈沖由T0引腳直接提供。定時(shí)器工作于定時(shí)還是計(jì)數(shù)方式,取決于選擇開(kāi)關(guān)<?XML:NAMESPACE PREFIX = V /> ,當(dāng)
=0時(shí)工作于定時(shí)方式,
=1時(shí)工作于計(jì)數(shù)方式。加1脈沖要經(jīng)過(guò)啟動(dòng)開(kāi)關(guān)才能到達(dá)加1計(jì)數(shù)器,啟動(dòng)開(kāi)關(guān)由與門的輸出端控制,其輸入端分別接啟動(dòng)控制位TR0與或門輸出端?;蜷T的輸入端分別接GATE位與外部中斷引腳
。啟動(dòng)開(kāi)關(guān)的控制方式將在下文中介紹。當(dāng)加1 計(jì)數(shù)器溢出時(shí),由硬件自動(dòng)將中斷標(biāo)志TF0置1,以此向CPU發(fā)中斷請(qǐng)求。
定時(shí)計(jì)數(shù)器4種工作方式的主要區(qū)別在于加1計(jì)數(shù)器,加1計(jì)數(shù)器可以是由TH0、TL0組成的16位或13位計(jì)數(shù)器,也可以TL0組成的8位計(jì)數(shù)器。關(guān)于4種方式將在后文詳細(xì)介紹。
2.計(jì)數(shù)功能
計(jì)數(shù)功能的實(shí)質(zhì)就是對(duì)外來(lái)負(fù)脈沖進(jìn)行計(jì)數(shù)。80C51單片機(jī)用T0(P3.4)、T1(P3.5)兩個(gè)引腳輸入定時(shí)計(jì)數(shù)器0與定時(shí)計(jì)數(shù)器1計(jì)數(shù)脈沖信號(hào)。
注意:計(jì)數(shù)方式下是對(duì)外來(lái)負(fù)脈沖進(jìn)行計(jì)數(shù),且到達(dá)T0(T1)端時(shí)不一定有規(guī)律。
3.定時(shí)功能
定時(shí)的實(shí)質(zhì)也是計(jì)數(shù),不過(guò)定時(shí)時(shí)間不是對(duì)外來(lái)脈沖進(jìn)行計(jì)數(shù),而是對(duì)CPU的內(nèi)部時(shí)鐘脈沖的12分頻(機(jī)器周期)進(jìn)行計(jì)數(shù),即每過(guò)一個(gè)機(jī)器周期就加一次1。例如:設(shè)計(jì)數(shù)器是8位的TL0,計(jì)數(shù)初值為100,CPU時(shí)鐘頻率為12MHz,則機(jī)器周期為1μs,當(dāng)產(chǎn)生計(jì)數(shù)溢出時(shí),表示定時(shí)了(256-100)´1μs=156μs,從而就起到了定時(shí)器的作用。

編輯:admin 最后修改時(shí)間:2018-05-08