第五章 中斷系統(tǒng)與定時(shí)器計(jì)數(shù)器_第1頁(yè)
第五章 中斷系統(tǒng)與定時(shí)器計(jì)數(shù)器_第2頁(yè)
第五章 中斷系統(tǒng)與定時(shí)器計(jì)數(shù)器_第3頁(yè)
第五章 中斷系統(tǒng)與定時(shí)器計(jì)數(shù)器_第4頁(yè)
第五章 中斷系統(tǒng)與定時(shí)器計(jì)數(shù)器_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第五章第五章 MCSMCS-5151中斷系統(tǒng)與定時(shí)器中斷系統(tǒng)與定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器第五章-1 本章重點(diǎn):本章重點(diǎn):MCS-51MCS-51的中斷系統(tǒng)和定時(shí)器的中斷系統(tǒng)和定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器 講授內(nèi)容:MCS-51MCS-51單片機(jī)的中斷系統(tǒng)單片機(jī)的中斷系統(tǒng) 1 1)中斷系統(tǒng)概述)中斷系統(tǒng)概述 2 2)中斷的處理過(guò)程)中斷的處理過(guò)程 3 3)中斷系統(tǒng)的初始化及應(yīng)用)中斷系統(tǒng)的初始化及應(yīng)用 MCS-51MCS-51單片機(jī)的定時(shí)器單片機(jī)的定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器 1 1)定時(shí)器)定時(shí)器/ /計(jì)數(shù)器的編程結(jié)構(gòu)計(jì)數(shù)器的編程結(jié)構(gòu) 2 2)控制字與編程方法)控制字與編程方法 3 3)應(yīng)用編程)應(yīng)用編

2、程 當(dāng)當(dāng)CPU正在處理某件事情的時(shí)候,外部發(fā)生了某一更為重要或更正在處理某件事情的時(shí)候,外部發(fā)生了某一更為重要或更為緊迫的事件,需要為緊迫的事件,需要CPU暫時(shí)停下正在執(zhí)行的工作去處理這一突發(fā)事暫時(shí)停下正在執(zhí)行的工作去處理這一突發(fā)事件,之后再繼續(xù)執(zhí)行以前被暫停的下來(lái)的工作,這個(gè)過(guò)程就叫中斷。件,之后再繼續(xù)執(zhí)行以前被暫停的下來(lái)的工作,這個(gè)過(guò)程就叫中斷。 5. 2 MCS-515. 2 MCS-51的中斷系統(tǒng)的中斷系統(tǒng) 第五章-2 CPU中能夠控制實(shí)現(xiàn)這種中斷響應(yīng)的邏輯機(jī)構(gòu)稱為中斷系統(tǒng)。中能夠控制實(shí)現(xiàn)這種中斷響應(yīng)的邏輯機(jī)構(gòu)稱為中斷系統(tǒng)。中中斷有以下優(yōu)點(diǎn):斷有以下優(yōu)點(diǎn): 1. 實(shí)現(xiàn)與低速設(shè)備的同步;

3、實(shí)現(xiàn)與低速設(shè)備的同步; 2. 提高系統(tǒng)處理的實(shí)時(shí)性;提高系統(tǒng)處理的實(shí)時(shí)性; 3. 實(shí)現(xiàn)故障處理,避免系統(tǒng)災(zāi)難。實(shí)現(xiàn)故障處理,避免系統(tǒng)災(zāi)難。 MCS-51有有5個(gè)中斷源個(gè)中斷源2個(gè)外部中斷源個(gè)外部中斷源INT0和和INT1,2個(gè)片內(nèi)定時(shí)器個(gè)片內(nèi)定時(shí)器/計(jì)數(shù)器溢出中斷源,計(jì)數(shù)器溢出中斷源,1個(gè)片內(nèi)串行口中斷源。個(gè)片內(nèi)串行口中斷源。 分為兩級(jí)分為兩級(jí)高級(jí)中斷和低級(jí)中斷高級(jí)中斷和低級(jí)中斷。其中任何一個(gè)中斷源的優(yōu)先級(jí)均。其中任何一個(gè)中斷源的優(yōu)先級(jí)均可由軟件設(shè)定為高級(jí)或低級(jí),能實(shí)現(xiàn)兩級(jí)中斷服務(wù)程序嵌套可由軟件設(shè)定為高級(jí)或低級(jí),能實(shí)現(xiàn)兩級(jí)中斷服務(wù)程序嵌套 。 都是可屏蔽的,由軟件設(shè)定。都是可屏蔽的,由軟件設(shè)

4、定。IE0TF0IE1RI/TITF2TF1EAEX0ET0EX1ET1ESET2PX0PT0PX1PT1PSPT2011111100000高級(jí)中斷請(qǐng)求低級(jí)中斷請(qǐng)求中斷源中斷源中斷入口中斷入口查詢電路中斷優(yōu)先級(jí)寄存器全局中斷允許中斷源允許中斷標(biāo)志中斷選擇10IT010IT11TF2TF1TF0TIRIINT0INT1中斷允許寄存器IE控制中斷優(yōu)先級(jí)寄存器IP控制中斷觸發(fā)方式位IT控制第五章-3一、一、MCS-51MCS-51的中斷源的中斷源 1.1.中斷源中斷源 1) 1) 外部中斷外部中斷0 0請(qǐng)求,由請(qǐng)求,由P3.2P3.2引腳輸入??捎捎脩粼O(shè)定為引腳輸入??捎捎脩粼O(shè)定為兩種觸發(fā)方式,(電

5、平觸發(fā)方式還是邊沿觸發(fā)方式)。一兩種觸發(fā)方式,(電平觸發(fā)方式還是邊沿觸發(fā)方式)。一旦輸入信號(hào)有效,則向旦輸入信號(hào)有效,則向CPUCPU申請(qǐng)中斷,并且將中斷標(biāo)志申請(qǐng)中斷,并且將中斷標(biāo)志IE0IE0置置1 1。 2) 2) 外部中斷外部中斷1 1請(qǐng)求,由請(qǐng)求,由P3.3P3.3引腳輸入。亦可由用戶設(shè)定引腳輸入。亦可由用戶設(shè)定為電平觸發(fā)方式還是邊沿觸發(fā)方式。一旦輸人信號(hào)有效,為電平觸發(fā)方式還是邊沿觸發(fā)方式。一旦輸人信號(hào)有效,則向則向CPUCPU申請(qǐng)中斷,并將中斷標(biāo)志申請(qǐng)中斷,并將中斷標(biāo)志IE1IE1置置1 1。 3 3)片內(nèi)定時(shí)器)片內(nèi)定時(shí)器T0T0溢出中斷請(qǐng)求。外部計(jì)數(shù)脈沖由溢出中斷請(qǐng)求。外部計(jì)數(shù)

