         list     p=16F877 ;Se indica el modo de procesador
         errorlevel-302
          radix   hex
ADCON1   EQU      0X9F
d1       equ      20            
d2       equ      21
d3       equ      22
reg1     equ      23
;----------------------------------------------------------------------------
		org 	0x00		;vector de inicio
                  goto     inicio
		org 	0x05		;despues del vector de interrupcion
         
inicio            clrf     0x08
                  bsf      3,5
                  movlw    0x06              ;Puerto A en modo digital
                  movwf    ADCON1
                  movlw    B'00000000'
                  movwf    0X08
                  movlw    b'000000'   ;todo salidas
                  movwf    0x05
                  movlw    b'00000000'
                  movwf    0x06
                  movlw    b'00000000'
                  movwf    0x07
                  bcf      3,5
		
                  clrf     0X05            
                  clrf     0X06           
                  clrf     0X07
                  clrf     0x08
                  clrf     reg1
                

segun    movlw    .255
         movwf    d1
qqq      movlw    .240
         movwf    d2
ttt      movlw    .4
         movwf    d3             ;1 segundo
ddd      decfsz   d3,1
         goto     ddd
         decfsz   d2,1
         goto     ttt
         decfsz   d1,1
         goto     qqq
         
                   ;bcf      0x05,0
                  call     ms18       ;tiempo para activar el dht11
                  bsf      0x05,0     ;si quito esta linea no funciona
                  call     us27;us30
                  bsf      3,5        ;banco 1
                  movlw    b'000001'  ;ra,0 como entrada
                  movwf    0x05
                  bcf      3,5        ;banco 0

                  btfss    0x5,0
                  goto     $-1
                  btfsc    0x05,0
                  goto     $-1
as                btfss    0x05,0
                  goto     $-1
                  btfsc    0x05,0    ;espera a que de ponga bajo ra,0
                  goto     $-1
                  incf     reg1,0
                  movwf    reg1
                  movwf    0x08      ;lo visualizo en rd
                  goto     as
;--------------------------------------------------------------------       
ms18     movlw    0x0f
         movwf    d1
         movlw    0x0f
         movwf    d2
l6                              ;retardo de 18ms
         decfsz   d1,1
         goto     $+2
         decfsz   d2,1
         goto     l6
         goto     $+1
         return   
;----------------------------------------------------------------         
us27     movlw    0x07
         movwf    d1
l1       decfsz   d1,1     ;retardo de 27us
         goto     l1
         nop
         return
;----------------------------------------------------------------------
         end
                       



                  
		
