定時中斷程序_第1頁
定時中斷程序_第2頁
定時中斷程序_第3頁
定時中斷程序_第4頁
定時中斷程序_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1、用定時器延時開始接在單片機P1端口的P1.7亮,用定時器延時60ms后P1.6亮,依次向右移動,循環(huán)顯 示。采用定時器做延時:START:MOV R0,#8MOV A,#01111111BLOOP:MOV P1,A;使 P1.0 輸出LCALL DELAYRRADJNZ R0,LOOP ;調定時器延時子程序JMPSTART;跳到START處主程序DELAY:MOV TMOD,#00000001B;設定 TO 工作在 MODE1SETB TR0;啟動TO開始計時MOV TL0,#LOW(65536-60000);裝入低位定時常數MOV TH0,#HIGH(65536-60000);裝入高位定

2、時常數JNBTF0,$; T0沒有溢出等待CLRTF0;產生溢出清標志位RET;子程序返回延時子程序END;程序結束功能說明:開始時P1.0亮,延時10秒后,左移至P1.1亮,如此左移到第6個燈(P1.5)亮后,再 從頭開始向左移動,1分鐘循環(huán)一次。01START: MOV R0, #6;設左移 6 次02MOV A, #11111110B ;存入開始點亮燈位置03LOOP: MOV P1, A;傳送到P1并輸出04ACALL DELAY;調延時子程序05RL A;左移一位06DJNZ R0, LOOP;判斷移動次數07JMP START;重新設定顯示值08DELAY: MOV R1,#200

3、;設置軟件計數初值09MOV TMOD,#00000001B;設定 TO 工作在 MODE110SETB TR0;啟動TO開始計時11AGAIN: MOV TL0,#LOW(65536-50000);裝入低位12MOV TH0,#HIGH(65536-50000);裝入高位13LOOP1: JBC TF0,LOOP2 ; TF0 是 1 轉移至 LOOP2 并清 014JMP LOOP115LOOP2: DJNZ R1,AGAIN ; R1 不是 0,則轉移至 AGAIN16CLR TR0;是,則停止T0計時17RET;子程序返回18END;程序:DS02.ASM主程序(定時加軟件計數)延時子

4、程序程序結束功能說明:采用兩個定時器合用,T0設置為定時方式,T1設置為計數方式。T0定時 時間為50ms,計滿產生的輸出信號由P1.7 口發(fā)光二極管顯示。同時還將該信號輸入到計數 器T1(P3.5腳)作為T1的計數輸入脈沖,當輸入信號產生由1到0的跳變時觸發(fā)計數器工 作,使計數器的值增1。計數器T1的初始值設置為100,計滿時所用的時間為50msX2X100,10s。并由P1.0端口發(fā)光二極管來顯示,所以P1.0端口的燈每10s點亮或熄滅一次。程序:DS03.ASMORG0000H;起始地址JMPMAIN;跳到主程序MAIN處ORG000BH;定時器T0溢出入口地址JMPEXT0;跳到定時器

5、中斷EXT0處ORG001BH;計數器T1溢出入口地址JMPEXT1;跳到計數器中斷EXT1處MOVSP, #60H ;設置堆棧一1-入口地址MAIN: MOVTMOD,#01100001B;設 T0 模式 1,T1 模式 2MOVTL0,#LOW(65536-50000);裝入定時初值MOVTH0,#HIGH(65536-50000);MOVTL1,#(256-100);裝入計數初值MOVTH1,#(256-100);MOVIE, #10001010B ;開總中斷及T0、T1中斷SETBTR0;啟動T0開始定時SETBTR1;啟動T1開始計數JMP$;等待溢出L主程序EXT0: MOVTL0

6、,#LOW(65536-50000);重加載MOVTH0,#HIGH(65536-50000);CPLP1.7;P1.7反相輸出,并輸入P3.5T0中斷RETI;T0中斷子程序返回一1-子程序EXT1: CPLP1.0;P1.0反相輸出 T1中斷RETI;T1中斷子程序返回一1-子程序END;結束程序結束即01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23一、填空題(每空1分,共20分)1、 MCS-51系列單片機指令系統的尋址方式有、 、一 、 、 、。2、MCS-51單片機片內有個中斷源,其中個外部中斷源

7、。五個中斷源分別為、 、 、 、 。3、 堆棧指針SP按照 的原則存儲數據。4、假定(SP)=60H, (ACC) =30H, (B)=70H,執(zhí)行下列指令:PUSH ACCPUSH B后,SP的內容為, 61H單元的內容為, 62H單元的內容為。5、 在變址尋址方式中,以 作為變址寄存器,以或 作基址寄存器。二、選擇題(每題2分,共10分)1、在寄存器間接尋址方式中,寄存器中存放的是()(A)操作數 (B)操作數地址 (C)轉移地址 (D)地址偏移量2、 將單片機外部中斷0設置為電平觸發(fā),可以通過設置()實現。(A) IT0(B) IE0 (C) TR0(D) TF03、中斷服務程序最后一條

8、指令必須是()(A) END (B) RET (C) RETI (D) JMP4、假定(A) =83H,(R0) =17H,(17H) =34H,執(zhí)行以下程序段ANL A,#17HORL 17H,AXRLA,R0CPL A后,A的內容為()(A) CBH(B) 03H(C) EBH (D) C8H5、已知8051單片機晶振的振蕩頻率fosc=12MHZ,若某指令為雙周期指令指令執(zhí)行所需時間為()。(A) 1微妙 (B) 2微妙(C) 4微妙 (D) 1毫秒三、讀程序(每空2分,共20分)1、假定(A) =83H,(R0) =17H,(17H) =34H,執(zhí)行以下程序段ANL A,#17HXCH

9、A,17HXRLA,R0SWAP A后,A 的 內容為,R0的 內容為。2、如果 DPTR=507BH,SP=32H,(30H) =50H,(31H) =5FH,(32H) =3CH,則 執(zhí)行下列指令后:POPDPHPOP DPLPOP SP貝0: DPH=, DPL=, SP=。3、假定(A)=0FFH, (R3)=0FH, (30H)=0F0H, (R0)=40H,(40H)=00H。執(zhí)行指令:INC AINC R3INC 30HINC R0后,累加器A的內容為, R3的內容為, 30H的內容為, 40H 的內容為。4、假定(A) =56H, (R5) =67H。執(zhí)行指令:ADDA, R5DA后,累加器A的內容為。四、問答題(每題5分,共20分)1、寫出單片機

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論