6、脈沖由P3.4P3.4引引腳輸入,當(dāng)定時(shí)器腳輸入,當(dāng)定時(shí)器T0T0產(chǎn)生溢出時(shí),產(chǎn)生溢出時(shí),T0T0中斷請(qǐng)求標(biāo)志中斷請(qǐng)求標(biāo)志TF0 TF0 置置1 1,請(qǐng)求中斷處理。請(qǐng)求中斷處理。 4) 4) 片內(nèi)定時(shí)器片內(nèi)定時(shí)器T1T1溢出中斷請(qǐng)求。溢出中斷請(qǐng)求。外部計(jì)數(shù)脈沖由外部計(jì)數(shù)脈沖由P3.5P3.5引引腳腳輸入,輸入,當(dāng)定時(shí)器當(dāng)定時(shí)器T1T1產(chǎn)生溢出時(shí),產(chǎn)生溢出時(shí),T1T1中斷請(qǐng)求標(biāo)志中斷請(qǐng)求標(biāo)志TF1TF1置置l l,請(qǐng)求中斷處理。請(qǐng)求中斷處理。 5) 5) 片內(nèi)串行口發(fā)送接收中斷請(qǐng)求。當(dāng)通過(guò)串行口發(fā)送片內(nèi)串行口發(fā)送接收中斷請(qǐng)求。當(dāng)通過(guò)串行口發(fā)送或接收完一幀串行數(shù)據(jù)時(shí),串行口中斷請(qǐng)求標(biāo)志或接收完一幀

7、串行數(shù)據(jù)時(shí),串行口中斷請(qǐng)求標(biāo)志TITI或或RIRI置置1 1,請(qǐng)求中斷處理。請(qǐng)求中斷處理。 第五章-4INT0 IE0 INT1 IE1 TF0 TF1 RI TI 圖 10、 8051中 斷 源 2.2.中斷請(qǐng)求標(biāo)志中斷請(qǐng)求標(biāo)志 1)TCON1)TCON的中斷標(biāo)志的中斷標(biāo)志 TCONTCON是專用寄存器,字節(jié)地址為是專用寄存器,字節(jié)地址為88H88H,它鎖存了外部中斷請(qǐng)求標(biāo)志,它鎖存了外部中斷請(qǐng)求標(biāo)志以及以及T0T0和和T1T1的溢出中斷請(qǐng)求標(biāo)志的溢出中斷請(qǐng)求標(biāo)志TCONTCON 88H 88HD7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D0TF1TF1TR1TR1TF0TF

8、0TR0TR0IE1IE1IT1IT1IE0IE0IT0IT0 (1)IT0 (1)IT0:外部中斷:外部中斷0(INT0)0(INT0)觸發(fā)方式控制位。觸發(fā)方式控制位。IT0=0 INT0IT0=0 INT0為低電平觸發(fā)方式為低電平觸發(fā)方式。 (2)(2)IE0IE0:外部中斷:外部中斷0 0請(qǐng)求標(biāo)志位。請(qǐng)求標(biāo)志位。IE0IE01 1,外部中斷,外部中斷0 0向向CPUCPU申請(qǐng)中斷。申請(qǐng)中斷。 (3)IT1(3)IT1:外部中斷:外部中斷1(INT1)1(INT1)觸發(fā)方式控制位。觸發(fā)方式控制位。 (4)(4)IE1IE1:外部中斷:外部中斷1 1請(qǐng)求標(biāo)志位。請(qǐng)求標(biāo)志位。IE1IE11 1

9、時(shí),外部中斷時(shí),外部中斷1 1向向CPUCPU申請(qǐng)中斷。申請(qǐng)中斷。 (5)(5)TF0TF0:片內(nèi)定時(shí)器:片內(nèi)定時(shí)器T0T0溢出中斷請(qǐng)求標(biāo)志。溢出中斷請(qǐng)求標(biāo)志。T0T0被啟動(dòng)后,從初始值開始進(jìn)行加被啟動(dòng)后,從初始值開始進(jìn)行加1 1 計(jì)數(shù),當(dāng)最高位產(chǎn)生溢出時(shí)置計(jì)數(shù),當(dāng)最高位產(chǎn)生溢出時(shí)置TF0TF01 1,向,向CPUCPU申請(qǐng)中斷。申請(qǐng)中斷。 (6)(6)TF1TF1:片內(nèi)定時(shí)器:片內(nèi)定時(shí)器T1T1溢出中斷請(qǐng)求標(biāo)志,其操作功能與溢出中斷請(qǐng)求標(biāo)志,其操作功能與TF0TF0類同。類同。 第五章-5 以上中斷請(qǐng)求標(biāo)志在以上中斷請(qǐng)求標(biāo)志在CPU響應(yīng)該中斷時(shí),由硬件自動(dòng)清響應(yīng)該中斷時(shí),由硬件自動(dòng)清0,也可

10、由軟件,也可由軟件查詢?cè)摌?biāo)志,并用軟件清查詢?cè)摌?biāo)志,并用軟件清0。 SCON是串行口控制寄存器,字節(jié)地址為是串行口控制寄存器,字節(jié)地址為98H。與中斷有關(guān)的是它。與中斷有關(guān)的是它的低兩位的低兩位TI和和RI。 1) TI(SCON.1) :串行口發(fā)送中斷標(biāo)志位。每發(fā)送完一個(gè)串行幀,:串行口發(fā)送中斷標(biāo)志位。每發(fā)送完一個(gè)串行幀,由硬件置位由硬件置位TI。CPU響應(yīng)中斷時(shí),不能清除響應(yīng)中斷時(shí),不能清除TI,TI必須由軟件清除必須由軟件清除。 2)RI(SCON.0):串行口接收中斷標(biāo)志位,當(dāng)允許串行口接收數(shù)據(jù):串行口接收中斷標(biāo)志位,當(dāng)允許串行口接收數(shù)據(jù)時(shí),每接收完一個(gè)串行幀,由硬件置位時(shí),每接收完一

11、個(gè)串行幀,由硬件置位RI。同樣,同樣,RI必須由軟件清除必須由軟件清除。TIRISCON2) SCON的中斷標(biāo)志的中斷標(biāo)志第五章-6二、二、MCS-51MCS-51的中斷控制的中斷控制 1. 1. 中斷允許寄存器中斷允許寄存器IE (A8H)IE (A8H) 中斷的允許與開放中斷的允許與開放0:關(guān)INT 中斷01:開INT 中斷00:關(guān)T 中斷1:開T 中斷001:開T 中斷0:關(guān)T 中斷0:關(guān)INT 中斷1:開INT 中斷11110:關(guān)T 中斷1:開T 中斷221:開所有中斷0:關(guān)所有中斷1:開串行口中斷0:關(guān)串行口中斷位地址IEEAAFADETACESABETAAEXA9ETA8EX001

