list p=16f877
include <p16f877.inc>
dato1		EQU		0x22		;DATO PARA EL RETARDO
dato2		EQU 	0x23		;DATO PARA EL DESPLAZAMIENTO
ORG			0x00

			bsf		STATUS,5
			bcf		STATUS,6
			clrf	TRISA
			clrf	TRISB
			movlw	b'11111000'
			movwf	TRISC
			;******TIMER0 ******
			movlw	b'00000111'
			movwf	OPTION_REG

			bcf		STATUS,5
			bcf		STATUS,6
		
			clrf	PORTA
			clrf	PORTB
			clrf	PORTC
			CLRF	dato2

inicio		bcf		PORTC,0
			BSF		PORTC,1
			call	retardo

			bsf		PORTC,0
			BSF		PORTC,1
			MOVF	dato2,0
			CALL	TABLA		
			MOVWF	PORTB
			call	retardo
			INCF	dato2,1
			goto 	inicio



;**************INICIO TABLA*****************
TABLA		ADDWF	PCL,1
			RETLW	b'00000000'		;PRIMERA COLUMNA LETRA H
			RETLW	b'11100111'		;SEGUNDA COLUMNA LETRA H
			RETLW	b'11100111'		;TERCERA COLUMNA LETRA H
			RETLW	b'11100111'		;CUARTA COLUMNA LETRA H
			RETLW	b'11100111'		;QUINTA COLUMNA LETRA H
			RETLW	b'11100111'		;SEXTA COLUMNA LETRA H
			RETLW	b'11100111'		;SEPTIMA COLUMNA LETRA H
			RETLW	b'00000000'		;OCTAVA COLUMNA LETRA H
;*************FIN TABLA********************



;**INICIO retardo de 1 segundo aproximadamente**
retardo		movlw	d'7'
			movwf	dato1

label_2		clrf	TMR0
			bcf		INTCON,2
			

label_1		btfss	INTCON,2
			goto	label_1
			decfsz	dato1,1
			goto	label_2
			
			return
;**FIN retardo de 1 segundo aproximadamente**


END