中斷與定時(shí)系統(tǒng)_第1頁(yè)
中斷與定時(shí)系統(tǒng)_第2頁(yè)
中斷與定時(shí)系統(tǒng)_第3頁(yè)
中斷與定時(shí)系統(tǒng)_第4頁(yè)
中斷與定時(shí)系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩15頁(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、第6章 中斷與定時(shí)系統(tǒng)掌握:計(jì)算機(jī)中斷的概念,單片機(jī)中斷系統(tǒng)的結(jié)構(gòu)、中斷源、中斷特殊功能寄存器、中斷響應(yīng)過(guò)程;定時(shí)/計(jì)數(shù)器系統(tǒng)的電路結(jié)構(gòu)、特殊功能寄存器及功能和使用方法。理解:?jiǎn)纹瑱C(jī)中斷、定時(shí)和計(jì)數(shù)的應(yīng)用。6.1 單片機(jī)中斷系統(tǒng)6.2 單片機(jī)的定時(shí)器/計(jì)數(shù)器6.3 單片機(jī)外部中斷源的擴(kuò)展6.4 定時(shí)器/計(jì)數(shù)器與中斷綜合應(yīng)用舉例單片機(jī)中斷系統(tǒng)的結(jié)構(gòu)、中斷源、中斷特殊功能寄存器、中斷響應(yīng)過(guò)程;定時(shí)/計(jì)數(shù)器系統(tǒng)的電路結(jié)構(gòu)、特殊功能寄存器及功能和使用方法。單片機(jī)中斷、定時(shí)和計(jì)數(shù)的應(yīng)用。六、教學(xué)內(nèi)容:6-1 單片機(jī)中斷系統(tǒng)6-1-1 中斷技術(shù)中斷系統(tǒng)是計(jì)算機(jī)的重要指標(biāo)之一。一、中斷概念:某人看書(shū)執(zhí)行主程

2、序 中斷過(guò)程電話鈴響中斷信號(hào)=0中斷請(qǐng)求暫??磿?shū)暫停執(zhí)行主程序中斷響應(yīng)書(shū)中作記號(hào)當(dāng)前PC值入棧 保護(hù)斷點(diǎn)電話談話執(zhí)行中斷程序 中斷服務(wù)繼續(xù)看書(shū)返回主程序中斷返回日常事務(wù)程序中斷服務(wù)程序二、兩種中斷:1可屏蔽中斷: 可程控“開(kāi)中斷/關(guān)中斷”。軟件設(shè)置允許/禁止CPU響應(yīng)中斷。2非屏蔽中斷: 不可程控“關(guān)中斷”。有中斷請(qǐng)求信號(hào),CPU必須響應(yīng)。三、中斷源:能發(fā)出中斷請(qǐng)求信號(hào)的各種事件。如I/O設(shè)備、定時(shí)時(shí)鐘、系統(tǒng)故障、軟件設(shè)定等。 有3類(lèi)共5個(gè)中斷: 1、外中斷2個(gè):INT0、INT1 由引腳INT0(P3.2)和INT1(P3.3)引入。 2、定時(shí)中斷2個(gè):T0、T1 無(wú)引入端,請(qǐng)求在芯片內(nèi)部發(fā)

3、生。以記數(shù)溢出信號(hào)作為中斷請(qǐng)求,去置位一個(gè)溢出標(biāo)志位。 3、串行中斷1個(gè):RI/TI 無(wú)引入端,請(qǐng)求在芯片內(nèi)部發(fā)生。接收或發(fā)送完一幀串行數(shù)據(jù)時(shí),就產(chǎn)生一個(gè)中斷請(qǐng)求。INTR(Interrupt Request):可屏蔽中斷請(qǐng)求NMI(Non-Maskable Interrupt):非屏蔽中斷四、中斷優(yōu)先級(jí)控制原則和控制邏輯:中斷優(yōu)先級(jí)是為中斷嵌套服務(wù)的。1、優(yōu)先級(jí)控制原則:(1)低優(yōu)先級(jí)中斷不能打斷高優(yōu)先級(jí)的中斷服務(wù);但高優(yōu)先級(jí)中斷請(qǐng)求信號(hào)可以打斷低優(yōu)先級(jí)的中斷服務(wù),從而實(shí)現(xiàn)中斷嵌套。(2)如果一個(gè)中斷請(qǐng)求已被響應(yīng),則同級(jí)的其它中斷服務(wù)將被禁止。即同級(jí)中斷不能嵌套。(3)如同級(jí)的多個(gè)中斷請(qǐng)求同