12、12第五章-72. 中斷優(yōu)先級(jí)寄存器IP (B8H) 中斷優(yōu)先級(jí)控制中斷優(yōu)先級(jí)控制 內(nèi)部自然優(yōu)先級(jí):內(nèi)部自然優(yōu)先級(jí): 入口地址入口地址 INT0 高高 0003H T0 000BH INT1 0013H T1 001BH TI/RI 低低 0023H第五章-88中斷處理過(guò)程一般分為三個(gè)階段,即中斷響應(yīng)、中斷處理和中斷返回中斷處理過(guò)程一般分為三個(gè)階段,即中斷響應(yīng)、中斷處理和中斷返回。 三、三、 MCS-51MCS-51對(duì)中斷的響應(yīng)對(duì)中斷的響應(yīng)1.1.中斷響應(yīng)的條件中斷響應(yīng)的條件1)有中斷源發(fā)出請(qǐng)求信號(hào))有中斷源發(fā)出請(qǐng)求信號(hào)2)中斷是開放的(總允許、源允許)中斷是開放的(總允許、源允許)3)沒(méi)有封

13、鎖(受阻),)沒(méi)有封鎖(受阻),受阻情況是:受阻情況是: (1) CPU(1) CPU正在執(zhí)行同級(jí)或高一級(jí)的中斷服務(wù)程序;正在執(zhí)行同級(jí)或高一級(jí)的中斷服務(wù)程序; (2) (2) 現(xiàn)行機(jī)器周期不是正在執(zhí)行的指令的最后一個(gè)機(jī)器周期,即現(xiàn)行機(jī)器周期不是正在執(zhí)行的指令的最后一個(gè)機(jī)器周期,即現(xiàn)行指令完成前不響應(yīng)任何中斷請(qǐng)求;現(xiàn)行指令完成前不響應(yīng)任何中斷請(qǐng)求; (3) (3) 當(dāng)前正在執(zhí)行的是中斷返回指令當(dāng)前正在執(zhí)行的是中斷返回指令RETIRETI或訪問(wèn)專用寄存器或訪問(wèn)專用寄存器IEIE或或IPIP的指令。也就是說(shuō),在執(zhí)行的指令。也就是說(shuō),在執(zhí)行RETIRETI或是訪問(wèn)或是訪問(wèn)IEIE、IPIP的指令后,至

14、少需的指令后,至少需要再執(zhí)行要再執(zhí)行一一條其他指令,才會(huì)響應(yīng)中斷請(qǐng)求。條其他指令,才會(huì)響應(yīng)中斷請(qǐng)求。第五章-92.2.中斷響應(yīng)過(guò)程中斷響應(yīng)過(guò)程(CPU自動(dòng)完成)自動(dòng)完成) 進(jìn)入中斷響應(yīng)周期。進(jìn)入中斷響應(yīng)周期。CPUCPU在中斷響應(yīng)周期要完成下列操作:在中斷響應(yīng)周期要完成下列操作: 1) 根據(jù)中斷請(qǐng)求源的優(yōu)先級(jí)高低,根據(jù)中斷請(qǐng)求源的優(yōu)先級(jí)高低,使相應(yīng)的優(yōu)先級(jí)狀態(tài)觸發(fā)器置使相應(yīng)的優(yōu)先級(jí)狀態(tài)觸發(fā)器置1。 2) 保留斷點(diǎn),把保留斷點(diǎn),把PC內(nèi)容內(nèi)容壓入堆棧保存。壓入堆棧保存。 3) 清相應(yīng)中斷請(qǐng)求標(biāo)志位清相應(yīng)中斷請(qǐng)求標(biāo)志位IE0、IE1、TF0或或TF1。 4) 把被響應(yīng)的中斷源服務(wù)把被響應(yīng)的中斷源服

15、務(wù)程序程序入口地址入口地址送入送入PC,進(jìn)入相應(yīng),進(jìn)入相應(yīng)中斷服務(wù)程序。中斷服務(wù)程序。第五章-10中斷服務(wù)程序入口地址表中斷服務(wù)程序入口地址表第五章-113.3.中斷服務(wù)與返回中斷服務(wù)與返回 在編寫中斷服務(wù)程序時(shí)加注意的幾點(diǎn):在編寫中斷服務(wù)程序時(shí)加注意的幾點(diǎn): 1) 1) 因各入口地址之間只相隔因各入口地址之間只相隔8 8個(gè)字節(jié),一般的中斷服務(wù)程序是存放個(gè)字節(jié),一般的中斷服務(wù)程序是存放不下的。所以通常在中斷入口地址單元處存放不下的。所以通常在中斷入口地址單元處存放條無(wú)條件轉(zhuǎn)移指令,這條無(wú)條件轉(zhuǎn)移指令,這樣就可使中斷服務(wù)程序靈活地安排在樣就可使中斷服務(wù)程序靈活地安排在64KB64KB程序存儲(chǔ)器的

16、任何空間。程序存儲(chǔ)器的任何空間。 2) 2) 若要在執(zhí)行當(dāng)前中斷程序時(shí)禁止更高優(yōu)先級(jí)中斷,可先用軟件關(guān)若要在執(zhí)行當(dāng)前中斷程序時(shí)禁止更高優(yōu)先級(jí)中斷,可先用軟件關(guān)閉閉CPUCPU中斷,或禁止某中斷源中斷,在中斷返回前再開放中斷。中斷,或禁止某中斷源中斷,在中斷返回前再開放中斷。 3) 3) 注意在中斷服務(wù)程序中保護(hù)現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng)。注意在中斷服務(wù)程序中保護(hù)現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng)。 4 4)中斷服務(wù)程序的最后一條是返回指令)中斷服務(wù)程序的最后一條是返回指令RETIRETI,該指令將清除響應(yīng)中,該指令將清除響應(yīng)中斷時(shí)被置位的優(yōu)先級(jí)狀態(tài)觸發(fā)器,然后自動(dòng)將斷點(diǎn)地址從棧頂彈出,裝斷時(shí)被置位的優(yōu)先級(jí)狀態(tài)觸發(fā)器,然后自動(dòng)

