         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
                  call     us27;us30
                  bcf      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
                       



                  
		