4、時(shí)出現(xiàn),則按CPU查詢次序確定哪個(gè)中斷請(qǐng)求被響應(yīng)。 查詢次序?yàn)椋篒NT0T0INT1T1RI/TI。2、控制邏輯:(1)利用中斷優(yōu)先級(jí)控制寄存器;(2)2個(gè)不可尋址的優(yōu)先級(jí)狀態(tài)觸發(fā)器:狀態(tài)“0”或“1”。五、尋找中斷源和確定優(yōu)先級(jí):尋找中斷源:每個(gè)中斷源對(duì)應(yīng)一個(gè)中斷服務(wù)程序。多個(gè)中斷源按優(yōu)先級(jí)別排隊(duì)。硬件上排隊(duì)順序:DMA、NMI、INTX。1、軟件查詢方式:(1)中斷源查詢電路:(2)軟件查詢程序:INTS:MOV A,P1 ;讀中斷源寄存器 JB ACC.0,SV1 ;查詢高級(jí)中斷請(qǐng)求 JB ACC.1,SV2 ;查詢低級(jí)中斷請(qǐng)求SV1: ;中斷服務(wù)程序1SV2: ;中斷服務(wù)程序2中斷源寄

5、存器1INTX單片機(jī)P1中斷請(qǐng)求1中斷請(qǐng)求2中斷請(qǐng)求72、硬件查詢方式:硬件優(yōu)先級(jí)排隊(duì)和中斷向量鎖存電路。 INTx DB 微型機(jī)1中斷源1中斷源2中斷源3中斷向量1中斷向量2中斷向量3中斷向量:提供中斷服務(wù)程序入口地址信息的地址。6-1-2 中斷系統(tǒng)控制一、MCS-51中斷系統(tǒng)內(nèi)部結(jié)構(gòu)1、中斷源信號(hào):2個(gè)外部中斷源信號(hào):INT0、INT1;2個(gè)定時(shí)器T0、T1溢出中斷請(qǐng)求:TF0、TF1;1個(gè)串行口數(shù)據(jù)發(fā)送、接收結(jié)束中斷請(qǐng)求:TI、RI。2、中斷允許控制:總允許開(kāi)關(guān):EA;源允許開(kāi)關(guān):ES、ET1、EX1、ET0、EX0。3、2級(jí)中斷優(yōu)先級(jí)控制:優(yōu)先級(jí)選擇開(kāi)關(guān):PS、PT1、PX1、PT0、

6、PX0。二、中斷控制寄存器:1. 中斷標(biāo)志位: TF1、TF0、IE1、IE0、RI 、TI 登記各中斷源請(qǐng)求信號(hào):=1,有中斷請(qǐng)求;= 0,無(wú)中斷請(qǐng)求。 CPU響應(yīng)中斷后,該中斷標(biāo)志自動(dòng)清零。TI,RI標(biāo)志必須軟件清零。2. 外部中斷觸發(fā)方式選擇位:IT0、IT1 =1:負(fù)邊沿觸發(fā)中斷請(qǐng)求;= 0:低電平觸發(fā)中斷請(qǐng)求。3.中斷允許控制位:EA、ES、ET1、EX1、ET0、EX0 =1開(kāi)中斷;= 0關(guān)中斷。 例:允許CPU響應(yīng)INT0的中斷請(qǐng)求。SETB EX0 SETB EA4中斷優(yōu)先級(jí)控制位:PS、PT1、PX1、PT0、PX0 2級(jí)優(yōu)先級(jí):=1為高優(yōu)先級(jí);= 0為低優(yōu)先級(jí)。 同一優(yōu)先級(jí)