17、將斷點(diǎn)地址從棧頂彈出,裝入程序計(jì)數(shù)器入程序計(jì)數(shù)器PCPC,使程序返回到被中斷的程序斷點(diǎn)處,繼續(xù)向下執(zhí)行。,使程序返回到被中斷的程序斷點(diǎn)處,繼續(xù)向下執(zhí)行。 第五章-124.4.中斷請(qǐng)求的撤除中斷請(qǐng)求的撤除 CPUCPU響應(yīng)中斷請(qǐng)求后,在中斷返回響應(yīng)中斷請(qǐng)求后,在中斷返回(RETI)(RETI)前,該中斷請(qǐng)求信號(hào)必須前,該中斷請(qǐng)求信號(hào)必須撤除,否則會(huì)引起另外一次中斷。撤除,否則會(huì)引起另外一次中斷。 1 1)定時(shí)器)定時(shí)器/ /計(jì)數(shù)器溢出中斷標(biāo)志計(jì)數(shù)器溢出中斷標(biāo)志TF0TF0或或TFlTFl,在,在CPUCPU響應(yīng)中斷后由硬響應(yīng)中斷后由硬 件自動(dòng)清除;件自動(dòng)清除; 2 2)串行口中斷請(qǐng)求標(biāo)志)串行口

18、中斷請(qǐng)求標(biāo)志TITI和和RIRI不能由硬件自動(dòng)清除,需要在中斷不能由硬件自動(dòng)清除,需要在中斷 服務(wù)程序中,用軟件來(lái)清除相應(yīng)的中斷請(qǐng)求標(biāo)志;服務(wù)程序中,用軟件來(lái)清除相應(yīng)的中斷請(qǐng)求標(biāo)志; 3 3)采用邊沿觸發(fā)的外部中斷標(biāo)志)采用邊沿觸發(fā)的外部中斷標(biāo)志IE0IE0或或IElIEl,在,在CPUCPU響應(yīng)中斷后由響應(yīng)中斷后由 硬件自動(dòng)清除,但在電平觸發(fā)時(shí),硬件自動(dòng)清除,但在電平觸發(fā)時(shí),IE0IE0或或IElIEl受外部引腳中斷信受外部引腳中斷信 號(hào)的直接控制,所以要在中斷請(qǐng)求得到號(hào)的直接控制,所以要在中斷請(qǐng)求得到CPUCPU響應(yīng)后及時(shí)撤除中斷響應(yīng)后及時(shí)撤除中斷 請(qǐng)求信號(hào),以避免對(duì)同一中斷請(qǐng)求的多次響應(yīng)

19、。請(qǐng)求信號(hào),以避免對(duì)同一中斷請(qǐng)求的多次響應(yīng)。第五章-13 中斷系統(tǒng)的初始化是指用戶對(duì)上述這些特殊功能寄存器中的各控中斷系統(tǒng)的初始化是指用戶對(duì)上述這些特殊功能寄存器中的各控制位進(jìn)行賦值。制位進(jìn)行賦值。1. 1. 中斷系統(tǒng)的初始化步驟中斷系統(tǒng)的初始化步驟 1 1)設(shè)定相應(yīng)中斷源的中斷允許控制;)設(shè)定相應(yīng)中斷源的中斷允許控制; 2 2)設(shè)定所用中斷源的中斷優(yōu)先級(jí);)設(shè)定所用中斷源的中斷優(yōu)先級(jí); 3 3)若為外部中斷,則應(yīng)規(guī)定中斷觸發(fā)方式。)若為外部中斷,則應(yīng)規(guī)定中斷觸發(fā)方式。第五章-14四、四、 MCS-51MCS-51中斷系統(tǒng)的初始化中斷系統(tǒng)的初始化例例5-5 5-5 :請(qǐng)寫出:請(qǐng)寫出INT1IN

20、T1為低電平觸發(fā)的中斷系統(tǒng)初始化程序。為低電平觸發(fā)的中斷系統(tǒng)初始化程序。解解:(1) :(1) 采用位操作指令采用位操作指令 SETB EA SETB EX1 ;開開INT1中斷中斷 SETB PX1 ;令令I(lǐng)NT1 為高優(yōu)先級(jí)為高優(yōu)先級(jí) CLR IT1 ;令令I(lǐng)NT1 為電平觸發(fā)為電平觸發(fā) (2) (2) 采用字節(jié)型指令采用字節(jié)型指令 MOV IE, #84H ;開開INT1中斷中斷 ORL IP, #04H ; 高優(yōu)先級(jí)高優(yōu)先級(jí) ANL TCON, #0FBH ; 電平觸發(fā)電平觸發(fā) 2 2中斷系統(tǒng)應(yīng)用中斷系統(tǒng)應(yīng)用例例5-1:一個(gè)外部中斷源一個(gè)外部中斷源時(shí)的編程。時(shí)的編程。如圖所示電如圖所示

21、電路,設(shè)外部中斷信號(hào)為路,設(shè)外部中斷信號(hào)為負(fù)脈沖,引入負(fù)脈沖,引入外部中斷外部中斷1引腳。要求每中斷一次引腳。要求每中斷一次,從從P1.4P1.7輸入外部開輸入外部開關(guān)狀態(tài)關(guān)狀態(tài),然后從然后從P1.0P1.3輸出。輸出。 RRRRP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7LED0LED1LED3LED2RRRRMCS-51單片機(jī)+5V K1K2K3K4INT1外部中斷請(qǐng)求脈沖第五章-15程序清單程序清單: ORG 0000H ;主程序;主程序 SJMP MAIN ORG 0013H AJMP INT1 ;轉(zhuǎn)入服務(wù)程序;轉(zhuǎn)入服務(wù)程序 ORG 0030H MAIN: SETB

22、 IT1 ;設(shè);設(shè)INT1為邊沿觸發(fā)為邊沿觸發(fā) SETB ET1 ;允許;允許INT1中斷中斷 SETB EA ;開放總允許;開放總允許 SJMP $ INT1: ORL P1, #0F0H ;中斷服務(wù)程序:;中斷服務(wù)程序: MOV A, P1 ;從;從P1口輸入開關(guān)狀態(tài)口輸入開關(guān)狀態(tài) SWAP A ;交換高、低;交換高、低4位位 MOV P1,A ;輸出;輸出 RETI END 第五章-16例例5-2:當(dāng)外部中斷源多于兩個(gè)時(shí),可采取硬件申請(qǐng)與軟件查詢相結(jié)合的方:當(dāng)外部中斷源多于兩個(gè)時(shí),可采取硬件申請(qǐng)與軟件查詢相結(jié)合的方法,利用一個(gè)外部中斷源輸入端擴(kuò)展外部多個(gè)中斷源服務(wù)。如圖所示。法,利用一個(gè)

