;Programa para el manejo de 4 displays

List p=16f877

estado    equ  0x03
puertoc   equ  0x07      ;Puerto hacia el 74LS47 (15,16,17,18)
trisc     equ  0x87
puertod   equ  0x08      ;Puerto que sale a los transistores 2N2222 (19,20,21,22)
trisd     equ  0x88      
dy1       equ  0x21      
dy2       equ  0x22
dy3       equ  0x23
dy4       equ  0x24
temp1     equ  0x26

          org 0
          goto inicio

inicio    org 5
          bsf estado, 5
          movlw     0x00
          movwf     trisc
          movwf     trisd

          bcf estado, 5
          movlw     0x1
          movwf     dy1
          movlw     0x2
          movwf     dy2
          movlw     0x3
          movwf     dy3
          movlw     0x4
          movwf     dy4

ciclo     movlw     dy1
          movwf     puertoc        ;muevo dy1 al puerto c
	  movlw	    0x01	
          movwf     puertod
          call      tiempo
          clrf      puertod

          movlw     dy2
          movwf     puertoc        ;muevo dy2 al puerto c
	  movlw	    0x02
          movwf     puertod
          call      tiempo
          clrf      puertod

          movlw     dy3
          movwf     puertoc        ;muevo dy3 al puerto c
          movlw     0x04
          movwf     puertod
          call      tiempo
          clrf      puertod

          movlw     dy4
          movwf     puertoc        ;muevo dy4 al puerto c
          movwf     0x08
          movwf     puertod
          call      tiempo
          clrf      puertod
          goto      inicio

tiempo    movlw  0xff
          movwf  temp1
loop      decfsz temp1, 1
          goto   loop
          return

       end