7、別按內(nèi)部查詢順序排列優(yōu)先級(jí): 高 INT0、T0、INT1、T1、TI/RI低。6-1-3 中斷處理過(guò)程一、中斷響應(yīng)條件:1有中斷請(qǐng)求信號(hào);2. 系統(tǒng)處于開(kāi)中斷狀態(tài)。二、中斷響應(yīng)過(guò)程:1關(guān)中斷:屏蔽其它中斷請(qǐng)求信號(hào)。2保護(hù)斷點(diǎn):將斷點(diǎn)地址壓入堆棧保存,即當(dāng)前PC值入棧。3尋找中斷源:中斷服務(wù)程序入口®PC,轉(zhuǎn)入中斷服務(wù)。4保護(hù)現(xiàn)場(chǎng):將中斷服務(wù)程序使用的所有寄存器內(nèi)容入棧。5中斷處理:執(zhí)行中斷源所要求的程序段。鏈接中斷處理6恢復(fù)現(xiàn)場(chǎng):恢復(fù)被使用寄存器的原有內(nèi)容。7開(kāi)中斷:允許接受其它中斷請(qǐng)求信號(hào)。8中斷返回:執(zhí)行RETI指令,棧頂內(nèi)容PC,程序跳轉(zhuǎn)回?cái)帱c(diǎn)處。 RETI= RET指令 +

8、 通知CPU中斷服務(wù)已結(jié)束中斷處理:1、中斷采樣僅對(duì)外中斷(INT0、INT1)請(qǐng)求信號(hào);2、中斷查詢:?jiǎn)纹瑱C(jī)在每一個(gè)機(jī)器周期的最后一個(gè)狀態(tài)S6, 按優(yōu)先級(jí)順序?qū)χ袛嗾?qǐng)求標(biāo)志位進(jìn)行查詢,即先查詢高級(jí)中斷后再查詢低級(jí)中斷,同級(jí)中斷按“INT0T0INT1T1RI/TI”的順序查詢。如果查詢到有標(biāo)志位為“1”,則表明有中斷請(qǐng)求發(fā)生,接著就從相鄰的下一個(gè)機(jī)器周期的S1狀態(tài)開(kāi)始進(jìn)行中斷響應(yīng)。 由于中斷請(qǐng)求是隨機(jī)發(fā)生的,CPU無(wú)法預(yù)先得知,因此在程序執(zhí)行過(guò)程中,中斷查詢要在指令執(zhí)行的每個(gè)機(jī)器周期中不停地重復(fù)進(jìn)行。3、中斷響應(yīng):當(dāng)查詢到有效的中斷請(qǐng)求時(shí),就進(jìn)行中斷響應(yīng)。其主要內(nèi)容是由硬件自動(dòng)生成一條長(zhǎng)調(diào)用

9、指令LCALL。其格式為:LCALL addr16,addr16即是由系統(tǒng)設(shè)定的5個(gè)中斷程序的入口地址。各中斷源中斷服務(wù)程序的入口地址。 如下表:三、中斷響應(yīng)阻斷: 1 . CPU正處在為一個(gè)同級(jí)或高級(jí)的中斷服務(wù)中。即當(dāng)有同級(jí)或 高級(jí)中斷服務(wù)。 2查詢中斷請(qǐng)求的機(jī)器周期不是當(dāng)前指令的最后一個(gè)機(jī)器周期。 即當(dāng)CPU未執(zhí)行完一條指令。 3當(dāng)前執(zhí)行返回指令RET/RETI或訪問(wèn)IE、IP的指令后,不能立即 響應(yīng)中斷,還應(yīng)再執(zhí)行一條指令,然后才能響應(yīng)中斷。 程序單步執(zhí)行就是利用此原理,借助單片機(jī)的外部中斷功 能來(lái)實(shí)現(xiàn)的。四、中斷響應(yīng)周期時(shí)序: 每個(gè)機(jī)器周期的最后一個(gè)狀態(tài)采樣中斷標(biāo)志位,若有中斷請(qǐng)求,將

10、在下一個(gè)機(jī)器周期的第一個(gè)狀態(tài)按優(yōu)先級(jí)順序進(jìn)行中斷查詢。 中斷響應(yīng)時(shí)間: 正常中斷響應(yīng)時(shí)間為38個(gè)機(jī)器周期,如果有同級(jí)或高級(jí)中斷服務(wù),將延長(zhǎng)中斷響應(yīng)時(shí)間。3T: 中斷請(qǐng)求標(biāo)志查詢: 1T 產(chǎn)生、執(zhí)行LCALL: 2T8T: 執(zhí)行RET/RETI(訪問(wèn)IP/IE): 2T 主程序中MUL/DIL指令: 4T 執(zhí)行LCALL指令: 2T單步工作方式:按一次鍵執(zhí)行一條主程序的指令。1、建立單步執(zhí)行的外部控制電路。 如圖:2、編寫(xiě)外部中斷的中斷服務(wù)程序:ORG0000HSJMPSTARTORG0003H ;中斷程序JNBP3.2,$;=0則“原地踏步”JBP3.2 ,$ ;=1則“原地踏步”RETIST

