51單片機入門程序14
;工程名稱:用外部中斷0控制P1.0所接的LED亮起來(下降沿觸發)
;編寫日期:2009.7.4
;編寫者:藍柳柳
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ORG 0000H
AJMP QQ ;跳轉到主程序QQ去運行
ORG 0003H ;外部中斷0入口地址
LJMP QQQ ;轉到中斷服務程序QQQ處去運行
ORG 30H
QQ:
MOV P1,#1111111B ; 熄滅掉PI端口的燈,等下運行中斷服務程序時P1.0就亮
MOV P3,#1111111B ;讓P3.2這引腳置為高電平,等下按下其所接的開關將有下降沿觸發
SETB IT0 ;外部中斷0條件
SETB EX0 ;外部中斷0條件
SETB EA ;外部中斷0條件
LOOP:AJMP LOOP ;單片機正在做自己的事情,這里的語句說明單片機在等待
QQQ:CPL P1.0 ;對P1.0該腳取反,即讓P1.0所接的LED亮起來
ACALL YS ;延時,亮1秒鐘
RETI ;中斷服務程序返回,返回到LOOP處等待下次中斷
YS: ;延時子程序,如果是用12MHZ作為時鐘電路的話,那么延時時間為1秒
MOV R1,#10
D: MOV R2,#200
T: MOV R3,#248
DJNZ R3,$
DJNZ R2,T
DJNZ R1,D
RET ;子程序返回指令,子程序的設計一般都是因為主程序要調用它,
;調用完是要返回到主程序繼續運行下一個語句的
END
|