23、外部中斷源輸入端擴(kuò)展外部多個(gè)中斷源服務(wù)。如圖所示。 把多個(gè)中斷源通過(guò)把多個(gè)中斷源通過(guò)“線或線或”或或與與非門引到外部中斷源輸入端(非門引到外部中斷源輸入端(INT0或或INT1),同時(shí)又把信息連到某),同時(shí)又把信息連到某I/O口,便于軟件進(jìn)一步逐個(gè)查詢??冢阌谲浖M(jìn)一步逐個(gè)查詢。&0號(hào)中斷源1號(hào)中斷源2號(hào)中斷源3號(hào)中斷源P1.0P1.1P1.2P1.3INT080C51第五章-17 ORG 0000H ;主程序;主程序 SJMP MAIN ORG 0003H AJMP ZINT0 ;轉(zhuǎn)入服務(wù)程序;轉(zhuǎn)入服務(wù)程序 ORG 0100H MAIN : ZINT0: PUSH PSW ;中斷服

24、務(wù)程序;中斷服務(wù)程序 PUSH ACC JNB P1.0,ZLOOP0 ;查詢中斷源;查詢中斷源 NEXT1: JNB P1.1,ZLOOP1 NEXT2: JNB P1.2,ZLOOP2 NEXT3: JNB P1.3,ZLOOP3 LJMP NEXTZLOOP0: ;0號(hào)中斷源服務(wù)程序段號(hào)中斷源服務(wù)程序段 LJMP NEXT1ZLOOP1: ;1號(hào)中斷源服務(wù)程序段號(hào)中斷源服務(wù)程序段 LJMP NEXT2 NEXT:RETI第五章-18 MCS-51系列單片機(jī)內(nèi)有兩個(gè)可編程的系列單片機(jī)內(nèi)有兩個(gè)可編程的16位定時(shí)器計(jì)數(shù)器位定時(shí)器計(jì)數(shù)器T0和和T1;它可由用戶程序選擇其工作方式,設(shè)定其工它可由用

25、戶程序選擇其工作方式,設(shè)定其工作參數(shù)和條件。作參數(shù)和條件。5.1 5.1 MCS-51MCS-51的定時(shí)器的定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器第五章-19一、一、 定時(shí)器定時(shí)器/ /計(jì)數(shù)器的結(jié)構(gòu)與工作原理計(jì)數(shù)器的結(jié)構(gòu)與工作原理1. 1. 定時(shí)定時(shí)器器/ /計(jì)數(shù)器的內(nèi)部結(jié)構(gòu)計(jì)數(shù)器的內(nèi)部結(jié)構(gòu)TH1TL1TH0TL0TCONTMOD內(nèi)部總線溢出啟動(dòng)啟動(dòng)工作方式工作方式44T1T0CUPTM中斷請(qǐng)求TH1TL1TH0TL0TCONTMOD內(nèi)部總線溢出啟動(dòng)啟動(dòng)工作方式工作方式44T1T0CUPTM中斷請(qǐng)求TH1TL1TH0TL0TCONTMOD內(nèi)部總線溢出啟動(dòng)啟動(dòng)工作方式工作方式44T1T0CPUTM中斷請(qǐng)求溢出

26、 定時(shí)器定時(shí)器/計(jì)數(shù)器計(jì)數(shù)器的核心部件是加的核心部件是加1 1計(jì)數(shù)器,其輸入的計(jì)數(shù)脈沖有兩個(gè)來(lái)源。計(jì)數(shù)器,其輸入的計(jì)數(shù)脈沖有兩個(gè)來(lái)源。當(dāng)加到計(jì)數(shù)器為全當(dāng)加到計(jì)數(shù)器為全“1”1”時(shí),再輸入一個(gè)脈沖,就使計(jì)數(shù)器回零,同時(shí)產(chǎn)生時(shí),再輸入一個(gè)脈沖,就使計(jì)數(shù)器回零,同時(shí)產(chǎn)生溢出脈沖使溢出脈沖使TCONTCON中溢出中斷標(biāo)志中溢出中斷標(biāo)志TF0TF0或或TF1TF1置置1 1,并可向,并可向CPUCPU申請(qǐng)中斷。申請(qǐng)中斷。中斷fT引腳S1定時(shí)計(jì)數(shù)加1計(jì)數(shù)器TF控制TM12osc溢出 1 1)定時(shí)器工作方式。定時(shí)器工作方式。對(duì)機(jī)器周期對(duì)機(jī)器周期TM計(jì)數(shù),這時(shí)計(jì)數(shù)器的計(jì)數(shù)脈沖由振計(jì)數(shù),這時(shí)計(jì)數(shù)器的計(jì)數(shù)脈沖由振

27、蕩器的蕩器的1212分頻信號(hào)產(chǎn)生,即每經(jīng)過(guò)一個(gè)機(jī)器周期,計(jì)數(shù)值加分頻信號(hào)產(chǎn)生,即每經(jīng)過(guò)一個(gè)機(jī)器周期,計(jì)數(shù)值加1 1,直至計(jì)滿溢,直至計(jì)滿溢出。出。在機(jī)器周期固定的情況下,定時(shí)時(shí)間的長(zhǎng)短與計(jì)數(shù)器事先裝入的初值有在機(jī)器周期固定的情況下,定時(shí)時(shí)間的長(zhǎng)短與計(jì)數(shù)器事先裝入的初值有關(guān),關(guān),裝入的初值越大,定時(shí)越短裝入的初值越大,定時(shí)越短。 2 2)計(jì)數(shù)器工作方式。計(jì)數(shù)器工作方式。通過(guò)引腳通過(guò)引腳T0(P3.4)和和T1(P3.5)對(duì)外部脈沖信號(hào)計(jì)數(shù)。對(duì)外部脈沖信號(hào)計(jì)數(shù)。當(dāng)當(dāng)T0T0或或T1T1腳上輸腳上輸入入的脈沖信號(hào)出現(xiàn)由的脈沖信號(hào)出現(xiàn)由1 1到到0 0的負(fù)跳變時(shí),計(jì)數(shù)器值加的負(fù)跳變時(shí),計(jì)數(shù)器值加1 1

28、。2.2.定時(shí)器定時(shí)器/ /計(jì)數(shù)器的工作原理計(jì)數(shù)器的工作原理第五章-20 單片機(jī)內(nèi)部的定時(shí)單片機(jī)內(nèi)部的定時(shí)/計(jì)數(shù)器是一種可編程器件,主要包括兩對(duì)計(jì)數(shù)器是一種可編程器件,主要包括兩對(duì)8位的位的寄存器(寄存器(TH0、TL0和和TH1、TL1),), 方式寄存器方式寄存器TMOD和控制寄存器和控制寄存器TCON。 TH0、TL0用于存放用于存放T0的計(jì)數(shù)初值和經(jīng)過(guò)值;的計(jì)數(shù)初值和經(jīng)過(guò)值; TH1、TL1用于用于存放存放T1的計(jì)數(shù)初值和經(jīng)過(guò)值;的計(jì)數(shù)初值和經(jīng)過(guò)值; TMOD用于設(shè)置用于設(shè)置T0和和T1的工作方式;的工作方式; TCON用于控制用于控制T0和和T1的運(yùn)行;的運(yùn)行;P3.4和和P3.5引