11、ART:MOVIE,#81H ;主程序 MOVTCON,#00HLOOP: INCA MOVP1,A SJMPLOOP END6-1-4 中斷請(qǐng)求的撤消中斷響應(yīng)后,TCON或SCON中的中斷請(qǐng)求標(biāo)志應(yīng)及時(shí)清除。否則就意味著中斷請(qǐng)求仍然存在。1、定時(shí)中斷硬件自動(dòng)撤除定時(shí):中斷響應(yīng)后,硬件自動(dòng)把標(biāo)志位(TF0/TF1)清0,因此定時(shí)中斷的中斷請(qǐng)求是硬件自動(dòng)撤除的。不需要用戶干預(yù)。2、脈沖方式外部中斷請(qǐng)求的撤消:硬件自動(dòng)撤除 外部中斷的撤消包括兩項(xiàng)內(nèi)容: (1)中斷標(biāo)志位的置“0”:中斷響應(yīng)后由硬件電路自動(dòng)完成; (2)外中斷請(qǐng)求信號(hào)的撤消:隨脈沖信號(hào)過(guò)后消失隨即自動(dòng)撤消。3、電平方式外部中斷請(qǐng)求的

12、撤消:自動(dòng)與強(qiáng)制撤除通過(guò)硬件自動(dòng)地使標(biāo)志位(IE0或IE1)清0。電平請(qǐng)求方式光靠清除中斷標(biāo)志,并不能徹底解決中斷請(qǐng)求的撤除問(wèn)題。需在中斷響應(yīng)后把中斷請(qǐng)求輸入端從低電平強(qiáng)制改為高電平。D觸發(fā)器的直接置位端SD(得到負(fù)脈沖):ORL P1 ,#01H ;P1輸出高電平ANL P1 ,#0FEH ;P1輸出低電平軟硬件相結(jié)合完成:硬件自動(dòng)清標(biāo)志位(IE0或IE1清0); 軟件撤消中斷請(qǐng)求信號(hào)(由低電平改為高電平)。圖6.280C51中斷請(qǐng)求的撤消4、串行中斷請(qǐng)求的撤除:由軟件方法完成串行中斷的標(biāo)志位是TI和RI,但對(duì)這兩個(gè)中斷標(biāo)志不進(jìn)行自動(dòng)清0。因?yàn)樵谥袛囗憫?yīng)后還需測(cè)試這兩個(gè)標(biāo)志位的狀態(tài),以判定是

13、接收操作還是發(fā)送操作,然后才能清除。所以串行中斷請(qǐng)求的撤除也應(yīng)使用軟件方法,在中斷服務(wù)程序中進(jìn)行。需由用戶完成。6-2 外部中斷源的擴(kuò)展一、多中斷源系統(tǒng):當(dāng)外部中斷源多于中斷輸入引腳時(shí),可采取以下措施:1、用定時(shí)器計(jì)數(shù)輸入信號(hào)端T0、T1作外部中斷入口引腳;2、用串行口接收端RXD作外部中斷入口引腳。3、用一個(gè)中斷入口接受多個(gè)外部中斷源,并加入中斷 查詢電路。應(yīng)把設(shè)置為電平觸發(fā)方式;在中斷服務(wù)程序中進(jìn)行擴(kuò)展中斷源的查詢;查詢順序就是擴(kuò)展中斷源的優(yōu)先級(jí)順序。80C51二、處理外部中斷舉例:要求每次按動(dòng)按鍵,使外接發(fā)光二極管LED改變一次亮滅狀態(tài)。解:輸入按鍵信號(hào),P1.0輸出改變LED狀態(tài)。 1

