                  LIST     P=16F877 
                    errorlevel-302
ADCON1   EQU      9F
PDel0    EQU      21
PDel1    EQU      22
reg1     equ      23
reg2     equ      24
reg3     equ      25
reg4     equ      26
d1       equ      27
d2       equ      28

                  org      0x00         
		goto 	INICIO
                  org      0x05            


INICIO          bsf      3,5       ;banco 1 
                  movlw    0x06              
                  movwf	   ADCON1
                  movlw    b'000000'        ; ra,0     ;como salida
                  movwf    0x05                  
                  movlw    b'00000000'      ;salidas rb
                  movwf    0x06
                  movlw    b'00000000'      ;salidas rc
                  movwf    0x07
                  movlw    b'00000000'      ;salidas rd
                  movwf    0x08
                  bcf      3,5        ;banco 0 
		
                  clrf     0x05          
                  clrf     0x06          
                  clrf     0x07        
                  clrf     0x08
                  clrf     reg3
                  clrf     reg4

                  bcf      0x05,0
                  call     ms18
                  bsf      0x05,0
                  call     us30
ppp             bsf      3,5                  ;banco 1
                  movlw    b'000001'      ;ra0 como entrada
                  movwf    0x05
                  bcf      3,5                  ;banco 0
                  movwf    0x08
                  call     reta
                  goto     ppp
;------------------------------------------------------------------------
us30          movlw   16          ;retardo de 30us
              movwf   d1    
              movlw   16      
              movwf   d2
delay_1
              decfsz  d1,1  
              goto    $+2         
              decfsz  d2,1 
              goto    delay_1
              goto         $+1
              nop
              return
;---------------------------------------------------------------------------------------	                              
ms18          movlw   0x0e          ;retardo de 18ms
              movwf   d1    
              movlw   0x0f      
              movwf   d2
delay_0
              decfsz  d1,1  
              goto    $+2         
              decfsz  d2,1 
              goto    delay_0
              goto         $+1
              nop
              return
;-------------------------------------------------------------------------------------
reta          movlw   .255          ;retardo para visualizar los puertos
              movwf   PDel0    
PLoo1         movlw   .255      
              movwf   PDel1    
PLoo2         decfsz  PDel1,1  
              goto    PLoo2    
              decfsz  PDel0,1 
              goto    PLoo1
              clrf    0x08         ;limpiar rb8
              clrf    0x07         ;limpiar rb7
              return            
;--------------------------------------------------------------------
		END
		