29、腳用于輸入在計(jì)數(shù)方式下引腳用于輸入在計(jì)數(shù)方式下的外部計(jì)數(shù)脈沖信號(hào)。的外部計(jì)數(shù)脈沖信號(hào)。 應(yīng)用問(wèn)題應(yīng)用問(wèn)題: 1. 定時(shí)器定時(shí)器/計(jì)數(shù)器工作方式如何設(shè)定?計(jì)數(shù)器工作方式如何設(shè)定? 2. 定時(shí)器定時(shí)器/計(jì)數(shù)器如何啟動(dòng)?計(jì)數(shù)器如何啟動(dòng)? 3. 定時(shí)器定時(shí)器/計(jì)數(shù)器的初值如何設(shè)定?計(jì)數(shù)器的初值如何設(shè)定?第五章-21二、二、 定時(shí)器定時(shí)器/ /計(jì)數(shù)器的控制與工作方式計(jì)數(shù)器的控制與工作方式1.1.定時(shí)器定時(shí)器/計(jì)數(shù)器計(jì)數(shù)器的控制的控制 1 1)定時(shí)器方式寄存器)定時(shí)器方式寄存器TMOD (89H) 用于選定定時(shí)用于選定定時(shí)/計(jì)數(shù)器的工作方式、啟動(dòng)方式等。計(jì)數(shù)器的工作方式、啟動(dòng)方式等。00方式001方式11

30、0方式211方式3TMOD(89H)D7D6D5D4D3D2D1D0GATEC/TM1M0GATEC/TM1M0控 制 T1控 制 T00 定時(shí)器模式1 計(jì)數(shù)器模式0 與INT0無(wú)關(guān)1 與INT0有關(guān)與T0同第五章-22 (1 1)用于設(shè)置定時(shí))用于設(shè)置定時(shí)/ /計(jì)數(shù)器的工作方式計(jì)數(shù)器的工作方式(03); M1 M0(2 2)選擇定時(shí))選擇定時(shí)/ /計(jì)數(shù)計(jì)數(shù)C/T ; C/T=0-定時(shí),定時(shí),C/T=1-計(jì)數(shù)計(jì)數(shù)(3 3)啟動(dòng)控制方式選擇)啟動(dòng)控制方式選擇-內(nèi)內(nèi)/ /外;外; GATE:門控位,用以決定是軟件還是硬件啟動(dòng)門控位,用以決定是軟件還是硬件啟動(dòng)/ /停止計(jì)數(shù)停止計(jì)數(shù) GATE0 -

31、- 允許軟件位允許軟件位TR0或或TR1啟動(dòng);啟動(dòng); GATE1 - - 允許外部引腳信號(hào)允許外部引腳信號(hào)INT0/INT1控制啟動(dòng)控制啟動(dòng)/ /停止。在停止。在 TR0/TR1為為1的情況下,若的情況下,若INT0/INT1為高電平,啟動(dòng)定時(shí)器計(jì)為高電平,啟動(dòng)定時(shí)器計(jì) 數(shù);為低電平時(shí)停止計(jì)數(shù)。數(shù);為低電平時(shí)停止計(jì)數(shù)。第五章-23例如:設(shè)定時(shí)器例如:設(shè)定時(shí)器T0工作于方式工作于方式1 1定時(shí),由軟件啟動(dòng)控制,則可用如下指定時(shí),由軟件啟動(dòng)控制,則可用如下指令來(lái)裝入控制字。令來(lái)裝入控制字。 MOV TMOD,#00000001B;或或 MOV TMOD,#01H;2)定時(shí)器控制寄存器)定時(shí)器控制寄

32、存器TCON (88H)注意:復(fù)位后注意:復(fù)位后TMOD、TCON各位均清零。各位均清零。例:?jiǎn)?dòng)例:?jiǎn)?dòng)T0工作,用工作,用指令指令 SETB TR0第五章-248FH8EH8DH8CH8BH8AH89H88HD7D6D5D4D3D2D1D0IT0IE0IT1IE1TR0TF0TR1TF1位地址TCON(1) TF1 定時(shí)器定時(shí)器T1溢出標(biāo)志溢出標(biāo)志(2) TR1 定時(shí)器定時(shí)器T1運(yùn)行控制位運(yùn)行控制位(3) TF0 定時(shí)器定時(shí)器T0溢出標(biāo)志溢出標(biāo)志(4) TR0 定時(shí)器定時(shí)器T0運(yùn)行控制位運(yùn)行控制位(5) IE1 外部中斷外部中斷1請(qǐng)求標(biāo)志請(qǐng)求標(biāo)志(6) IT1 外部中斷外部中斷1觸發(fā)方式選

33、擇位觸發(fā)方式選擇位(7) IE0 外部中斷外部中斷0請(qǐng)求標(biāo)志請(qǐng)求標(biāo)志(8) IT0 外部中斷外部中斷0觸發(fā)方式選擇位。觸發(fā)方式選擇位。 通過(guò)控制通過(guò)控制TMOD中的中的M1,M0兩位選擇定時(shí)器兩位選擇定時(shí)器4種工作方式。種工作方式。這這4 4種工作種工作方式的實(shí)質(zhì)是對(duì)方式的實(shí)質(zhì)是對(duì)T0(或(或T1)的兩個(gè))的兩個(gè)8位計(jì)數(shù)器位計(jì)數(shù)器TH0、TL0(或(或TH1、TL1)的的計(jì)數(shù)操作方式而言計(jì)數(shù)操作方式而言。方式方式0下的邏輯結(jié)構(gòu)圖下的邏輯結(jié)構(gòu)圖第五章-252.2.定時(shí)器定時(shí)器/ /計(jì)數(shù)器的工作方式計(jì)數(shù)器的工作方式1) 1) 方式方式0 0TL低低5位和位和TH的的8位位組成組成13位,高位,高8

