一、中断
所谓中断,就是打断正在进行的工作,转而去做另外一件事情。比如说,会计正在记账,桌面上摆着摊开的账本和正在使用的计数器,这时候有人敲门叫他去办另一件事情,他暂时放下手头工作,并保存好账本和计数器以免被弄乱或丢失(在中断中称“保护现场");等处理完事情后返回办公桌前再拿出帐本和计数器(在中断中称“恢复现场"),继续记账。这一过程就是中断以及中断处理的过程。
中断源及入口地址
二、时钟实例
一、电路原理图
二、运行代码
DUAN BIT P2.6
WEI BIT P2.7
ORG 0000H
LJMP START
ORG 000BH
LJMP ST
ORG 0030H
START: CLR DUAN
CLR WEI
MOV TMOD,#01H
MOV TL0,#0B0H
MOV TH0,#03CH
SETB TR0
SETB EA
SETB ET0
MOV R0,#70H
MOV R4,#50 ;SEC
MOV R1,#59 ;MIN
MOV R2,#23 ;H
MOV R5,#20
MAIN:
LOOP:
LEDDIS: MOV 60H,R4
LCALL DIVER
MOV 60H,R1
LCALL DIVER
MOV 60H,R2
LCALL DIVER
MOV R3,#6
FLASH:
DEC R0
MOV A,@R0
MOV DPTR,#DTAB
MOVC A,@A+DPTR
SETB DUAN
MOV P0,A
CLR DUAN
MOV DPTR,#WTAB
MOV A,R3
MOVC A,@A+DPTR
SETB WEI
MOV P0,A
CLR WEI
LCALL DELAY
DJNZ R3,FLASH
SJMP LOOP
ST:
DJNZ R5,TTK
INC R4
MOV R5,#20
CJNE R4,#60,TTK
MOV R4,#00H
INC R1
MOV R5,#20
CJNE R1,#60,TTK
MOV R1,#00H
INC R2
MOV R5,#20
CJNE R2,#24,TTK
MOV R2,#00H
MOV R5,#20
TTK: MOV TL0,#0B0H
MOV TH0,#03CH
RETI
DIVER: MOV A,60H
MOV B,#10
DIV AB
MOV @R0,B
INC R0
MOV @R0,A
INC R0
RET
DELAY: MOV R7,#20
DMS1: MOV R6,#50
DMS2: DJNZ R6,DMS2
DJNZ R7,DMS1
RET
ORG 1000H
DTAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H,00H
WTAB: DB 00H,0DFH,0EFH,0F7H,0FBH,0FDH,0FEH
END