;
;	***********************************
;	*   Creazione tempo di ritardo    *
;	***********************************
;	
;SCOPO: Accendere e spegnere un led mediante l'utilizzo dei timer





	$MOD51
	ORG 0000H
	JMP CODICE
	ORG 001BH
	JMP AGGIORNA
	ORG 30H

CODICE:					;INDIRIZZO INIZIO CODIFICA

;|------------------------------------|
;|INIZIALIZZAZIONE REGISTRI AGGIUNTIVI|
;|------------------------------------|
                setb p1.0
		MOV R0,#100
		MOV R1,#100

;|----------------------|
;|INIZIALIZZAZIONE TIMER|
;|----------------------|

		MOV TCON,#0		;TIMER=STOP, RESET OVERFLOW
		SETB IE.7		;ABILITAZIONE EA
		SETB IE.3		;ABILITAZIONE INTERRUPT T1
		MOV TMOD,#00100000B	;ABILITAZIONE T1 COME TIMER
					;FUNZIONAMENTO IN MODO 2
		MOV TH1,#155		;VALORE DI RELOAD
		MOV TL1,#155		;VALORE INIZIALE
INIZIO: 	SETB TCON.6		;ACCENSIONE TIMER1
ASPETTO:	JMP $			;ATTESA OVERFLOW
		JMP ASPETTO
AGGIORNA:	DJNZ R0,FINE_RIT
		MOV R0,#100
		DJNZ R1,FINE_RIT
		MOV R0,#100
		MOV R1,#100
		cpl p1.0		;COMPLEMENTA P1.O
					;|---------------------|
					;|SE 0 => 1 ; SE 1 => 0|
					;|---------------------|
FINE_RIT:
		RETI
		END