34、位溢位溢出置位出置位TF定時(shí)器啟、停控制定時(shí)器啟、??刂疲? 1)C/T=1為計(jì)數(shù)工作方式,計(jì)數(shù)脈沖由為計(jì)數(shù)工作方式,計(jì)數(shù)脈沖由T0引腳輸入。引腳輸入。計(jì)數(shù)個(gè)計(jì)數(shù)個(gè)數(shù)數(shù) N = ( 2 21313初值初值X X)(2 2)C/T=0為定時(shí)工作方式,計(jì)數(shù)脈沖頻率為時(shí)鐘頻率為定時(shí)工作方式,計(jì)數(shù)脈沖頻率為時(shí)鐘頻率fosc/12。 定時(shí)時(shí)間定時(shí)時(shí)間t t = (2 21313初值初值X X)* *機(jī)器周期機(jī)器周期 X X = 2 213 13 定時(shí)時(shí)間定時(shí)時(shí)間t/t/機(jī)器周期機(jī)器周期方式方式0下工作時(shí):下工作時(shí):思考:思考:(1)最大計(jì)數(shù)或定時(shí)時(shí)的初值)最大計(jì)數(shù)或定時(shí)時(shí)的初值 X 是多少?是多少?(2

35、)時(shí)鐘頻率為)時(shí)鐘頻率為12MHZ時(shí),方式時(shí),方式0最大定時(shí)時(shí)間是多少?最大定時(shí)時(shí)間是多少?第五章-262) 2) 方式方式1 1 定時(shí)定時(shí)/ /計(jì)數(shù)器工作于方式計(jì)數(shù)器工作于方式1 1時(shí)為一個(gè)時(shí)為一個(gè)1616位的計(jì)數(shù)器。其邏輯結(jié)構(gòu)、操位的計(jì)數(shù)器。其邏輯結(jié)構(gòu)、操作及運(yùn)行控制幾乎與方式作及運(yùn)行控制幾乎與方式0 0完全完全樣,差別僅在于計(jì)數(shù)器的位數(shù)不同。樣,差別僅在于計(jì)數(shù)器的位數(shù)不同。定時(shí)工作方式定時(shí)工作方式1時(shí),定時(shí)時(shí)間為:時(shí),定時(shí)時(shí)間為: t =(216計(jì)數(shù)初值計(jì)數(shù)初值X)機(jī)器周期機(jī)器周期 X = 216 定時(shí)時(shí)間定時(shí)時(shí)間t/機(jī)器周期機(jī)器周期用于計(jì)數(shù)器工作方式時(shí),計(jì)數(shù)個(gè)數(shù)用于計(jì)數(shù)器工作方式時(shí),計(jì)

36、數(shù)個(gè)數(shù) N = ( 216初值初值X)第五章-273) 3) 方式方式2 2 定時(shí)器定時(shí)器/ /計(jì)數(shù)器工作于方式計(jì)數(shù)器工作于方式2 2時(shí),將兩個(gè)時(shí),將兩個(gè)8 8位計(jì)數(shù)器位計(jì)數(shù)器THxTHx、TLxTLx分成獨(dú)立的分成獨(dú)立的兩部分,組成一個(gè)兩部分,組成一個(gè)可自動(dòng)重裝載可自動(dòng)重裝載的的8 8位定時(shí)位定時(shí)/ /計(jì)數(shù)器。其邏輯結(jié)構(gòu)如圖所示。計(jì)數(shù)器。其邏輯結(jié)構(gòu)如圖所示。 方式方式2 2的控制運(yùn)行與方式的控制運(yùn)行與方式0 0、方式、方式1 1相同。相同。 用于定時(shí)工作方式時(shí),定時(shí)時(shí)間用于定時(shí)工作方式時(shí),定時(shí)時(shí)間t t為:為:t t(2(28 8計(jì)數(shù)初值計(jì)數(shù)初值X)X)機(jī)器周期機(jī)器周期 用于計(jì)數(shù)工作方式時(shí),

37、最大計(jì)數(shù)值用于計(jì)數(shù)工作方式時(shí),最大計(jì)數(shù)值( (初值初值0 0時(shí)時(shí)) )是是2 28 8。方式。方式2 2特別適合于特別適合于用作較精確的定時(shí)和脈沖信號(hào)發(fā)生器。用作較精確的定時(shí)和脈沖信號(hào)發(fā)生器。還常用作串行口波特率發(fā)生器還常用作串行口波特率發(fā)生器 。第五章-284) 4) 方式方式3 3 方式方式3 3只適用于定時(shí)器只適用于定時(shí)器T0T0。在方式。在方式3 3下,下,T0T0被分成兩個(gè)相互獨(dú)立的被分成兩個(gè)相互獨(dú)立的8 8位位計(jì)數(shù)器計(jì)數(shù)器TL0TL0和和TH0TH0。第五章-29 1)TH0和和TL0變成變成2個(gè)分開的計(jì)數(shù)器。個(gè)分開的計(jì)數(shù)器。 2)TL0占用了占用了T0全部的定時(shí)器控制位,可以工作

38、于定時(shí)全部的定時(shí)器控制位,可以工作于定時(shí)/ 計(jì)數(shù)模式。計(jì)數(shù)模式。 (C/T, GATE, TR0, TF0) 3)TH0只能用于定時(shí)方式,運(yùn)行控制位和溢出標(biāo)志位則只能用于定時(shí)方式,運(yùn)行控制位和溢出標(biāo)志位則 借用借用T1的的TR1和和TF1。 4)在)在T0設(shè)置為方式設(shè)置為方式3工作時(shí),一般是將定時(shí)器工作時(shí),一般是將定時(shí)器T1工作于工作于 方式方式2,作為串行口波特率發(fā)生器,或用于不需要中,作為串行口波特率發(fā)生器,或用于不需要中 斷的場(chǎng)合。斷的場(chǎng)合。T0T0工作于方式工作于方式3 3時(shí):時(shí):第五章-30三、定時(shí)器三、定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)初始化計(jì)數(shù)器計(jì)數(shù)初始化1. 1. 定時(shí)定時(shí)器器/ /計(jì)數(shù)器

39、的初始化方法計(jì)數(shù)器的初始化方法 初始化的主要是對(duì)初始化的主要是對(duì)TCON和和TMOD編程,計(jì)算和裝載編程,計(jì)算和裝載T0T0和和T1T1的計(jì)數(shù)的計(jì)數(shù)初值。初值。1 1)初始化步驟)初始化步驟(1) (1) 分析定時(shí)器分析定時(shí)器/計(jì)數(shù)器的工作方式,將方式字寫入計(jì)數(shù)器的工作方式,將方式字寫入TMODTMOD寄存器;寄存器; ( 定定/ /計(jì)、內(nèi)計(jì)、內(nèi)/ /外啟動(dòng)、工作方式)外啟動(dòng)、工作方式)(2) (2) 計(jì)算計(jì)算T0T0或或T1T1中的計(jì)數(shù)初值,并將其寫入中的計(jì)數(shù)初值,并將其寫入TH0TH0、TL0TL0或或TH1TH1、TL1TL1;(3) (3) 根據(jù)需要開放根據(jù)需要開放CPUCPU和定時(shí)器

