;------------------------------------------------------------
; Código assembler generado por Niple V6.4.1
; Proyecto: Prueba on off tab sau
; Autor: SERGIO
; Fecha: 11 03 2020
; PIC: 16F876A
; Velocidad de reloj: 4 Mhz
; Descripcion: 
;------------------------------------------------------------


 LIST    P=PIC16F876A


_XT_OSC               equ  0x3FFD
_DEBUG_OFF            equ  0x3FFF
_WDT_OFF              equ  0x3FFB
_PWRTE_ON             equ  0x3FF7
_BODEN_OFF            equ  0x3FBF
_LVP_OFF              equ  0x3F7F
_CPD_OFF              equ  0x3FFF
_CP_OFF               equ  0x3FFF
_WRT_ENABLE_OFF       equ  0x3DFF

 __config _XT_OSC & _DEBUG_OFF & _WDT_OFF & _PWRTE_ON & _BODEN_OFF & _LVP_OFF & _CPD_OFF & _WRT_ENABLE_OFF & _CP_OFF


;------------------------------------------------------------
;                  Declaración de Registros
;------------------------------------------------------------
w                     equ  0x0000
status                equ  0x0003
fsr                   equ  0x0004
porta                 equ  0x0005
portb                 equ  0x0006
portc                 equ  0x0007
pclath                equ  0x000a
adcon0                equ  0x001f
_np_temp1             equ  0x0024
_np_temp2             equ  0x0025
_np_tiempo            equ  0x002a
_np_tiempo1           equ  0x002c
_np_tiempo2           equ  0x002d
_np_tiempo3           equ  0x002e
_np_temp3             equ  0x0031
_np_temp4             equ  0x0032
off                   equ  0x0042
opcion                equ  0x0081
trisa                 equ  0x0085
trisb                 equ  0x0086
trisc                 equ  0x0087
adcon1                equ  0x009f


;------------------------------------------------------------
;                  Declaración de Bits
;------------------------------------------------------------
adon                  equ  0   ;-
c                     equ  0   ;-
psa                   equ  3   ;-
rb1                   equ  1   ;-
rc0                   equ  0   ;-
rp0                   equ  5   ;-
rp1                   equ  6   ;-
to                    equ  4   ;-
z                     equ  2   ;-


;------------------------------------------------------------
;               Declaración de Registros EEPROM
;------------------------------------------------------------


;------------------------------------------------------------
;                        Inicio
;------------------------------------------------------------

   org 0x00
   bsf status,rp0                   ;cambiar a banco 1
   clrf opcion
   goto paso2


;------------------------------------------------------------
;                      programa principal
;------------------------------------------------------------
paso2

   bsf status,rp0                   ;cambiar a banco 1
   bcf status,rp1
   bcf opcion,psa
   bcf status,rp0                   ;cambiar a banco 0
   clrf _np_temp1
   clrf _np_temp2
   clrf _np_tiempo
   clrf _np_tiempo1
   clrf _np_tiempo2
   clrf _np_tiempo3
   clrf _np_temp3
   clrf _np_temp4
   clrf off
   clrf porta
   movlw b'00000000'                ;configurar el puerto a como xxssssss
   bsf status,rp0                   ;cambiar a banco 1
   movwf trisa
   movlw b'00000111'                ;puerto a = e/s digital
   movwf adcon1
   bcf status,rp0                   ;cambiar a banco 0
   clrf portb
   movlw b'00000010'                ;configurar el puerto b como sssssses
   bsf status,rp0                   ;cambiar a banco 1
   movwf trisb
   bcf status,rp0                   ;cambiar a banco 0
   clrf portc
   movlw b'00000000'                ;configurar el puerto c como ssssssss
   bsf status,rp0                   ;cambiar a banco 1
   movwf trisc
inicio
   bcf status,rp0                   ;cambiar a banco 0
   bcf status,rp1
   btfsc portb,rb1                  ;si el rb1 = 01
   goto inicio

   movlw .20
   call tmp_100_mc                  ;llamada a rutina tmp_100_mc

   movf off,w                       ;si off = d'1'
   xorlw d'1'
   btfss status,z
   goto paso15
paso9
   bcf portc,rc0
   clrf off
   btfss portb,rb1                  ;si el rb1 = 10
   goto paso9

   movlw .20
   call tmp_100_mc                  ;llamada a rutina tmp_100_mc
   goto inicio
   goto inicio
paso15
   bsf portc,rc0
   movlw d'1'
   movwf off
   btfss portb,rb1                  ;si el rb1 = 10
   goto paso15

   movlw .20
   call tmp_100_mc                  ;llamada a rutina tmp_100_mc
   goto inicio
   goto inicio


;------------------------------------------------------------
;                  Declaración de Subrutinas
;------------------------------------------------------------

tmp_100_mc
   bcf status,rp0                   ;cambiar a banco 0
   bcf status,rp1
   movwf _np_tiempo
   goto tmp_100_mc_1
tmp_100_mc_bucle2
tmp_100_mc_1
   nop
   nop
   nop
   nop
   nop
   nop
   nop
   movlw .22
   movwf _np_tiempo1
tmp_100_mc_bucle1
   nop
   movlw .112
   movwf _np_tiempo2
tmp_100_mc_bucle
   nop
   decfsz _np_tiempo2,1
   goto tmp_100_mc_bucle
   decfsz _np_tiempo1,1
   goto tmp_100_mc_bucle1
   nop
   decfsz _np_tiempo,1
   goto tmp_100_mc_bucle2
   bcf status,rp0                   ;cambiar a banco 0
   bcf status,rp1
   return


;------------------------------------------------------------
;                  DATOS EN MEMORIA EEPROM
;------------------------------------------------------------
   org  0x2100
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff
   data   0xff

 End