14、、跳變觸發(fā):每次跳變引起一次中斷請(qǐng)求。ORG0000H ;復(fù)位入口AJMP MAINORG0003H ;中斷入口AJMPPINT0ORG0100H ;主程序MAIN:MOV SP,#40H ;設(shè)棧底SETBEA ;開(kāi)總允許開(kāi)關(guān)SETBEX0 ;開(kāi)INT0中斷SETBIT0 ;負(fù)跳變觸發(fā)中斷 H:SJMPH ;執(zhí)行其它任務(wù) ORG0200H ;中斷服務(wù)程序PINT0:CPL P1.0 ;改變LEDRETI ;返回主程序單片機(jī)INT0P1.01+5V2、電平觸發(fā):可避免一次按鍵引起多次中斷響應(yīng)。(1)軟件等待按鍵釋放(撤消低電平);(2)硬件清除中斷信號(hào)(標(biāo)志位)。單片機(jī)INT0P1.01+5VO

15、RG 0000H ;復(fù)位入口AJMPMAINORG0003H;中斷入口AJMPPINT0ORG0100H;主程序MAIN:MOV SP,#40H ;設(shè)棧底SETBEA ;開(kāi)總允許開(kāi)關(guān)SETBEX0 ;開(kāi)INT0中斷CLRIT0 ;低電平觸發(fā)中斷H:SJMPH ;執(zhí)行其它任務(wù)ORG0200H ;中斷服務(wù)程序PINT0:CPL P1.0 ;改變LEDWAIT:JNBP3.2,WAIT;等按鍵釋放(P3.2即INT0)RETI ;返回主程序6-3 定時(shí)器/計(jì)數(shù)器一、定時(shí)方法:1、硬件定時(shí):較長(zhǎng)時(shí)間;不夠靈活、方便;2、軟件定時(shí):編循環(huán)程序,時(shí)間精確;占用CPU;3、可編程定時(shí)器定時(shí):對(duì)系統(tǒng)時(shí)鐘脈沖記

16、數(shù),靈活、方便。二、定時(shí)器/計(jì)數(shù)器的工作原理: 定時(shí)器/計(jì)數(shù)器中的核心部件為可預(yù)置初值計(jì)數(shù)器。預(yù)置初值后開(kāi)始計(jì)數(shù),直至計(jì)數(shù)值回0或產(chǎn)生溢出,可申請(qǐng)中斷。 計(jì)數(shù)器有加1計(jì)數(shù)或減1計(jì)數(shù)兩種形式。K1K2可預(yù)置初值計(jì)數(shù)器中斷請(qǐng)求功能選擇啟動(dòng)控制內(nèi)部時(shí)鐘脈沖(定時(shí))外部輸入脈沖(計(jì)數(shù))溢出信號(hào)計(jì)數(shù)脈沖計(jì)數(shù)初值6-3-1 MCS-51定時(shí)器/計(jì)數(shù)器2個(gè)可獨(dú)立控制的16位定時(shí)器/計(jì)數(shù)器: 加法計(jì)數(shù)器T0、T1定時(shí)器初始化編程包括:1.功能選擇(定時(shí)/計(jì)數(shù));2.位數(shù)選擇(8/13/16位);3.啟動(dòng)方式選擇(內(nèi)部啟動(dòng)/外部啟動(dòng));4.啟動(dòng)控制(啟動(dòng)/停止);5.恢復(fù)初值方式(自動(dòng)重裝/軟件重裝)。一、定時(shí)

17、器控制、狀態(tài)寄存器:1、TMOD定時(shí)器方式寄存器(89H):T1T01)功能選擇位C/T: =0:定時(shí)功能,計(jì)數(shù)內(nèi)部機(jī)器周期脈沖; =1:計(jì)數(shù)功能,計(jì)數(shù)引腳T0(T1)輸入的負(fù)2)方式選擇位M1、M0:4種工作方式:13/16/8位3)門(mén)控方式選擇位GATE: =0,非門(mén)控方式(內(nèi)部啟動(dòng)): TRx=1,啟動(dòng)定時(shí)器工作; TRx=0,停止定時(shí)器工作。 =1,門(mén)控方式(外部啟動(dòng)): TRx=1且引腳INTx=1才啟動(dòng)。確定定時(shí)器工作方式指令: MOV TMOD,#方式字例:設(shè)T0用方式2非門(mén)控定時(shí), T1用方式1門(mén)控計(jì)數(shù)。 MOV TMOD,#?2、TCON定時(shí)器控制/狀態(tài)寄存器:1)啟動(dòng)控制位

