|
ORG 0000H ; 程序起始地址
LJMP MAIN ; 跳轉(zhuǎn)到主程序
ORG 0003H ; 外部中斷0入口地址
LJMP INT0_K ;
MAIN: ; 主程序
CLR P3.3 ;
CLR P3.2 ; 水位檢測(cè)初始化
MOV SP, #60H ; 設(shè)置堆棧指針
LCALL DELAY ; 延時(shí)
LCALL DELAY ; 延時(shí)
SETB P3.3 ; 關(guān)閉排水泵
SETB IT1 ; 設(shè)置INT0為上升沿觸發(fā)
SETB EX0 ; 使能外部中斷0
SETB EA ; 使能全局中斷
POWER: ; 進(jìn)入掉電模式整機(jī)能耗低于2uA
MOV PCON, #02H ; 進(jìn)入掉電模式(PCON.1 = 1)
NOP ; 等待喚醒
NOP ; 等待喚醒
SJMP POWER ; 無喚醒始終在掉電模式
INT0_K: ; 水位檢測(cè)
CLR EA ; 關(guān)閉全局中斷
CLR P3.3 ; 開啟排水泵
ACALL DELAY ; 延時(shí)
ACALL DELAY ; 延時(shí)
SETB P3.3 ; 關(guān)閉排水泵
SETB EA ; 使能全局中斷
DELAY: ; 延時(shí)子程序
MOV R3,#238;
D1: MOV R4,#245;
D2: MOV R5,#246;
DJNZ R5,$;
DJNZ R4,D2;
DJNZ R3,D1
RETI ; 返回主程序
END ; 結(jié)束 |
|