40、和定時(shí)器/計(jì)數(shù)器的中斷,即對(duì)計(jì)數(shù)器的中斷,即對(duì)IEIE和和IPIP寄存器編程;寄存器編程;(4) (4) 啟動(dòng)定時(shí)器啟動(dòng)定時(shí)器/計(jì)數(shù)器工作:若要求用軟件啟動(dòng),編程時(shí)對(duì)計(jì)數(shù)器工作:若要求用軟件啟動(dòng),編程時(shí)對(duì)TR0或或TR1置置位即可啟動(dòng);若由外部中斷引腳電平啟動(dòng),則對(duì)位即可啟動(dòng);若由外部中斷引腳電平啟動(dòng),則對(duì)TR0或或TR1置位后,還需置位后,還需給外引腳提供啟動(dòng)電平。給外引腳提供啟動(dòng)電平。第五章-31(1) 計(jì)數(shù)器模式時(shí)的計(jì)數(shù)初值計(jì)數(shù)器模式時(shí)的計(jì)數(shù)初值 X2MN (M為計(jì)數(shù)器位數(shù),為計(jì)數(shù)器位數(shù),N為要求的計(jì)數(shù)值)為要求的計(jì)數(shù)值) X0,計(jì)數(shù)器的計(jì)數(shù)值最大計(jì)數(shù)器的計(jì)數(shù)值最大 2 2M(2) 定時(shí)

41、器模式時(shí)的定時(shí)初值定時(shí)器模式時(shí)的定時(shí)初值 定時(shí)時(shí)間為:定時(shí)時(shí)間為:t(2M計(jì)數(shù)初值計(jì)數(shù)初值X ) )機(jī)器周期機(jī)器周期 定時(shí)初值定時(shí)初值 X 2M (t/12*Tosc )= 2M (t *fosc/12)2 2)計(jì)數(shù)器初值的計(jì)算)計(jì)數(shù)器初值的計(jì)算2 213 13 8192 8192 (方式(方式0 0)2 216 16 65536 65536 (方式(方式1 1)2 28 8 256256(方式(方式2 2及方式及方式3 3 )第五章-32 若系統(tǒng)時(shí)鐘頻率若系統(tǒng)時(shí)鐘頻率 fOSC12MHz,1 1機(jī)器周期機(jī)器周期1s; 方式方式0 0:M1313, tmax 2 21313* *機(jī)器周期機(jī)器周

42、期81928192s s 方式方式1 1:M1616, tmax2 21616* *機(jī)器周期機(jī)器周期6553665536s s 方式方式2 2: M8 8, tmax2 28 8* *機(jī)器周期機(jī)器周期256256s s (方式(方式3 3同)同)1201. 06000000216X = = 605360EC78H X0,定時(shí)器的定時(shí)時(shí)間最大:定時(shí)器的定時(shí)時(shí)間最大: tmax 2M機(jī)器周期機(jī)器周期例如:若例如:若fOSC6MHz,定時(shí)時(shí)間為,定時(shí)時(shí)間為10ms,使用定時(shí)器,使用定時(shí)器T0工作于方式工作于方式1 ,則初則初值:值:第五章-33編寫編寫初始化程序的步驟;初始化程序的步驟; 1)方式控

43、制字送)方式控制字送TMOD MOV TMOD,#2)計(jì)數(shù)器的初值送)計(jì)數(shù)器的初值送TH、TL(0/1) MOV TH0,# MOV TL0,#3)根據(jù)需要開放中斷和設(shè)定優(yōu)先級(jí)根據(jù)需要開放中斷和設(shè)定優(yōu)先級(jí) 即對(duì)即對(duì)IE和和IP賦初值賦初值( (可位尋址)可位尋址) 4) 4) 啟動(dòng)啟動(dòng)T0/T1開始工作開始工作-置位置位TR0/1 SETB TR0/15)等待溢出信號(hào)的出現(xiàn)(如何進(jìn)入處理程序?)等待溢出信號(hào)的出現(xiàn)(如何進(jìn)入處理程序?) (查詢法或中斷法)(查詢法或中斷法)2.2.定時(shí)定時(shí)/ /計(jì)數(shù)器初始化舉例計(jì)數(shù)器初始化舉例第五章-34例例5 5-3:3:要求定時(shí)器要求定時(shí)器T1T1于方式于方

44、式1 1,定時(shí),定時(shí)50ms50ms,由軟件啟動(dòng),允許中斷。設(shè),由軟件啟動(dòng),允許中斷。設(shè)系統(tǒng)時(shí)鐘頻率系統(tǒng)時(shí)鐘頻率f fOSCOSC6MHz,編寫初始化程序段。,編寫初始化程序段。解:解:1 1)方式控制字為)方式控制字為 00010000B=10H 2 2)計(jì)數(shù)初值為)計(jì)數(shù)初值為 X1X163166 1050 10240536D9E58H12T1T1初始化程序段如下:初始化程序段如下: MOVTMOD,#10H;寫入工作方式控制字;寫入工作方式控制字 MOVTH1,#9EH;寫入計(jì)數(shù)初值;寫入計(jì)數(shù)初值 MOVTL1,#58H SETBET1;開放;開放T1中斷中斷 SETBEA;開放;開放CP

45、U中斷中斷 SETBTR1;啟動(dòng);啟動(dòng)T1工作工作 第五章-35例例5 5-4: 4: 利用利用定時(shí)器定時(shí)器T0產(chǎn)生產(chǎn)生1ms定時(shí),并使定時(shí),并使P1.0引腳輸出周期為引腳輸出周期為2ms的方的方波信號(hào),已知晶振頻率為波信號(hào),已知晶振頻率為6MHz,用查詢法編寫程序。,用查詢法編寫程序。解:解:(1)(1)按題意分析:方波周期按題意分析:方波周期T=2ms,可用可用T0T0方式方式0 0定時(shí)定時(shí)1ms1ms,使,使P1.0P1.0每隔每隔1ms1ms取反一次,即可得到周期為取反一次,即可得到周期為2ms2ms的方波。設(shè)的方波。設(shè)T0T0工作在方式工作在方式0 0,由,由軟件啟動(dòng)。軟件啟動(dòng)。 (

46、2)(2)TMOD控制字為控制字為 0000 0000 B (3) (3)初值計(jì)算:初值計(jì)算:fosc=6MHz,機(jī)器周期為機(jī)器周期為2 2s s。 初值初值213-110-3/210-6=8192-500=7692=1111000001100B 即有即有TH0=0F0H(高(高8位),位),TL0=0CH(低(低5位)。位)。第五章-36四、定時(shí)器四、定時(shí)器/ /計(jì)數(shù)計(jì)數(shù)器器應(yīng)用舉例應(yīng)用舉例程序如下:程序如下: ORG 2000HSTAR:MOV TMOD,#00H ;寫入工作方式字寫入工作方式字 MOV TH0, #0F0H ;寫入計(jì)數(shù)初值寫入計(jì)數(shù)初值 MOV TL0, #0CH SETB TR0 ;啟動(dòng)啟動(dòng)T0LOO

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論