




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一第第6 6章章 定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一 6.1 定時(shí)器定時(shí)器/計(jì)數(shù)器結(jié)構(gòu)計(jì)數(shù)器結(jié)構(gòu) 6.2 定時(shí)器定時(shí)器/計(jì)數(shù)器的四種工作方式計(jì)數(shù)器的四種工作方式 6.3 定時(shí)器定時(shí)器/計(jì)數(shù)器對(duì)輸入信號(hào)的要求計(jì)數(shù)器對(duì)輸入信號(hào)的要求 6.4 定時(shí)器定時(shí)器/計(jì)數(shù)器編程和應(yīng)用計(jì)數(shù)器編程和應(yīng)用教學(xué)內(nèi)容教學(xué)內(nèi)容電氣工程學(xué)院電氣工程學(xué)院Electrical Engi
2、neering Institute of NEDU2022年5月9日星期一6.1.1 6.1.1 定時(shí)定時(shí)/ /計(jì)數(shù)器的結(jié)構(gòu)與原理計(jì)數(shù)器的結(jié)構(gòu)與原理 重點(diǎn):定時(shí)的實(shí)質(zhì),定時(shí)與計(jì)數(shù)的關(guān)系重點(diǎn):定時(shí)的實(shí)質(zhì),定時(shí)與計(jì)數(shù)的關(guān)系6 6.1.2 .1.2 定時(shí)定時(shí)/ /計(jì)數(shù)器方式寄存器計(jì)數(shù)器方式寄存器TMODTMOD6.1.3 6.1.3 定時(shí)定時(shí)/ /計(jì)數(shù)器控制計(jì)數(shù)器控制寄存器寄存器TCONTCON6 6.1.4 .1.4 定時(shí)定時(shí)/ /計(jì)數(shù)器的初始化計(jì)數(shù)器的初始化返回本章首頁電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一
3、 定時(shí)器定時(shí)器/計(jì)數(shù)器簡(jiǎn)稱定時(shí)器,計(jì)數(shù)器簡(jiǎn)稱定時(shí)器,89S51單片機(jī)內(nèi)部單片機(jī)內(nèi)部有有2個(gè)個(gè)16位的可編程定時(shí)位的可編程定時(shí)/計(jì)數(shù)器:定時(shí)器計(jì)數(shù)器:定時(shí)器0(T0)和定時(shí)器和定時(shí)器1(T1)。)??删幊炭删幊淌侵钙涔δ埽ㄈ绻ぷ鞣绞侵钙涔δ埽ㄈ绻ぷ鞣绞?、定時(shí)時(shí)間、啟動(dòng)方式等)可以由式、定時(shí)時(shí)間、啟動(dòng)方式等)可以由指令指令來確定和來確定和改變。改變。 在定時(shí)器在定時(shí)器/計(jì)數(shù)器中除了有兩個(gè)計(jì)數(shù)器中除了有兩個(gè)16位的計(jì)數(shù)器位的計(jì)數(shù)器用來存儲(chǔ)計(jì)數(shù)數(shù)據(jù)之外,還有用來存儲(chǔ)計(jì)數(shù)數(shù)據(jù)之外,還有2個(gè)特殊功能寄存器個(gè)特殊功能寄存器(控制寄存器(控制寄存器TCON和方式寄存器和方式寄存器TMOD)對(duì)其進(jìn)對(duì)其進(jìn)行控制。
4、行控制。電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一這些寄存器之間是通這些寄存器之間是通過內(nèi)部總線和控制邏過內(nèi)部總線和控制邏輯電路連接起來的。輯電路連接起來的。電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一 從結(jié)構(gòu)圖可以看出從結(jié)構(gòu)圖可以看出: 16位的定時(shí)器位的定時(shí)器/計(jì)數(shù)器分別由兩個(gè)專用寄存器組計(jì)數(shù)器分別由兩個(gè)專用寄存器組成,即成,即T0由由TH0和和TL0構(gòu)成;構(gòu)成;T1由由TH1和和TL1構(gòu)構(gòu)成。這些寄存器由于成。這些寄存器
5、由于存放定時(shí)和計(jì)數(shù)初值存放定時(shí)和計(jì)數(shù)初值。此。此外,內(nèi)部還有一個(gè)外,內(nèi)部還有一個(gè)8位的位的TMOD和一個(gè)和一個(gè)8位的位的TCON。TMOD 主要用于選定定時(shí)器的主要用于選定定時(shí)器的工作方工作方式式;TCON主要用于主要用于控制控制定時(shí)器的定時(shí)器的啟動(dòng)與停止。啟動(dòng)與停止。電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一 1616位的定時(shí)器位的定時(shí)器/ /計(jì)數(shù)器的實(shí)質(zhì)上是一個(gè)加計(jì)數(shù)器的實(shí)質(zhì)上是一個(gè)加1 1的計(jì)的計(jì)數(shù)器數(shù)器, ,其控制電路受軟件控制、切換。其控制電路受軟件控制、切換。 計(jì)數(shù)的次數(shù)和時(shí)間之間是相關(guān)的計(jì)數(shù)的次
6、數(shù)和時(shí)間之間是相關(guān)的。 只要計(jì)數(shù)脈沖的只要計(jì)數(shù)脈沖的間隔相等,計(jì)數(shù)間隔相等,計(jì)數(shù)值就代表時(shí)間的值就代表時(shí)間的流逝流逝電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一 當(dāng)定時(shí)器當(dāng)定時(shí)器/計(jì)數(shù)器為定時(shí)工作方式時(shí),加計(jì)數(shù)器為定時(shí)工作方式時(shí),加1信號(hào)由信號(hào)由振蕩器的振蕩器的12分頻產(chǎn)生,分頻產(chǎn)生,即每過一個(gè)機(jī)器周期,計(jì)數(shù)值即每過一個(gè)機(jī)器周期,計(jì)數(shù)值增增1,直至計(jì)滿溢出為止。顯然,定時(shí)器的定時(shí)時(shí)間,直至計(jì)滿溢出為止。顯然,定時(shí)器的定時(shí)時(shí)間與系統(tǒng)的振蕩頻率有關(guān)。由于一個(gè)機(jī)器周期等于與系統(tǒng)的振蕩頻率有關(guān)。由于一個(gè)機(jī)器周期等于12
7、個(gè)個(gè)振蕩周期,所以振蕩周期,所以 計(jì)數(shù)頻率計(jì)數(shù)頻率 fcount=1/12fosc 例:晶振為例:晶振為12MHZ ,則計(jì)數(shù)周期為則計(jì)數(shù)周期為 T=1/(12*106)Hz*1/12 =1微秒微秒最短的定時(shí)最短的定時(shí)周期周期電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一 當(dāng)定時(shí)器當(dāng)定時(shí)器/ /計(jì)數(shù)器為計(jì)數(shù)工作方式時(shí),通過引計(jì)數(shù)器為計(jì)數(shù)工作方式時(shí),通過引腳腳T0T0和和T1T1對(duì)外部信號(hào)計(jì)數(shù),外部脈沖的對(duì)外部信號(hào)計(jì)數(shù),外部脈沖的下降沿下降沿觸發(fā)觸發(fā)計(jì)數(shù)計(jì)數(shù) 采樣過程:采樣過程: 在每個(gè)機(jī)器周期的在每個(gè)機(jī)器周期的S5
8、P2期間采樣引腳期間采樣引腳當(dāng)輸入脈沖信號(hào)從當(dāng)輸入脈沖信號(hào)從1 1到到0 0的負(fù)跳變時(shí),計(jì)數(shù)器就自的負(fù)跳變時(shí),計(jì)數(shù)器就自動(dòng)加動(dòng)加1 1。 由于檢測(cè)一個(gè)由由于檢測(cè)一個(gè)由1 1到到0 0的跳變需要兩個(gè)機(jī)的跳變需要兩個(gè)機(jī)器周期,所以器周期,所以 計(jì)數(shù)的最高頻率為振蕩頻率的計(jì)數(shù)的最高頻率為振蕩頻率的1/241/24。為了確保給定電平在變化前至少被采樣一次,外為了確保給定電平在變化前至少被采樣一次,外部計(jì)數(shù)脈沖的部計(jì)數(shù)脈沖的高低電平高低電平均需保持均需保持一個(gè)機(jī)器周期一個(gè)機(jī)器周期以以上。(占空比沒有限制)上。(占空比沒有限制)電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Inst
9、itute of NEDU2022年5月9日星期一 單片機(jī)中的定時(shí)器和計(jì)數(shù)器是一個(gè)部件,單片機(jī)中的定時(shí)器和計(jì)數(shù)器是一個(gè)部件,只不過計(jì)數(shù)器用來記錄外界發(fā)生的事情,而定只不過計(jì)數(shù)器用來記錄外界發(fā)生的事情,而定時(shí)器則是對(duì)一個(gè)固定時(shí)間間隔(機(jī)器周期)進(jìn)時(shí)器則是對(duì)一個(gè)固定時(shí)間間隔(機(jī)器周期)進(jìn)行計(jì)數(shù)而已。本質(zhì)都是計(jì)數(shù)。行計(jì)數(shù)而已。本質(zhì)都是計(jì)數(shù)。結(jié)論結(jié)論電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一 綜上所述,我們已知定時(shí)器綜上所述,我們已知定時(shí)器/計(jì)數(shù)器是一種可計(jì)數(shù)器是一種可編程部件,所以在其開始工作之前,必須將一些命編程
10、部件,所以在其開始工作之前,必須將一些命令(控制字)寫入定時(shí)器令(控制字)寫入定時(shí)器/計(jì)數(shù)器。這個(gè)過程稱為計(jì)數(shù)器。這個(gè)過程稱為定時(shí)器定時(shí)器/計(jì)數(shù)器的初始化。計(jì)數(shù)器的初始化。 當(dāng)給定時(shí)器設(shè)置了某種工作方式之后,定時(shí)器當(dāng)給定時(shí)器設(shè)置了某種工作方式之后,定時(shí)器就會(huì)按設(shè)定的工作方式獨(dú)立運(yùn)行,不再占用就會(huì)按設(shè)定的工作方式獨(dú)立運(yùn)行,不再占用CPU的的操作時(shí)間,除非定時(shí)器計(jì)數(shù)溢出,才可能中斷操作時(shí)間,除非定時(shí)器計(jì)數(shù)溢出,才可能中斷CPU當(dāng)前操作。當(dāng)前操作。結(jié)論結(jié)論電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一GATEGATEC
11、/TC/T M M1 10 0M MGATEGATEC/TC/T1 1M M0 0M M控控 制制 T T 1 1控控 制制 T T 0 08989H H和和T T 類同類同0 01 1M M0 0M M0 00 00 10 11 01 01 11 1方方 式式方式方式0 0 1313位位方式方式1 161 16位位方式方式2 2 自動(dòng)重裝自動(dòng)重裝方式方式3 3 適用適用T0T00 01 1定時(shí)器模式定時(shí)器模式計(jì)數(shù)器模式計(jì)數(shù)器模式0 01 1與與INT INT 無關(guān)無關(guān)0 00 0與與INT INT 有關(guān)有關(guān)M1M0:方式選擇位方式選擇位C/T:功能選擇位功能選擇位GATE: 門控位門控位電氣
12、工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一GATE=1GATE=1時(shí)時(shí) 若若TRTR1 1=1=1,且,且 INTINT1 1=1,=1,允許允許T0T0計(jì)數(shù),計(jì)數(shù), 若若TRTR1 1=0=0,或,或INTINT1 1=0,=0,禁止禁止T0T0計(jì)數(shù)計(jì)數(shù) GATE=0,GATE=0,若若TRTR1 1=1,=1,允許計(jì)數(shù)允許計(jì)數(shù) 若若TRTR1 1=0=0,禁止計(jì)數(shù)禁止計(jì)數(shù) 電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一 由于在不
13、同方式下計(jì)數(shù)器位數(shù)不同,因而最大計(jì)由于在不同方式下計(jì)數(shù)器位數(shù)不同,因而最大計(jì)數(shù)值(量程)也不同。數(shù)值(量程)也不同。 方式方式0:M=213=8192 方式方式1:M=216=65536 方式方式2:M=28=256 方式方式3:定時(shí)器分成兩個(gè):定時(shí)器分成兩個(gè)8位計(jì)數(shù)器,兩個(gè)位計(jì)數(shù)器,兩個(gè)M均均256電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一TR1(0):運(yùn)行控制位運(yùn)行控制位定時(shí)器工作模式寄存器定時(shí)器工作模式寄存器TCONTCON TF1(0): 溢出標(biāo)志溢出標(biāo)志電氣工程學(xué)院電氣工程學(xué)院Electrical
14、Engineering Institute of NEDU2022年5月9日星期一初始化的步驟如下:初始化的步驟如下:確定工作方式確定工作方式-對(duì)對(duì)TMOD賦值賦值置定時(shí)或計(jì)數(shù)的初值置定時(shí)或計(jì)數(shù)的初值-可直接寫入可直接寫入TH0(1),TL0(1)根據(jù)需要開放定時(shí)器根據(jù)需要開放定時(shí)器/計(jì)數(shù)器的中斷計(jì)數(shù)器的中斷啟動(dòng)定時(shí)器啟動(dòng)定時(shí)器/計(jì)數(shù)器。計(jì)數(shù)器。 當(dāng)實(shí)現(xiàn)了啟動(dòng)要求之后,定時(shí)器就按規(guī)定的工作當(dāng)實(shí)現(xiàn)了啟動(dòng)要求之后,定時(shí)器就按規(guī)定的工作方式和初值開始計(jì)數(shù)或定時(shí)。方式和初值開始計(jì)數(shù)或定時(shí)。電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年
15、5月9日星期一 因?yàn)槎〞r(shí)器因?yàn)槎〞r(shí)器/計(jì)數(shù)器是作計(jì)數(shù)器是作“加加1”計(jì)數(shù),并在計(jì)滿計(jì)數(shù),并在計(jì)滿溢出時(shí)產(chǎn)生中斷,初值溢出時(shí)產(chǎn)生中斷,初值X可以這樣計(jì)算:可以這樣計(jì)算: X = M - 計(jì)數(shù)值計(jì)數(shù)值(計(jì)數(shù)次數(shù))計(jì)數(shù)次數(shù)) 例:在例:在6MHZ主頻下,要求產(chǎn)生主頻下,要求產(chǎn)生1ms的定時(shí)的定時(shí),計(jì)算初值計(jì)算初值 分析:因?yàn)槎〞r(shí)器每分析:因?yàn)槎〞r(shí)器每“加加1”一次所需的時(shí)間為一次所需的時(shí)間為2s,如如果要產(chǎn)生果要產(chǎn)生1ms的定時(shí),需加的定時(shí),需加500次,次,500即為計(jì)數(shù)值。即為計(jì)數(shù)值。方式方式1下工作。下工作。 初值初值 X =M-計(jì)數(shù)值計(jì)數(shù)值=65536-500=FE0CH電氣工程學(xué)院電氣工程
16、學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一 由上節(jié)可知,通過對(duì)由上節(jié)可知,通過對(duì)TMOD中的中的M1、M0的設(shè)的設(shè)置置,可以選擇四種工作方式。也就是每個(gè)定時(shí)器可可以選擇四種工作方式。也就是每個(gè)定時(shí)器可構(gòu)成構(gòu)成4種電路結(jié)構(gòu)模式。種電路結(jié)構(gòu)模式。 在模式在模式0、1和和2,T0和和T1的工作方式相同,在模的工作方式相同,在模式式3,兩個(gè)定時(shí)器的方式不同。下面以,兩個(gè)定時(shí)器的方式不同。下面以T1為例,為例,分述各種工作方式的特點(diǎn)和用法。分述各種工作方式的特點(diǎn)和用法。電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering
17、Institute of NEDU2022年5月9日星期一16位寄存器中只用位寄存器中只用13位,其中位,其中TL1的高的高三位未用。三位未用。電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一16位寄存器全用位寄存器全用電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一這種工作方式可省去用戶軟件中重裝常數(shù)的程這種工作方式可省去用戶軟件中重裝常數(shù)的程序,并可產(chǎn)生相當(dāng)精度的定時(shí)時(shí)間。序,并可產(chǎn)生相當(dāng)精度的定時(shí)時(shí)間。電氣工程學(xué)院電氣工程學(xué)院El
18、ectrical Engineering Institute of NEDU2022年5月9日星期一該方式只適用于定時(shí)器該方式只適用于定時(shí)器T0T0,T0T0被拆成兩個(gè)獨(dú)立的被拆成兩個(gè)獨(dú)立的8 8位計(jì)數(shù)器位計(jì)數(shù)器TH0TH0和和TL0TL0。方式方式3 3下的下的T0T0電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一 T0T0工作在方式工作在方式3 3時(shí)時(shí),T1,T1可定為方式可定為方式0 0、方式、方式1 1和方式和方式2,2,用來作為串行口的波特率發(fā)生器用來作為串行口的波特率發(fā)生器, ,或不需要中斷的或不需要
19、中斷的場(chǎng)合場(chǎng)合. .T1T1工作在方式工作在方式0 0電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一T0T0工作在方式工作在方式3 3時(shí)時(shí)T1T1為方式為方式1 1的工作示意圖的工作示意圖T1T1工作方式工作方式1 1電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一T0T0工作在方式工作在方式3 3時(shí)時(shí)T1T1為方式為方式2 2的工作示意圖的工作示意圖 T1 T1工作方式工作方式2 2電氣工程學(xué)院電氣工程學(xué)院Electrical En
20、gineering Institute of NEDU2022年5月9日星期一T1T1的控制字的控制字M1M0=11M1M0=11時(shí)時(shí),T1,T1停止計(jì)數(shù)停止計(jì)數(shù) 注意注意: :在在T0T0為方式為方式3 3時(shí)時(shí),T1,T1運(yùn)行的控制條件只有運(yùn)行的控制條件只有2 2個(gè)個(gè), ,即即C/TC/T和和M1,M0M1,M0。T1T1工作方式工作方式3 3電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一當(dāng)當(dāng)T0或或T1被選定為定時(shí)工作模式時(shí)被選定為定時(shí)工作模式時(shí), 定時(shí)器定時(shí)器/計(jì)數(shù)器的計(jì)數(shù)器的輸入脈沖的周期與機(jī)器周期一樣輸
21、入脈沖的周期與機(jī)器周期一樣,為時(shí)鐘振蕩頻率的為時(shí)鐘振蕩頻率的1/12。若。若 f振蕩振蕩=12MHz,則計(jì)數(shù)的時(shí)間間隔為則計(jì)數(shù)的時(shí)間間隔為1s。當(dāng)當(dāng)T0或或T1用作計(jì)數(shù)器時(shí)用作計(jì)數(shù)器時(shí),計(jì)數(shù)脈沖來自相應(yīng)的外部輸計(jì)數(shù)脈沖來自相應(yīng)的外部輸入引腳入引腳.一次負(fù)跳變要花一次負(fù)跳變要花2個(gè)機(jī)器周期個(gè)機(jī)器周期,因此外部輸入的因此外部輸入的計(jì)數(shù)脈沖的最高頻率為系統(tǒng)振蕩頻率的計(jì)數(shù)脈沖的最高頻率為系統(tǒng)振蕩頻率的1/24.如如:f振蕩振蕩=12MHz,則可輸入的最高頻率為則可輸入的最高頻率為500KHz。 注注:外部輸入信號(hào)脈沖寬度至少保持外部輸入信號(hào)脈沖寬度至少保持1個(gè)機(jī)器周期個(gè)機(jī)器周期.保證保證在兩個(gè)機(jī)器周期
22、可以采樣高低電平兩個(gè)不同狀態(tài)。在兩個(gè)機(jī)器周期可以采樣高低電平兩個(gè)不同狀態(tài)。返回本章首頁電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一【例【例6.1】設(shè)設(shè)MCS-51單片機(jī)系統(tǒng)時(shí)鐘頻率單片機(jī)系統(tǒng)時(shí)鐘頻率CLK為為6MHZ,要在要在P1.0引腳上輸出引腳上輸出1個(gè)周期為個(gè)周期為1毫秒占空毫秒占空比為比為50%的方波信號(hào)。如下圖:的方波信號(hào)。如下圖: P1.01ms1msT=2ms電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一解解:(1)
23、計(jì)算初值計(jì)算初值: 機(jī)器周期機(jī)器周期=2s=2*10-6s (216-X)*2*10-6=1*10-3, 即即(216-X)=500,X=65036 X=FE0CH=1111111000001100B 則則TH0=0FEH,TL0=0CH電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一(2)初始化程序初始化程序: 對(duì)定時(shí)器初始化和中斷初始化對(duì)定時(shí)器初始化和中斷初始化 即對(duì)即對(duì)IP,IE,TCON,TMOD的相應(yīng)位設(shè)置的相應(yīng)位設(shè)置,并將計(jì)并將計(jì) 數(shù)初值裝入定時(shí)器數(shù)初值裝入定時(shí)器.如如: TMOD=01H, 定時(shí)方式定
24、時(shí)方式1 IP=00H,IE=92H,TCON=10H即即ET0=1,EA=1, TR0=1電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一 ORG 0000H RESET : AJMP MAIN ORG 000BH AJMP IT0P ORG 0100H MAIN : MOV SP , #60H MOV TMOD,#01H電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一MOV TL0 , #0CH MOV TH0 , #0FEH SE
25、TB TR0 SETB ET0 SETB EAAJMP HEREIT0P : MOV TL0 , #0CH MOV TH0 , #0FEH CPL P1.0 RETI 電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一 ORG 0000H MOV TMOD,#01H LOOP: MOV TH0,#0FEH MOV TL0,#0CH SETBTR0LOOP1: JNB TF0,LOOP1 CLR TR0 CPL P1.0 SJMP LOOP;設(shè)定工作方式;設(shè)定工作方式 ;設(shè)定時(shí)器初值;設(shè)定時(shí)器初值 ;啟動(dòng)定時(shí)器;啟動(dòng)定
26、時(shí)器;軟件查看到時(shí);軟件查看到時(shí);停止計(jì)時(shí);停止計(jì)時(shí);將;將P1.0位取反位取反;返回;返回 LOOP電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一【例【例6.2】設(shè)設(shè)MCS-51單片機(jī)系統(tǒng)時(shí)鐘頻率單片機(jī)系統(tǒng)時(shí)鐘頻率CLK為為6MHZ,請(qǐng)編出利用定時(shí)請(qǐng)編出利用定時(shí)/計(jì)數(shù)器計(jì)數(shù)器T0在在P1.0引腳上產(chǎn)生周期為引腳上產(chǎn)生周期為2秒,占空比為秒,占空比為50%的方波信號(hào)的程序的方波信號(hào)的程序(1)主程序)主程序任務(wù):任務(wù): 1)T0工作方式的設(shè)定:工作方式的設(shè)定: 選擇方式選擇方式1(16位方式)(最大定時(shí)位方式)(
27、最大定時(shí)131ms) 2)定時(shí)常數(shù)的設(shè)定:定時(shí)常數(shù)的設(shè)定: TC=216-100ms/2s =15536=3CB0H 每隔每隔100ms中斷一次中斷一次,中斷中斷10次為次為1s電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一即:即:TH0應(yīng)裝應(yīng)裝3CH,TL0應(yīng)裝應(yīng)裝B0H。3)中斷管理:中斷管理: 允許允許T0中斷,開放總中斷中斷,開放總中斷 即:即:IE應(yīng)裝應(yīng)裝10000010B4)啟動(dòng)定時(shí)器啟動(dòng)定時(shí)器T0: SETBTR05)設(shè)置軟件計(jì)數(shù)器初值:(如使用設(shè)置軟件計(jì)數(shù)器初值:(如使用R7) 即即R7應(yīng)裝應(yīng)裝0
28、AH6)動(dòng)態(tài)停機(jī):動(dòng)態(tài)停機(jī):SJMP $電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一MAIN: MOV TMOD,#01H ;設(shè)定設(shè)定T0為方式為方式1MOV TH0 ,#3CH ;裝入定時(shí)常數(shù)高裝入定時(shí)常數(shù)高8位位MOV TL0 ,#0B0H ;裝入定時(shí)常數(shù)低裝入定時(shí)常數(shù)低8位位MOV IE ,#82H ;開放開放T0中斷中斷SETB TR0 ;啟動(dòng)啟動(dòng)T0MOV R7 ,#0AH ;設(shè)置軟件計(jì)數(shù)器設(shè)置軟件計(jì)數(shù)器SJMP $電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institut
29、e of NEDU2022年5月9日星期一任務(wù):任務(wù):1 1)恢復(fù)恢復(fù)T0T0常數(shù);常數(shù);2 2)軟件計(jì)數(shù)器減軟件計(jì)數(shù)器減1 1; 3 3)判斷軟件計(jì)數(shù)器是否為判斷軟件計(jì)數(shù)器是否為0 0。為。為0 0時(shí),改變時(shí),改變P1.0P1.0狀態(tài),并恢復(fù)軟件計(jì)數(shù)器初值;不為狀態(tài),并恢復(fù)軟件計(jì)數(shù)器初值;不為0 0時(shí)中斷時(shí)中斷返回。返回。(2 2)中斷服務(wù)程序)中斷服務(wù)程序電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一TOINT:MOV TL0,#0B0H ;恢復(fù)定時(shí)常數(shù)恢復(fù)定時(shí)常數(shù)MOV TH0,#3CHDJNZ R7, N
30、EXTCPL P1.0 MOV R7,#0AHNEXT:RETI電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一ORG 0000H MOV TH0,#3CH AJMP MAIN MOV TL0,#0B0HORG 000BH MOV IE,#82H AJMP TOINT SETB TR0ORG 0030H MOVR7,#0AH MAIN:MOV TMOD,#01H電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一 SJMP$TOINT: M
31、OV TL0,#0B0H MOV TH0,#3CH DJNZ R7,NEXT CPL P1.0 MOV R7,#0AHNEXT: RETI END電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一 【例【例6.3】把把T0(P3.4)作為外部中斷請(qǐng)求輸入線)作為外部中斷請(qǐng)求輸入線即即T0引腳發(fā)生負(fù)跳變時(shí),向引腳發(fā)生負(fù)跳變時(shí),向CPU請(qǐng)求中斷,當(dāng)在請(qǐng)求中斷,當(dāng)在T0產(chǎn)生一次負(fù)跳變后,使產(chǎn)生一次負(fù)跳變后,使P1.0產(chǎn)生周期為產(chǎn)生周期為1ms的的方波。方波。 思路:思路:T0定義方式定義方式1計(jì)數(shù),即計(jì)數(shù)輸入端計(jì)數(shù),即計(jì)數(shù)
32、輸入端T0發(fā)生發(fā)生一次負(fù)跳變,計(jì)數(shù)器加一次負(fù)跳變,計(jì)數(shù)器加1即產(chǎn)生溢出標(biāo)志,向即產(chǎn)生溢出標(biāo)志,向CPU發(fā)中斷;發(fā)中斷; 定時(shí)器定時(shí)器T1以方式以方式2產(chǎn)生產(chǎn)生0.5ms定時(shí)。定時(shí)。 電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一0.5ms0.5msT=1sT0(P3.4)P1.0T1T1為方式為方式2 2定時(shí)定時(shí)T0為方式為方式1計(jì)數(shù)計(jì)數(shù)電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一T0的計(jì)數(shù)初值的計(jì)數(shù)初值: TH0=0FFH,TL
33、0=0FFHT1的定時(shí)初值的定時(shí)初值: (28-X)*2*10-6=5*10-4 ,X=06H電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一 ORG 0000HRESET: AJMP MAIN ;復(fù)位入口轉(zhuǎn)主程序;復(fù)位入口轉(zhuǎn)主程序 ORG 000BH LJMP IT0P ;轉(zhuǎn);轉(zhuǎn)T0中斷服務(wù)程序中斷服務(wù)程序 ORG 001BH LJMP IT1P ;轉(zhuǎn);轉(zhuǎn)T1中斷服務(wù)程序中斷服務(wù)程序 電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一
34、ORG 0100HMAIN: MOV SP, #60H MOV TMOD, #26H MOV TL0 , #0FFH ;T0置初值置初值 MOV TH0 , #0FFH SETB TR0 ;啟動(dòng);啟動(dòng)T0 SETB ET0 ;允許;允許T0中斷中斷 MOV TL1,#06H ;T1置初值置初值 MOV TH1,#06H CLR F0 ;PSW中為用戶做標(biāo)志用中為用戶做標(biāo)志用 SETB EA ;CPU開放中斷開放中斷 電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一LOOP: JNB F0,LOOPT0產(chǎn)生中斷了嗎產(chǎn)
35、生中斷了嗎,產(chǎn)生過產(chǎn)生過,則則F0=1 SETB TR1 ;啟動(dòng);啟動(dòng)T1 SETB ET1 ;允許;允許T1中斷中斷HERE: AJMP HERE 電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一IT0P: CLR TR0 ;停止;停止T0計(jì)數(shù)計(jì)數(shù) SETB F0 ;建立產(chǎn)生中斷標(biāo)志;建立產(chǎn)生中斷標(biāo)志 RETIIT1P: CPL P1.0 ;P1.0位取反位取反 RETI電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一【例【例6.46
36、.4】用定時(shí)器用定時(shí)器T1T1的方式的方式2 2對(duì)外部計(jì)數(shù)對(duì)外部計(jì)數(shù), ,要求每計(jì)要求每計(jì)滿滿100100個(gè)數(shù)個(gè)數(shù), ,將將P1.0P1.0引腳信號(hào)求反引腳信號(hào)求反. . 解解:P3.5:P3.5引腳輸入外部信號(hào)引腳輸入外部信號(hào), ,每發(fā)生每發(fā)生1 1次負(fù)跳變計(jì)數(shù)次負(fù)跳變計(jì)數(shù)器加器加1,1,每輸入每輸入100100個(gè)脈沖個(gè)脈沖, ,計(jì)數(shù)器溢出中斷計(jì)數(shù)器溢出中斷, ,將將P1.0P1.0引腳求反引腳求反. . TMOD=60H TMOD=60H 注意注意: :此處此處T0T0不能為方式不能為方式3,3,其它皆可。其它皆可。 X=2 X=28 8-100=156=9CH-100=156=9CH電氣
37、工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一 ORG 0000H LJMP MAIN ORG 001BH CPL P1.0 RETI ORG 0100HMAIN: MOV TMOD,#60H MOV TL1,#9CH MOV TH1,#9CH SETB TR1SETB ET1SETB EAHERE: AJMPHERE電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一 【例【例6.5A】T0方式方式3,分別產(chǎn)生,分別產(chǎn)生200us和和400
38、us的定時(shí)的定時(shí)并使并使P1.0和和P1.1分別產(chǎn)生分別產(chǎn)生400us和和800us的方法的方法, fosc=6MHZ 解解: TL0用于定時(shí)用于定時(shí)200us,TH0用于定時(shí)用于定時(shí)400us (28-X)*2*10-6=200*10-6, X=156 即即X=9CH (28-X)*2*10-6=400*10-6, X=56 即即X=38H 電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一 ORG 0000H START: AJMP MAIN ORG 000BH AJMP P1TO ORG 001BH AJMP
39、PIT1 電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一MAIN : MOV SP , #60H MOV TMOD , #03H MOV TL0 , #9CH MOV TH0 , #38H MOV TCON , #50H MOV IE , #8AHHERE : AJMP HEREPIT0 : MOV TL0 , #9CH CPL P1.0 RETIPIT1: MOV TH0,#38H CPL P1.1 RETI 電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NED
40、U2022年5月9日星期一【例【例6.5B】假設(shè)某假設(shè)某MCS-51應(yīng)用系統(tǒng)的應(yīng)用系統(tǒng)的2個(gè)外部中斷個(gè)外部中斷源已被占用源已被占用,設(shè)置定時(shí)器設(shè)置定時(shí)器T1工作在方式工作在方式2,作波特率作波特率發(fā)生器用發(fā)生器用.現(xiàn)要求增加現(xiàn)要求增加1個(gè)外部中斷源個(gè)外部中斷源,并控制并控制P1.0引引腳輸出腳輸出1個(gè)個(gè)5KHz的方波的方波. fosc=6MHZ.T0(P3.4)TL0為方式為方式3計(jì)數(shù)計(jì)數(shù)100s100sTH0為方式為方式3定時(shí)定時(shí)P1.0電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一(1)初值計(jì)算初值計(jì)算: T
41、L0=0FFH (28-X)2*10-8=110-4 ,X=156=9CH即即TH0=9CH ORG 0000H LJMP MAIN ORG 000BH LJMP TL0INT 電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一 ORG 001BH LJMP TH0INT ORG0100HMAIN : MOV TMOD , #27H ; 00100111 MOV TL0 , #0FFH MOV TH0 , #9CH 電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NED
42、U2022年5月9日星期一 MOV TL1,#data1 ;data據(jù)波特率常數(shù)定據(jù)波特率常數(shù)定 MOV TH1,#data1 MOV TCON , #55H ;邊沿觸發(fā);邊沿觸發(fā),啟動(dòng)定時(shí)啟動(dòng)定時(shí) MOV IE , #9FH ;中斷允許;中斷允許 TL0INT:MOV TL0, #0FFH RETITH0INT: MOVTH0,#9CH CPL P1.0 RETI電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一【例【例6.6】門控門控GATE1使定時(shí)使定時(shí)/計(jì)數(shù)器計(jì)數(shù)器T1啟動(dòng)計(jì)數(shù)受啟動(dòng)計(jì)數(shù)受INT1的控制。當(dāng)?shù)?/p>
43、控制。當(dāng)GATE1為為1,TR為為1時(shí),只有時(shí),只有INT1引腳輸入高電平,引腳輸入高電平,T1才被允許計(jì)數(shù),故可測(cè)才被允許計(jì)數(shù),故可測(cè)引腳引腳P3.3上正脈沖寬度(機(jī)器周期數(shù))。上正脈沖寬度(機(jī)器周期數(shù))。 解解: 門控位為門控位為1,定時(shí)器啟動(dòng)計(jì)數(shù)受外部中斷引腳,定時(shí)器啟動(dòng)計(jì)數(shù)受外部中斷引腳輸入電平的影響,可測(cè)外部輸入脈沖寬度。輸入電平的影響,可測(cè)外部輸入脈沖寬度。 被測(cè)脈沖輸入被測(cè)脈沖輸入P3.3 (INT1 ) , T1為定時(shí)方式。為定時(shí)方式。電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一電氣工程學(xué)院電氣
44、工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一 ORG 0000H RESET: AJMP MAIN ORG0100HMAIN : MOV TMOD , #90H; 門控定時(shí)門控定時(shí),T1為方式為方式1 MOV SP , #60H MOV TL1 , #00H MOV TH1 , #00H;定時(shí)器初值定時(shí)器初值LOOP1 : JB P3.3 LOOP1 ; 等待等待P3.3到低電平到低電平 SETB TR1 ;將;將TR1置置1LOOP2 : JNB P3.3 LOOP2; 等待等待P3.3為為1LOOP3 : JB P3.3
45、LOOP3;定時(shí)器已經(jīng)開始定時(shí);定時(shí)器已經(jīng)開始定時(shí)電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一 CLR TR1;定時(shí)結(jié)束;定時(shí)結(jié)束LOOP3: SJMPLOOP3 讀定時(shí)器中的時(shí)間值讀定時(shí)器中的時(shí)間值電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一 【例【例6.7】 P3.4 輸入低頻負(fù)脈沖,要求輸入低頻負(fù)脈沖,要求P3.4每次發(fā)生每次發(fā)生負(fù)跳變時(shí),負(fù)跳變時(shí),P1.0輸出一個(gè)輸出一個(gè)400us的同步脈沖。的同步脈沖。電氣工程學(xué)院電氣工程學(xué)院Electrical Engineering Institute of NEDU2022年5月9日星期一START : MOV TMOD , #06H ; T0為方式為方式2外部計(jì)數(shù)外部計(jì)數(shù) MOV TH0 , #0FFH MOV TL0 , #0FFH SETB TR0 ;允許計(jì)數(shù);允許計(jì)數(shù)LOOP1 : JBC TF0, PTF01 ; 溢出后溢出后 AJMP LOOP
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)村果樹開發(fā)合同范本
- 南山買租賃合同范本
- 養(yǎng)牛入股合同范本
- 農(nóng)業(yè)加工蔬菜配送合同范本
- 醫(yī)療代銷合同范本
- 會(huì)議用品合同范本
- 副產(chǎn)溶劑采購(gòu)合同范本
- 北京合伙開店合同范本
- 保險(xiǎn)理財(cái)合同范本
- 書排版設(shè)計(jì)委托合同范本
- 醫(yī)療器械經(jīng)營(yíng)基礎(chǔ)知識(shí)培訓(xùn)合規(guī)指南
- 小學(xué)數(shù)學(xué)(含奧數(shù))數(shù)圖形個(gè)數(shù)和找規(guī)律、簡(jiǎn)便運(yùn)算專項(xiàng)及練習(xí)題附答案
- 新產(chǎn)品研發(fā)(開發(fā))項(xiàng)目管理培訓(xùn)教材
- 課堂-可以這么有聲有色
- Android Studio開發(fā)實(shí)戰(zhàn)(從零基礎(chǔ)到App上線)
- 布草類送洗記錄表
- 藥物警戒培訓(xùn)
- 中央民族大學(xué) 學(xué)生休學(xué)申請(qǐng)表
- 哈薩克斯坦勞動(dòng)法中文版
- 寰樞椎脫位的護(hù)理課件
- 反面典型案例剖析材料范文(通用6篇)
評(píng)論
0/150
提交評(píng)論