_interrupt_service.a51
来自「使用PROTEUS仿真的推箱子游戏,全汇编格式,通过按钮操作,1602显示」· A51 代码 · 共 61 行
A51
61 行
;===========================================================
; interrupt service subroutines
;===========================================================
TIMER0_IR:
PUSH PSW ;save PSW
PUSH ACC ;save ACC
CLR EA ;disable all interrupt
TIMER0_IR_EXIT:
POP ACC ;restore ACC
POP PSW ;restore PSW
SETB EA ;enable all interrupt
RETI
;============================================================
TIMER1_IR:
PUSH PSW ;save PSW
PUSH ACC ;save ACC
CLR EA ;disable all interrupt
LCALL SCAN_KEY
TIMER1_IR_EXIT:
POP ACC ;restore ACC
POP PSW ;restore PSW
SETB EA ;enable all interrupt
MOV TH1,#0F0H
MOV TL1,#060H
SETB EA
SETB ET1
SETB TR1
RETI
;============================================================
INT0_ISR:
PUSH PSW ;save PSW
PUSH ACC ;save ACC
CLR EA ;disable all interrupt
INT0_ISR_RTN:
POP ACC ;restore ACC
POP PSW ;restore PSW
SETB EA ;enable all interrupt
RETI
;============================================================
INT1_ISR:
PUSH PSW ;save PSW
PUSH ACC ;save ACC
CLR EA ;disable all interrupt
INT1_ISR_RTN:
POP ACC ;restore ACC
POP PSW ;restore PSW
SETB EA ;enable all interrupt
RETI
;============================================================
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?