$include(stc8h.inc)
	ORG 0000H
	LJMP MAIN
	ORG 0003H    ;INT0中断
	LJMP Control_INT0_ISR
	ORG 000BH    ;T0中断
	LJMP T0_ISR
	
MAIN:
	LCALL GPIO 	   	     ;I/O端口初始化

	SETB EX0			 ;开放中断INT0
	SETB IT0
	SETB ET0			 ;开放中断T0
	SETB EA				 ;中断总开关开	
	
	
	MOV R1,#0H			 ;启停标志寄存器
	MOV R2, #14H         ;置50ms计数循环初始值
	MOV A, #00H			 ;设置秒表计数器，初始值为0
	
	
	MOV TMOD, #00H  	 ;T0定时器初始化
	MOV TH0, #3CH
	MOV TL0, #0B0H
	SETB TR0
DISPLAY:
	MOV R0, #50H
	LCALL LED_display
	
	SJMP DISPLAY
;************************************************		
Control_INT0_ISR:
	INC R1				;R1加一
	CJNE R1,#1H, T01    ;偶数跳转启动T01
	CLR TR0				;奇数停止T0
	LJMP RETURN1
T01:
	SETB TR0
	MOV R1,#0H
RETURN1:
	RETI
;************************************************		
T0_ISR:
	DJNZ R2, RETURN2     ;50ms计数20次到达1s
	MOV R2, #14H
	JZ RESET
	ADD A, #01H          ;1s时A加一
	LJMP Upset
RESET:
	MOV A,#00H
Upset:
	MOV R3, A			;更新显示缓冲区数值
	MOV R0,#50H	
L1:
	MOV B, #10
	DIV AB
	MOV @R0, B
	DEC R0
	CJNE R0, #56H, L1
	MOV A, R3
	CJNE A,#100, RETURN2
	MOV A, #00H
RETURN2:
	RETI
	
	$include(LED_display.inc)
	$INCLUDE (gpio.inc)
	END
	
