中断的响应--p3.2的键盘数码管显示0
详细内容
;知识要点:中断的应用;熟悉中断的地址入口,中断的返回与响应
;主程序是把p1口送一个数据28h
;所以p1的状态为00101000响应中断(按p32,那么到中断服务数码管显示0)
;中断响应的基本条件是中断有请求,中断允许寄存器相应位置1,总中断开放ea=1
;一旦响应中断, 只保护断点不保护现场,所以一般要保护现场.
0000H
LJMP MAIN
0003H;外中断0的入口地址(注意是p32)
LJMP 0100H;跳到100h地址处
030H
MAIN: MOV A,#28H;a送28h
SETB EA;开总中断
SETB EX0;开外部中断
LOOP:MOV P1,A;送a到LED显示
LCALL DEl;调用延时
AJMP LOOP;重新开始
DEL: MOV R7,#0FFH;延时程序
DEL1: MOV R6,#0FFH
DEL2: DJNZ R6,DEL2
DJNZ R7,DEL1
RET
0100H;中断服务程序从100h开始
MOV P0,#28h;数码管显示0
CLR P2.1;打开第一个数码管
RETI
END
运行的状态:P1的状态为00101000
运行的状态:按p32后数码管显示0,p1口不变