18、TR0、TR1: =0,停止定時(shí)器工作; =1,啟動(dòng)定時(shí)器工作。例:?jiǎn)?dòng)T0:SETB TR02)溢出中斷標(biāo)志位TF0、TF1: 定時(shí)器溢出使TFx=1,引起中斷請(qǐng)求,CPU響應(yīng)Tx中斷后,系統(tǒng)自動(dòng)將TFx清0。當(dāng)然,也可用軟件檢測(cè)TFx,這時(shí)必須軟件清0。WAIT: JBC TF0,NEXT ;檢測(cè)T0是否溢出 SJMPWAIT ;未溢出,繼續(xù)檢測(cè)NEXT: ;溢出,TF0清0,處理溢出3、可預(yù)置初值的16位加1計(jì)數(shù)器TH0、TL0、TH1、TL1: 如:預(yù)置T0初值指令: MOVTH0,#XH MOVTL0,#XL求THX、TLX的方法:例1:T0運(yùn)行于計(jì)數(shù)器狀態(tài),工作于方式1 (16位方

19、式),要求外部引腳出現(xiàn)3個(gè)脈沖后,TH0、TL0全回0(以便申請(qǐng)中斷)。求計(jì)數(shù)初值C。解:C=(0003H)求補(bǔ)=FFFDH例2:T0運(yùn)行于定時(shí)器狀態(tài),時(shí)鐘振蕩周期為12MHZ,要求定時(shí)100s。求不同工作方式時(shí)的定時(shí)初值C。解:fosc=12MHZ T=1s X=100s/1s=(100)D=64H方式0(13位方式):C=(64H)求補(bǔ)=0 0000 0110 0100 B+1 =1F9CH方式1(16位方式):C=(64H)求補(bǔ)=0000 0000 0110 0100 B+1 =FF9CH方式2、3(8位方式):C=(64H)求補(bǔ)=0110 0100 B+1 =9CH注意:工作方式0的初

20、值裝入方法:1F9CH=0001 1111 1001 1100 B 可見(jiàn),TH0=FCH,TL0=1CHMOVTH0,#0FCHMOVTL0,#1CH二、定時(shí)器工作方式:由方式選擇位M1、M0設(shè)定。1、 方式0:13位定時(shí)/計(jì)數(shù)器THx8位和TLx低5位組成加1計(jì)數(shù)器。計(jì)數(shù)外部脈沖個(gè)數(shù):18192(213)定時(shí)時(shí)間(T=1ms):1ms 8.19ms2、方式1:16位定時(shí)/計(jì)數(shù)器THx8位和TLx8位組成16位加1計(jì)數(shù)器。計(jì)數(shù)外部脈沖個(gè)數(shù):165536(216)定時(shí)時(shí)間(T=1ms):1ms 65536×T= 65.54ms3、 方式2:自動(dòng)恢復(fù)初值8位定時(shí)/計(jì)數(shù)器。TLx為8位加1

21、計(jì)數(shù)器, THx為8位初值暫存器。用于需要重復(fù)定時(shí)和計(jì)數(shù)的場(chǎng)合。最大計(jì)數(shù)值:256 (28)最大定時(shí)時(shí)間(T=1ms):256ms4、 方式3:T0分成2個(gè)8位定時(shí)器TL0定時(shí)/計(jì)數(shù)器和TH0定時(shí)器。n TL0占用T0控制位:C/T,TR0,GATE;n TH0占用T1控制位:TR1;n T1不能使用方式3工作。三、MCS-51定時(shí)器的應(yīng)用:1計(jì)數(shù)功能:n 生產(chǎn)線上產(chǎn)品計(jì)數(shù):每個(gè)產(chǎn)品通過(guò)得到一個(gè)脈沖信號(hào),計(jì)數(shù)器記錄脈沖個(gè)數(shù),當(dāng)計(jì)數(shù)值與設(shè)定值相等,啟動(dòng)包裝機(jī)器。n 檢測(cè)轉(zhuǎn)速:電機(jī)轉(zhuǎn)動(dòng)一圈發(fā)出一個(gè)脈沖,計(jì)數(shù)器記錄一秒時(shí)間內(nèi)脈沖個(gè)數(shù),顯示轉(zhuǎn)速。2定時(shí)功能:n 用于實(shí)時(shí)控制:定時(shí)采樣、定時(shí)啟動(dòng)等。 當(dāng)

