|
ORG 0000H ;報警聲 AJMP MIN ;轉(zhuǎn)主程序 ORG 0050H ;主程序 MIN: MOV SP,#50H MOV 20H,#0F0H ;報警聲參數(shù) L0098: SETB P2.0 ;P2.0輸出報警聲 ACALL S00D0 ;延時時間比INT1長 CLR P2.0 ; ACALL S00D0 ; DJNZ 20H,L0098 ;不為零轉(zhuǎn) CLR P2.0 ; ACALL S00E0 ; SJMP L0098 ; ORG 00E0H S00E0: MOV R2,#25H ACALL S00EB RET ORG 00D0H S00D0: MOV R2,#05H ; ACALL S00EB ; RET ; ORG 00EBH ;通用延時子程序 S00EB: PUSH 02H ;R2(復(fù)位后R2即為02H)存放時間常數(shù),進(jìn)棧保護(hù) L00ED: PUSH 02H ;R2進(jìn)棧保護(hù) L00EF: PUSH 02H ;進(jìn)棧 L00F1: DJNZ R2,$ ;R2不為零等待 POP 02H ;出棧 DJNZ R2,L00EF ;R2不為零轉(zhuǎn) POP 02H ;出棧 DJNZ R2,L00ED ;R2不為零轉(zhuǎn) POP 02H ;出棧 DJNZ R2,S00EB ;R2不為零轉(zhuǎn) RET ;子程序返回 END
|