




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、“十二五”職業(yè)教育國家規(guī)劃教材單片機原理及接口技術(第2版)v數(shù)據(jù)傳送的控制方式v中斷的基本概念vMCS-51的中斷系統(tǒng)v中斷源和中斷標志v中斷的允許和優(yōu)先權v中斷的處理過程v外部中斷源的擴展v中斷的應用第第章章中中斷斷與與定定時時系系統(tǒng)統(tǒng) 本章內(nèi)容本章內(nèi)容Single Chip Microcomputer中斷系統(tǒng)中斷系統(tǒng)1. 定時方法2. 定時和計數(shù)功能3. 定時/計數(shù)器的控制4. 定時/計數(shù)器初值的計算5. 定時/計數(shù)器的工作方式6 .定時/計數(shù)器應用舉例 7.定時/計數(shù)器與中斷綜合應用舉例 定時定時/ /計數(shù)器計數(shù)器數(shù)據(jù)傳送控制方式v中央處理器可以采用查詢、中斷和DMA 3種方式控制接口
2、的傳送數(shù)據(jù)的操作。v1.查詢方式v 查詢方式即中央處理器隨時詢問接口,數(shù)據(jù)傳送完否或數(shù)據(jù)準備好否。在查詢方式下,中央處理器需要完成下面操作:v中央處理器向接口發(fā)出傳送命令,輸入數(shù)據(jù)或輸出數(shù)據(jù);v中央處理器查詢接口狀態(tài),數(shù)據(jù)發(fā)送完否或輸入數(shù)據(jù)準備好否,如接口狀態(tài)允許發(fā)送,則中央處理器向接口發(fā)出數(shù)據(jù);如輸入準備好,則中央處理器取回數(shù)據(jù)。v查詢方式下,中央處理器需要花費較多的時間去“詢問”狀態(tài),而接口處于被動狀態(tài)。v2.中斷方式v中斷方式下,中央處理器不必定時查詢接口狀態(tài),而由接口在數(shù)據(jù)發(fā)送完畢或接收數(shù)據(jù)準備好時通知中央處理器,中央處理器再發(fā)送或接收數(shù)據(jù)。中斷方式提高了系統(tǒng)工作效率,使中央處理器可以
3、管理更多的接口。v3.DMA方式vDMA方式即是數(shù)據(jù)不經(jīng)過中央處理器在存儲器和外設之間直接傳送的操作方式。DMA方式適合大量的高速數(shù)據(jù)傳送,如存儲器與磁盤之間的數(shù)據(jù)傳送。但DMA方式控制復雜,需要專用接口控制芯片中斷的基本概念v日常生活中斷的例子v單片機中的中斷概念v中斷技術的優(yōu)點 日常中斷的例子日常中斷的例子 你正在專心看書,突然電話鈴響,于是你記下正在看的書的頁數(shù),去接電話,接完電話后再回來接著看書。 計算機中的中斷概念計算機中的中斷概念中斷中斷是指由于某種隨機事件的發(fā)生,計算機暫?,F(xiàn)行程序的運行,轉(zhuǎn)去執(zhí)行另一程序,以處理發(fā)生的事件,處理完畢后又自動返回原來的程序繼續(xù)運行。將能引起中斷的事
4、件稱為中斷源中斷源。CPU現(xiàn)行運行的程序稱為主程序主程序。處理隨機事件的程序稱為中斷服務中斷服務子程序子程序。 中斷技術的優(yōu)點中斷技術的優(yōu)點v分時操作分時操作 CPU可以同多個外設“同時”工作v實時處理實時處理 CPU及時處理隨機事件v故障處理故障處理 電源掉電、存儲出錯、運算溢出 MCS-51中斷系統(tǒng)v中斷源中斷源v中斷標志中斷標志v中斷允許中斷允許v中斷優(yōu)先級中斷優(yōu)先級vMCS-51MCS-51中斷系統(tǒng)結構中斷系統(tǒng)結構v中斷寄存器中斷寄存器 MCS-51MCS-51的中斷系統(tǒng)的中斷系統(tǒng)中斷源中斷源8051單片機有5個個中斷請求源:單片機單片機INT0或 外部輸入中斷源INT0(P3.2)I
5、NT1或 外部輸入中斷源INT1(P3.3)T0 片內(nèi)定時器T0的溢出T1 片內(nèi)定時器T1的溢出串行口 片內(nèi)串行口發(fā)送或接收中斷源 MCS-51MCS-51的中斷系統(tǒng)的中斷系統(tǒng)中斷標志中斷標志CPU主程序INT0INT1T0T1串口IE0TF0IE1TF1TIRI中斷源中斷源中斷標志位中斷標志位 每一個中斷源都有相應的中斷標志位; 某一個中斷源申請中斷,相應中斷標志位置1。 MCS-51MCS-51的中斷系統(tǒng)的中斷系統(tǒng)中斷允許中斷允許CPU主程序INT0INT1T0T1串口IE0TF0IE1TF1TIRI中斷源中斷源中斷標志位中斷標志位 EA總中斷允許位,總中斷允許位,EA=1開放所有中斷,開
6、放所有中斷,EA=0,禁止所有中斷;禁止所有中斷; 某一個中斷源還有相應的中斷允許位,某一個中斷源還有相應的中斷允許位,1允許相應中斷源的中斷,允許相應中斷源的中斷,0禁禁止相應中斷源的中斷。止相應中斷源的中斷。中斷允許中斷允許ESET0EX0EX1ET1EA MCS-51MCS-51的中斷系統(tǒng)的中斷系統(tǒng)中斷優(yōu)先級中斷優(yōu)先級CPU主程序INT0INT1T0T1串口IE0TF0IE1TF1TISI中斷源中斷源中斷標志位中斷標志位 單片機中有兩個中斷優(yōu)先級,即高優(yōu)先級中斷和低優(yōu)先級中斷,前單片機中有兩個中斷優(yōu)先級,即高優(yōu)先級中斷和低優(yōu)先級中斷,前者優(yōu)先權高于后者(在程序中設置,相應位者優(yōu)先權高于后
7、者(在程序中設置,相應位=1=1,為高優(yōu)先級);,為高優(yōu)先級); 同一優(yōu)先級別的中斷源按照自然優(yōu)先級順序確定優(yōu)先級別(硬件同一優(yōu)先級別的中斷源按照自然優(yōu)先級順序確定優(yōu)先級別(硬件形成,無法改變)。形成,無法改變)。中斷允許中斷允許ESET0EX0EX1ET1EA自然優(yōu)先級自然優(yōu)先級高低優(yōu)先控制優(yōu)先控制PSPT0PX0PX1PT1 IE0TCONSCONINT0 IT0=0 IT0=1INT1 IT1=0 IT1=1TF0 IE1TF1T0T1TIRITXDRXDESET0EX0EX1ET1EA自然優(yōu)先級自然優(yōu)先級矢量地址高級中斷請求高級中斷請求自然優(yōu)先級自然優(yōu)先級矢量地址低級中斷請求低級中斷請
8、求PX0PT0PX1PT1PSIEIP MCS-51 MCS-51的中斷系統(tǒng)結構圖的中斷系統(tǒng)結構圖中斷標志位中斷源允許總允許中斷優(yōu)先級TCON寄存器T0和T1控制寄存器 TF1 TF0 IE1 IT1 IE0 IT0TCONT1溢出中斷標志溢出中斷標志(TCON.7): T1啟動計數(shù)后,計滿溢出由硬件置位TF1=1,向CPU請求中斷,此標志一直保持到CPU響應中斷后,才由硬件自動清0。也可用軟件查詢該標志,并由軟件清0。76543210 TF1 TF0 IE1 IT1 IE0 IT0TCON 88H外部中斷外部中斷INT1中斷標志中斷標志位位(TCON.3) : IE11,外部中斷1向CPU申
9、請中斷 外部中斷外部中斷INT1觸發(fā)方觸發(fā)方式控制位式控制位(TCON.2): IT1=0,電平觸發(fā)方式 IT1=1, 下降沿觸發(fā)方式76543210TCON寄存器T0和T1控制寄存器注意:該寄存器可以位尋址。 TI (SCON.1)串行發(fā)送中斷標志。 RI (SCON.0)串行接收中斷標志。 TI RISCON寄存器串行口控制寄存器SCON 98H76543210注意:該寄存器可以位尋址。IE寄存器中斷允許寄存器 IE A8H EA ESET1EX1 ET0EX0例:允許定時器T0中斷: SETB EA SETB ET0 或 MOV IE,#82H76543210注意:該寄存器可以位尋址。
10、51單片機有兩個中斷優(yōu)先級單片機有兩個中斷優(yōu)先級高級和低級高級和低級 專用寄存器專用寄存器IP為中斷優(yōu)先級寄存器,用戶可用軟件設定為中斷優(yōu)先級寄存器,用戶可用軟件設定 相應位為相應位為1,對應的中斷源被設置為,對應的中斷源被設置為高優(yōu)先級高優(yōu)先級,相應位為,相應位為0,對應,對應的中斷源被設置為低優(yōu)先級的中斷源被設置為低優(yōu)先級 系統(tǒng)復位時,均為低優(yōu)先級系統(tǒng)復位時,均為低優(yōu)先級 該寄存器可以位尋址該寄存器可以位尋址 PSPT1PX1PT0PX0IP寄存器中斷優(yōu)先級寄存器 IP B8H 76543210中斷處理過程 中斷處理過程分為三個階段:中斷響應、中斷處理和中斷返回。v 中斷響應v 中斷處理(
11、又稱中斷服務)v 中斷返回v 中斷請求的撤除中斷請求的撤除 中斷響應中斷返回中斷響應(以外部中斷0為例)中斷響應:在滿足CPU的中斷響應條件之后,CPU對中斷源中斷請求予以處理。中斷響應過程: 保護斷點地址;中斷響應 把程序轉(zhuǎn)向中斷服務程序的入口地址(通常稱矢量地址)。特別注意:這些工作是硬件自動完成的! 斷點地址中斷服務子程序的入口地址外部中斷外部中斷0 0入口地址入口地址0003ZD0AJMP ORG 0003HAJMP ZD0ZD0中斷響應中斷服務子程序入口地址又稱為中斷矢量或中斷向量。中斷響應單片機中5個中斷源的矢量地址是固定固定的,不能改動。斷點地址中斷服務子程序的入口地址程序存儲器
12、程序存儲器ROMROM0000H:復位后,程序的入口地址(PC=0000H)0023H:串行口中斷入口0003H:外部中斷0入口000BH:定時器0溢出中斷入口0013H:外部中斷1入口001BH:定時器1溢出中斷入口002AH使用時,通常在這些入口地址處存放一條跳轉(zhuǎn)指令,使程序跳轉(zhuǎn)到用戶安排的中斷服務程序起始地址上去!程序存儲器程序存儲器ROMROM0000H:復位后,程序的入口地址(PC=0000H)0023H:串行口中斷入口0003H:外部中斷0入口000BH:定時器0溢出中斷入口0013H:外部中斷1入口001BH:定時器1溢出中斷入口002AH包含T0中斷服務子程序的程序結構:ORG
13、 0000HORG 0000HAJMP MAINORG 000BHORG 000BHAJMP INTT0ORG 0100HORG 0100HMAIN: . . .INTT0:. . . RETI ENDAJMP MAINAJMP INTT0中斷處理中斷處理中斷服務程序從中斷子程序入入口地址口地址開始執(zhí)行,直到返回指令RETI為止,這個過程稱為中斷處理(或中斷服務)。中斷服務子程序一般包括兩部分內(nèi)容,一是保護和恢復現(xiàn)場,二是處理中斷源的請求。中斷響應入口地址入口地址RETI中斷處理中斷處理INTT0: PUSH ACC PUSH DPH PUSH DPL PUSH PSW 中斷源服務 POP P
14、SW POP DPL POP DPH POP ACC RETI保護現(xiàn)場恢復現(xiàn)場中斷返回 中斷返回是指中斷服務完后,計算機返回到原來暫停的位置(即斷點),繼續(xù)執(zhí)行原來的程序。 中斷返回由專門的中斷返回指令RETI來實現(xiàn)。中斷響應中斷返回中斷返回 RETI指令功能:把斷點地斷點地址取出,送回到程序計數(shù)器址取出,送回到程序計數(shù)器PC中去。另外,它還通知中斷系統(tǒng)已完成中斷處理,將清除優(yōu)先級狀態(tài)觸發(fā)器。 特別注意:不能用RET指令代替RETI指令!中斷響應中斷返回中斷處理過程示意圖中斷源發(fā)中斷請求中斷源發(fā)中斷請求中斷響應條件中斷響應條件 是否滿足?是否滿足?中斷是否受阻?中斷是否受阻? 把把PC斷點地址
15、壓入堆棧斷點地址壓入堆棧 相應中斷源的中斷入口地址相應中斷源的中斷入口地址送入送入PC,轉(zhuǎn)向中斷服務程序轉(zhuǎn)向中斷服務程序NYYN 由硬件自動完成 關中斷關中斷保護現(xiàn)場保護現(xiàn)場中斷服務中斷服務 開中斷開中斷 關中斷關中斷恢復現(xiàn)場恢復現(xiàn)場 開中斷開中斷中斷返回中斷返回斷點地址由堆棧彈入斷點地址由堆棧彈入PC保護現(xiàn)場和恢復現(xiàn)場的過程中不允許中斷,以免現(xiàn)場遭到破壞。保護和恢復現(xiàn)場之后的開中斷是為了允許有更高級中斷打斷此中斷服務程序。 中斷服務程序硬件自動完成中斷請求的撤除中斷請求的撤除 CPU響應某中斷請求后,在中斷返回前,應該撤除該中斷請求,否則會引起另一次中斷。 定時器0或1溢出:CPU在響應中斷
16、后,硬件清除了有關的中斷請求標志TFO或TF1,即中斷請求是自動撤除的中斷請求是自動撤除的。 邊沿激活的外部中斷:CPU在響應中斷后,也是用硬件自動用硬件自動清除清除有關的中斷請求標志IE0或IE1。 串行口中斷:CPU響應中斷后,沒有用硬件清除T1、R1,故這些中斷不能自動撤除,而要靠軟件來清除相應的標志要靠軟件來清除相應的標志。電平觸發(fā)外部中斷撤除方法較復雜。 因為在電平觸發(fā)方式中,CPU響應中斷時不會自動清除IE1或IE0標志,所以在響應中斷后應立即撤除INT0或INT1引腳上的低電平。 在硬件上,CPU對INT0和INT1引腳的信號不能控制,所以這個問題要通過硬件,再配合軟件來解決。電
17、平激活的外部中斷源中斷標志的撤除電平激活的外部中斷源中斷標志的撤除外部中斷源的擴展v單片機僅有兩個外部中斷輸入端.v可用兩種方法擴展: 1. 定時器T0,T1。(工作在計數(shù)方式下) 2. 中斷和查詢結合。 1用定時器作外部中斷源 例例5.5 將定時器T0擴展為外部中斷源。解解:將定時器T0設定為方式2(自動恢復計數(shù)初值),TH0和TF0的初值均設置為FFH,允許T0中斷,CPU開放中斷,源程序如下:MOVTMOD,#06H MOVTH0,#0FFHMOVTL0,#0FFHSETBTR0SETBET0SETBEA T0引腳每輸入一個負跳變,TF0都會置1,向CPU請求中斷 T0腳相當于邊沿觸發(fā)的
18、外部中斷源輸入線。腳相當于邊沿觸發(fā)的外部中斷源輸入線。2中斷和查詢相結合 MCS-511P3.3P1.0P1.1P1.2P1.3EXINT0EXINT1EXINT2EXINT3圖: 一個外中斷擴展成多個外中斷的原理圖中斷服務程序如下:中斷服務程序如下: ORG0003H;外部中斷0入口 AJMP INT0;轉(zhuǎn)向中斷服務程序入口 INT0: PUSH PSW ;保護現(xiàn)場 PUSH ACC JB P1.0,EXT0 ;中斷源查詢并轉(zhuǎn)相應中斷服務程序 JB P1.1,EXT1 JB P1.2,EXT2 JB P1.3,EXT3 EXIT: POP ACC ;恢復現(xiàn)場 POP PSW RETIEXT0
19、: ; EXINT0中斷服務程序 AJMPEXITEXT1: ; EXINT1中斷服務程序 AJMPEXITEXT2: ;EXINT2中斷服務程序AJMPEXITEXT3: ;EXINT3中斷服務程序 AJMP EXIT 同樣,外部中斷同樣,外部中斷1也可作相應的擴展。也可作相應的擴展。例:在例:在P1.0上產(chǎn)生周期為上產(chǎn)生周期為10ms的方波,設晶振頻率的方波,設晶振頻率12MHz.(要求分別以查詢方式和中斷方式設計程序)要求分別以查詢方式和中斷方式設計程序)查查詢詢方方式式: ORG 0000H MOV TMOD,#10H MOV TH1,#0CEH MOV TL1,#78H SETB T
20、R1WAIT:JBC TF1,NX SJMP WAIT NX:CPL P1.0 MOV TH1,#0CEH MOV TL1,#78H SJMP WAIT END中中斷斷方方式式: ORG 0000H MOV TMOD,#10H MOV TH1,#0CEH MOV TL1,#78H MOV IE, #88H SETB TR1WAIT: SJMP WAIT ORG 001BH CPL P1.0 MOV TH1,#0CEH MOV TL1,#78H RETI中斷系統(tǒng)的應用v實例:LED數(shù)碼管顯示。v使用技術:中斷、中斷優(yōu)先級、中斷優(yōu)先權中斷嵌套、中斷過程。1.中斷初始化v中斷初始化應在產(chǎn)生中斷請求前
21、完成,一般放在主程序中,與主程序其他初始化內(nèi)容一起完成。v(1)定義中斷優(yōu)先級。將中斷優(yōu)先級控制寄存器IP中相關的控制位置位。v(2)若是外中斷,則要定義外中斷觸發(fā)方式,將控制寄存器TCON中相關的控制位置位。v(3)開中斷。將控制寄存器中IE中的中斷控制位EA和相應的中斷允許控制位置位。2.中斷服務程序v編寫中斷服務程序的要求如下:v(1)在相應的中斷入口地址處設置一條跳轉(zhuǎn)指令(SJMP、AJMP或LJMP),將中斷服務程序轉(zhuǎn)到合適的ROM空間。若中斷服務程序小于等于8個字節(jié),可直接放置在中斷入口地址處。v(2)根據(jù)需要保護現(xiàn)場。為減輕堆棧負擔,保護現(xiàn)場的數(shù)據(jù)存儲單元數(shù)量力求少。v(3)CP
22、U響應中斷后不能自動清除中斷請求標志位時,應考慮的清除中斷請求標志位的其他操作。v(4)恢復現(xiàn)場。v(5)最后一條指令必須是中斷返回指令RETI.外部中斷實驗圖圖5-5 5-5 外部中斷實驗電路原理圖外部中斷實驗電路原理圖Key30p30p8.2k22u+512M100+5EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PS
23、EN29ALE/P30TXD11RXD1089C51S0INT0 顯示123456789VCC300abfcgde8LED1234567abcdefgdp 8comcom300abfcgde8LED1234567abcdefgdp 8comcom+5V主程序顯示D0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D7電阻排圖圖5-6 主程序流程圖主程序流程圖 圖圖5-7 中斷服務程序流程圖中斷服務程序流程圖開始關顯示STAR:中斷允許設置調(diào)用延時DELAY中斷觸發(fā)方式設置滅;循環(huán)ST1:(P0)(A)改變(A)(R2)-10?外中斷0ACC入棧保護計數(shù)器賦初值(R2)=8LOOP:P2
24、口顯示“8.”關顯示,調(diào)延時中 斷 返 回YESNOvORG 0000HvSJMP STARvORG 03H;INT0中斷入口地址vSJMPINT0S;轉(zhuǎn)INT0中斷服務vORG30HSTAR:MOV IE,#10000001B;INT0開中vMOVTCON,#O1H;INT0邊沿觸發(fā)方式vMOVA,#0FEH;P0口輸出初值ST1:MOVP0,AvACALL DELAY;延時vRLA ;改變輸出數(shù)據(jù)vSJMPST1 ;主程序循環(huán)INT0S:PUSHACC ;保護現(xiàn)場vMOVR2,#8 ;INT0中斷服務,R2計數(shù)器賦初值LOOP:CLRAvMOVP2,A ;數(shù)碼管亮vACALL DELAY;
25、延時vMOVA,#0FFHvMOVP2,A;數(shù)碼管各段全暗vACALL DELAY;延時vDJNZR2,LOOP;循環(huán)8次vPOP ACC;恢復現(xiàn)場,AvRETIDELAY: ;延時子程序,500msv外中斷v中斷優(yōu)先級v中斷優(yōu)先權5.2 MCS-51定時器定時器/計數(shù)器計數(shù)器v1.定時方法 v(1)軟件定時v即讓機器執(zhí)行一個程序段。軟件定時占用CPU,降低了CPU的利用率 v(2)不可編程的硬件定時v可以采用如小規(guī)模集成電路器件555,外接定時部件(電阻和電容)構成。通過改變電阻和電容,可以使定時在一定的范圍內(nèi)改變。v(3)可編程定時器v可編程的定時器。v它的定時值及其范圍,可以很容易地由軟
26、件來確定和改變,能夠滿足各種不同的定時要求。 實質(zhì)是計數(shù)器,脈沖每一次下降沿,計數(shù)寄存器數(shù)值將加1。 計數(shù)的脈沖如果來源于單片機內(nèi)部的晶振,由于其周期極為準確,這時稱為定時器。計數(shù)的脈沖如果來源于單片機外部的引腳,由于其周期一般不準確,這時稱為計數(shù)器。 8031 有2個可獨立控制的16位定時器/計數(shù)器:T0、T1。+1計數(shù)器溢出中斷脈沖控制開關MCS-51 MCS-51 計數(shù)計數(shù)/ /定時器的原理定時器的原理定時器控制、狀態(tài)寄存器1)TMOD定時器方式寄存器(89H)1)功能選擇位C/T: =0,定時功能,計數(shù)內(nèi)部機器周期脈沖; =1,計數(shù)功能,計數(shù)引腳T0(T1)輸入的負脈沖。2)方式選擇位
27、M1、M0:3)門控方式選擇位GATE 計數(shù)器啟動方式的選擇 確定定時器工作方式指令: MOV TMOD,#方式字 例:設T0用方式2非門控定時,T1用方式1門控計數(shù)。 MOV TMOD,#0D2H ; 1101 0010 B GATEC/TM1M0GATEC/TM1M0T1T0M1 M0方方式式功功能能描描述述0 0013 位位0 1116 位位1 028 位位自自動動重重裝裝1 13T0 為為兩兩個個 8 位位2.4.2 定時器工作方式定時器工作方式 由方式選擇位M1、M0設定一、 方式0 13位定時/計數(shù)器。 THx 8位和TLx低5位組成13位加1 計數(shù)器,此種方式與MCS48系列兼容
28、,如果不是為了兼容的目的,一般不用方式0. 方式0的全部功能,方式1都可以代替。二、二、 方式方式1 1 16位定時/計數(shù)器。 THx8位和TLx8位組成16位加1計數(shù)器最大計數(shù)脈沖個數(shù):165536(216),最長定時時間(晶振12MHz T=1s):1s 65536T= 65.54ms非門控方式:當非門控方式:當GATE0, 控制權由控制權由 TRx 決定決定 TRx1 計數(shù)開始計數(shù)開始 TRx 0 計數(shù)停止計數(shù)停止門控方式:當門控方式:當GATE1、TRx1 控制權由控制權由 INTx 決定決定 INTx1 計數(shù)開始計數(shù)開始 INTx 0 計數(shù)停止計數(shù)停止啟動計數(shù)方式:啟動計數(shù)方式:三、
29、三、 方式方式2 2 用于需要重復定時和計數(shù)的場合。 最大計數(shù)值:256 (28) 最大定時時間(晶振12MHz時 T=1s): 256s 自動恢復初值8位定時/計數(shù)器。TLx為8位加1計數(shù)器,THx為8位初值暫存器。四、四、方式方式3 3 T0分成2個8位定時器:TL0定時/計數(shù)器和TH0定時器 TL0占用T0控制位:C/T,TR0,GATE;TH0占用T1控制位:TR1。T1不能使用方式3工作2.4.3 計算時間常數(shù)計算時間常數(shù)X(X(計算初值計算初值) ) 計數(shù)功能:X= 2n -計數(shù)值 n:8/13/16 定時功能:X= 2n - t/T t:定時時間(s) T:機器周期12/晶振頻率
30、 如:晶振為12MHz時,T12/12 MHz12(1210-6)(秒)110-61us一、一、 MCS-51MCS-51定時器的應用定時器的應用 定時器初始化編程:使用定時器工作之前,先寫入控 制寄存器,確定好定時器工作方式。 初始化編程格式:MOV TMOD,# 方式字 ;選擇方式MOV THx,#XH ;裝入Tx時間常數(shù)MOV TLx,#XLSETB EA ;開Tx中斷SETB ETxSETB TRx ;啟動Tx定時器。 例:由P1.0輸出方波信號,周期為2ms,設fosc=12MHz。2ms解:每隔1ms改變一次P1.0的輸出狀態(tài),即形成方波,用T0非門控方式1定時。 計算時間常數(shù):X
31、 = 216 - t/T = 216 (/1000)/10-6 = 65536-1000 = 64536 = FC18H ORG0000HAJMPMAINORG000BH ;T0中斷硬件入口地址AJMPPT0INT ;跳到中斷服務程序ORG0030H MAIN:MOVTMOD,#01H ;中斷方式MOVTL0,#18H ;計數(shù)初值MOVTH0,#0FCHSETBEA ;開放總中斷SETBET0 ;開放T0中斷SETBTR0 ;啟動定時器 HERE:SJMPHERE ;等待中斷,相當于執(zhí)行其它任務 PT0INT: MOVTL0,#18H ;中斷服務程序;置初值MOVTH0,#0FCHCPLP1.
32、0 ;取反,產(chǎn)生方波RETI ;中斷返回例 P1.7驅(qū)動LED亮1秒滅1秒地閃爍,設時鐘頻率為12MHz。 長定時方法:增加一個軟件計數(shù)器(如R7), 記錄中斷次數(shù),計滿n個中斷為1秒。 ORG 0000H AJMP MAIN ORG 001BH AJMP PT1INT ORG 0030HSTART:MOV R7,#00H MOV TMOD,#10H MOV TL1, #0F0H MOV TH1, #0D8H SETB EA SETB ET1 SETB TR1HERE: SJMP HEREPT1INT: MOV TL1,#0F0H MOV TH1,#0D8H INC R7 CJNE R7,#1
33、0, PEND MOV R7, #00H CPL P1.7PEND: RETI例 定時器外部引腳T0(T1)用作外部中斷信號輸入端。外部負脈沖引起中斷請求,選計數(shù)方式,時間常數(shù)為FFH。例:門控方式測量正脈沖寬度 解:INT1引腳輸入被檢測信號,記錄在正脈沖的時間內(nèi)包含機器脈沖個數(shù)。 設脈寬小于65.5ms 等待查詢INT0,正脈沖過后,讀出TH1TL1。START: MOV TMOD,#90H MOV TL1,#00H MOV TH1,#00HWAIT1: JBP3.3,WAIT1 SETB TR1WAIT2 :JNBP3.3,WAIT2 WAIT3 : JBP3.3,WAIT3CLRTR1
34、MOV R2,TL1MOV R3,TH1TR1=1 T1啟動 TR1=0 T1停止INT1v解 計數(shù)初值計算:200us的初值為9CH,400us的初值為38H,即TH0=38H,TL0=9CH;v程序如下:vORG 00Hv AJMP MAINv 0RG 000BHv MOV TL0,#9CH ;以下中斷服務程序共6字節(jié)v CPL P1.0v RETIv 0RG 001BHv MOV TH0,#38Hv CPL P1.1v RETIvMAIN:MOV TMOD,#3 ;T0方式3v MOV TI0,#9CHv MOV THO,#38Hv MOV IE,#8AH ;允許兩個定時器中斷v SET
35、B TR0v SETB TR1v SJMP $例 應用定時器T0的方式3分別產(chǎn)生200us和400us的定時,并使P1.0。和P1.1分別輸出周期為400us和800us的連續(xù)方波,設。1 1實訓目的實訓目的(1) 利用單片機的定時與中斷方式,實現(xiàn)對信號燈的復雜控制。(2) 通過定時器程序調(diào)試,學會定時器方式1的使用。(3) 通過中斷程序調(diào)試,熟悉中斷的基本概念。實訓實訓 信號燈的控制信號燈的控制2 2實訓設備與器件實訓設備與器件 (1)實訓設備:單片機開發(fā)系統(tǒng)、微機。 (2) 實訓器件:實訓電路板。3 3實訓程序?qū)嵱柍绦?)定時器查詢方式)定時器查詢方式ORG0000HCONT: MOVR2
36、,#07HMOVA,#0FEHNEXT:MOVP1,AACALLDELAYRLADJNZR2,NEXTMOV R2,#07HNEXT1:MOVP1,ARRAACALLDELAYDJNZR2,NEXT1SJMPCONTDELAY: MOV R3,#14H;置;置50ms計數(shù)循環(huán)初值計數(shù)循環(huán)初值MOVTMOD,#10H;設定時器;設定時器1為方式為方式1MOVTH1,#3CH;置定時器初值;置定時器初值MOVTL1,#0B0HSETBTR1;啟動;啟動T1LP1:JBCTF1,LP2 ;查詢計數(shù)溢出;查詢計數(shù)溢出SJMPLP1;未到;未到50ms繼續(xù)計數(shù)繼續(xù)計數(shù)LP2:MOVTH1,#3CH ;重
37、新置定時器初值;重新置定時器初值MOVTL1,#0B0HDJNZR3,LP1 ;未到;未到1s繼續(xù)循環(huán)繼續(xù)循環(huán)RET;返回主程序;返回主程序ENDTF1=12)定時器中斷方式)定時器中斷方式ORG0000H;程序入口;程序入口AJMP0100H;指向主程序;指向主程序ORG001BH;定時器;定時器T1中斷入口中斷入口AJMPCONT;指向中斷服務程序;指向中斷服務程序ORG0100HMAIN:MOVTMOD,#10H;置;置T1為工作方式為工作方式1MOVTH1,#3CH;置;置50ms定時初值定時初值MOVTL1,#0B0HSETBEA;CPU開中斷開中斷SETBET1;定時器;定時器T1開中斷開中斷SETBTR1;啟動;啟動T1CLR08H;清;清1s計滿標志位計滿標志位MOVR3,#14H;置;置50ms循環(huán)初值循環(huán)初值DISP:MOVR2,07HMOVA,#0FEHNEXT:MOVP1,AJNB08H,$;查詢;查詢1s時間到否時間到否CLR08H;清標志位;清標志位RLADJNZR2,NEXTMOVR2,#07HNEXT1: MOV P1,AJNB08H,$CLR08
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 8 數(shù)學廣角-數(shù)與形 第一課時(教學設計)-2024-2025學年六年級上冊數(shù)學人教版
- 12 低碳生活每一天 第二課時 教學設計-2023-2024學年道德與法治四年級上冊統(tǒng)編版
- Module 4單元整體(教學設計)-2024-2025學年外研版(三起)英語四年級上冊
- 聘用人員 合同范本
- 英文合同范本甲方全稱
- 門店住宅改造合同范本
- Module 6 Unit 1 You can play football well(教學設計)-2024-2025學年外研版(三起)英語五年級上冊
- 12 家鄉(xiāng)的喜與憂2023-2024學年四年級下冊道德與法治同步教學設計(統(tǒng)編版)
- 2024年九年級數(shù)學中考專題-相似系列之一線三等角 教學設計
- 4 選舉產(chǎn)生班委會 教學設計-2023-2024學年道德與法治五年級上冊統(tǒng)編版
- 初三開學第一課家長會優(yōu)秀課件兩篇
- 馬工程教材《公共財政概論》PPT-第十四章 國際財政
- 獅子王1中英文臺詞
- 《大學俄語》教學大綱
- 清淤工程施工記錄表
- TCITSA 24-2022 基于ETC的高速公路自由流收費技術規(guī)范
- 2022年涉農(nóng)領域涉嫌非法集資風險專項排查工作總結
- 起重裝卸機械操作工國家職業(yè)技能標準(2018年版)
- 五年級下冊美術課件-第2課 新街古韻丨贛美版
- 秦荻輝科技英語寫作教程練習答案(共42頁)
- GB∕T 41168-2021 食品包裝用塑料與鋁箔蒸煮復合膜、袋
評論
0/150
提交評論