22、定時(shí)時(shí)間與設(shè)定值相等,執(zhí)行規(guī)定操作。定時(shí)器初始化編程: 使用定時(shí)器工作之前,先寫(xiě)入控制寄存器,確定好定時(shí)器工作方式。 初始化編程格式:MOV TMOD,# 方式字 ;選擇方式MOV THx,#XH ;裝入Tx時(shí)間常數(shù)MOV TLx,#XL(SETB EA) ;開(kāi)Tx中斷(SETB ETx) SETB TRx ;啟動(dòng)Tx定時(shí)器需考慮:1. 按實(shí)際需要選擇定時(shí)/計(jì)數(shù)功能; 2. 按時(shí)間或計(jì)數(shù)長(zhǎng)度選擇工作方式; 3. 計(jì)算時(shí)間常數(shù):計(jì)算時(shí)間常數(shù)X(計(jì)算初值):計(jì)數(shù)功能:X= 2n -計(jì)數(shù)值 (n:8/13/16)定時(shí)功能:X= 2n - t/T (t:定時(shí)時(shí)間; T:機(jī)器周期)4. 溢出處理編程格式

23、:1)查詢方式:先查詢定時(shí)器溢出標(biāo)志,再進(jìn)行溢出處理。 ;定時(shí)器初始化WAIT:JBC TFx,PT ;檢測(cè)溢出標(biāo)志SJMP WAIT PT:MOVTHx,#XH ;重裝時(shí)間常數(shù)MOVTLx,#XL ;溢出處理SJMPWAIT2)中斷方式:初始化后執(zhí)行其他任務(wù),中斷服務(wù)程序處理溢出。ORG0000HLJMPMAINORG000BH(001BH) ;Tx中斷入口LJMPPTSMAIN:;初始化后執(zhí)行其他程序 PTS:;溢出中斷服務(wù)程序MOVTHx,#XH;重裝時(shí)間常數(shù)MOVTLx,#XLRETI練習(xí):80C51單片機(jī)選擇16位加1計(jì)數(shù)器。 按要求選擇功能和初值。1、要求檢測(cè)到100個(gè)脈沖,發(fā)中斷

24、請(qǐng)求,通知CPU。 選計(jì)數(shù)功能,計(jì)數(shù)初值為156 。2、要求定時(shí)每隔100ms時(shí)間,發(fā)一次中斷請(qǐng)求。 設(shè)內(nèi)部時(shí)鐘周期1ms 選定時(shí)功能,計(jì)數(shù)初值為156 。6-4 定時(shí)器/計(jì)數(shù)器的擴(kuò)展80C51單片機(jī)內(nèi)有2個(gè)16位的T0和T1,如在應(yīng)用中,定時(shí)器/計(jì)數(shù)器的數(shù)量或功能不能滿足要求,則可在外部擴(kuò)展。 擴(kuò)展的芯片主要有8253(最高時(shí)鐘頻率為2MHz)和8254(最高時(shí)鐘頻率為8MHz)等。它們均為減法計(jì)數(shù)。各有3個(gè)獨(dú)立的16位計(jì)數(shù)器T0、T1和T2,它們既可用于計(jì)數(shù),又可用于定時(shí),并可運(yùn)行在0模式5模式共6種不同的工作模式中。6-5 定時(shí)器/計(jì)數(shù)器與中斷綜合應(yīng)用舉例例1:由P1.0輸出方波信號(hào),周

25、期為2ms,設(shè)fosc=12MHz。2ms解:每隔1ms改變一次P1.0的輸出狀態(tài)。 用T1非門(mén)控方式1定時(shí)。 計(jì)算時(shí)間常數(shù):X = 216 - t/T = 216 -1000/1 = FC18H(1)查詢方式:START:MOV TMOD,#10H MOV TL0,#18H MOV TH0,#0FCH SETB TR0 LOOP:JBC TF0,PTF0 SJMP LOOPPTF0: CPL P1.0 MOV TL0,#18H MOV TH0,#0FCH SJMP LOOP(2)中斷方式:ORG0000H AJMPMAIN ORG001BH AJMPPT0INT ORG0100HMAIN: MOVSP,#60H MOVTMOD,#10H MOVTL0,#18H MOVTH0,#0FCH SETBEA SETBET0 SETBTR0HERE: SJMPHEREPT0INT: CPLP1.0 MOVTL0,#18H MOVTH0,#0FCH RETI例2:P1.7驅(qū)動(dòng)LED亮1秒滅1秒地閃爍,設(shè)時(shí)鐘頻率

溫馨提示

  • 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)論