;------------------------------------------------------------
; Código assembler generado por Niple V5.6.0
; Proyecto: fffff
; Autor: IRAN ESPINOZA
; Fecha: 20/05/2014
; PIC: 18F2550
; Velocidad de reloj: 20 Mhz
; Descripcion:
;------------------------------------------------------------
LIST P=PIC18F2550
_PLLDIV_1 equ 0xF8
_CPUDIV_OSC1_PLL2 equ 0xE7
_USBDIV_1 equ 0xDF
_FOSC_HS equ 0xFC
_FCMEN_OFF equ 0xBF
_IESO_OFF equ 0x7F
_PWRT_ON equ 0xFE
_BOR_OFF equ 0xF9
_BORV_0 equ 0xE7
_VREGEN_ON equ 0xFF
_WDT_OFF equ 0xFE
_WDTPS_1 equ 0xE1
_MCLRE_OFF equ 0x7F
_LPT1OSC_OFF equ 0xFB
_PBADEN_OFF equ 0xFD
_CCP2MX_OFF equ 0xFE
_LPT1OSC_OFF equ 0xFB
_STVREN_OFF equ 0xFE
_LVP_OFF equ 0xFB
_ICPRT_OFF equ 0xDF
_XINST_OFF equ 0xBF
_DEBUG_OFF equ 0xFF
_CP0_OFF equ 0xFF
_CP1_OFF equ 0xFF
_CP2_OFF equ 0xFF
_CP3_OFF equ 0xFF
_CPB_OFF equ 0xFF
_CPD_OFF equ 0xFF
_WRT0_OFF equ 0xFF
_WRT1_OFF equ 0xFF
_WRT2_OFF equ 0xFF
_WRT3_OFF equ 0xFF
_WRTB_OFF equ 0xFF
_WRTC_OFF equ 0xFF
_WRTD_OFF equ 0xFF
_EBTR0_OFF equ 0xFF
_EBTR1_OFF equ 0xFF
_EBTR2_OFF equ 0xFF
_EBTR3_OFF equ 0xFF
_EBTRB_OFF equ 0xFF
_config1l equ 0x300000
_config1h equ 0x300001
_config2l equ 0x300002
_config2h equ 0x300003
_config3h equ 0x300005
_config4l equ 0x300006
_config5l equ 0x300008
_config5h equ 0x300009
_config6l equ 0x30000a
_config6h equ 0x30000b
_config7l equ 0x30000c
_config7h equ 0x30000d
__config _config1l, _PLLDIV_1 & _CPUDIV_OSC1_PLL2 & _USBDIV_1
__config _config1h, _FOSC_HS & _FCMEN_OFF & _IESO_OFF
__config _config2l, _PWRT_ON & _BOR_OFF & _BORV_0 & _VREGEN_ON
__config _config2h, _WDT_OFF & _WDTPS_1
__config _config3h, _MCLRE_OFF & _LPT1OSC_OFF & _PBADEN_OFF & _CCP2MX_OFF
__config _config4l, _STVREN_OFF & _LVP_OFF & _ICPRT_OFF & _XINST_OFF & _DEBUG_OFF
__config _config5l, _CP0_OFF & _CP1_OFF & _CP2_OFF & _CP3_OFF
__config _config5h, _CPB_OFF & _CPD_OFF
__config _config6l, _WRT0_OFF & _WRT1_OFF & _WRT2_OFF & _WRT3_OFF
__config _config6h, _WRTB_OFF & _WRTC_OFF & _WRTD_OFF
__config _config7l, _EBTR0_OFF & _EBTR1_OFF & _EBTR2_OFF & _EBTR3_OFF
__config _config7h, _EBTRB_OFF
;------------------------------------------------------------
; Declaración de Registros
;------------------------------------------------------------
w equ 0x0000
_np_tiempo equ 0x000f
_np_tiempo1 equ 0x0010
_np_tiempo2 equ 0x0011
_np_tiempo3 equ 0x0012
porta equ 0x0f80
portb equ 0x0f81
portc equ 0x0f82
lata equ 0x0f89
late equ 0x0f8d
trisa equ 0x0f92
trisb equ 0x0f93
trisc equ 0x0f94
cmcon equ 0x0fb4
cvrcon equ 0x0fb5
adcon2 equ 0x0fc0
adcon1 equ 0x0fc1
adcon0 equ 0x0fc2
status equ 0x0fd8
bsr equ 0x0fe0
pclath equ 0x0ffa
;------------------------------------------------------------
; Declaración de Bits
;------------------------------------------------------------
adon equ 0 ;
c equ 0 ;
c1out equ 6 ;
rb7 equ 7 ;
vcfg0 equ 4 ;
vcfg1 equ 5 ;
z equ 2 ;
;------------------------------------------------------------
; Declaración de Registros EEPROM
;------------------------------------------------------------
;------------------------------------------------------------
; Inicio
;------------------------------------------------------------
org 0x00
goto paso2
;------------------------------------------------------------
; programa principal
;------------------------------------------------------------
paso2
movlb .0 ;cambiar al banco 0
clrf _np_tiempo,1
clrf _np_tiempo1,1
clrf _np_tiempo2,1
clrf _np_tiempo3,1
movlw .50 ;temporizador 100 mse
call tmp_100_mc ;llamada a rutina tmp_100_mc
clrf porta,0
movlw b'00110011' ;configurar el puerto a como xxeessea
movwf trisa,0
movlw b'00001110' ;configuracion de pines a/d
movwf adcon1,0
bsf adcon0,adon,0 ;activar activar el módulo de conv a/d
clrf portb,0
movlw b'01111111' ;configurar el puerto b como seeeeeee
movwf trisb,0
movlw b'00110110' ;configurar el puerto c como sseexees
movwf trisc,0
movlw b'00000110'
movwf cmcon,0
movlw b'10100111'
movwf cvrcon,0
brinca_aqui
btfss cvrcon,c1out,0
goto paso12
bcf portb,rb7,0
movlw .50 ;temporizador 100 use
call tmp_10_uc ;llamada a rutina tmp_10_uc
goto brinca_aqui
goto brinca_aqui
paso12
bsf portb,rb7,0
movlw .50 ;temporizador 100 use
call tmp_10_uc ;llamada a rutina tmp_10_uc
goto brinca_aqui
goto brinca_aqui
;------------------------------------------------------------
; Declaración de Subrutinas
;------------------------------------------------------------
tmp_100_mc
movwf _np_tiempo,1
goto tmp_100_mc_1
tmp_100_mc_bucle2
nop
nop
nop
nop
nop
nop
nop
tmp_100_mc_1
movlw .22
movwf _np_tiempo1,1
tmp_100_mc_bucle1
movlw .150
movwf _np_tiempo2,1
tmp_100_mc_bucle
decfsz _np_tiempo2,1,1
goto tmp_100_mc_bucle
decfsz _np_tiempo1,1,1
goto tmp_100_mc_bucle1
nop
decfsz _np_tiempo,1,1
goto tmp_100_mc_bucle2
return
tmp_10_uc
movwf _np_tiempo,1
goto tmp_10_uc_10
tmp_10_uc_bucle
nop
nop
nop
nop
nop
nop
nop
tmp_10_uc_10
decfsz _np_tiempo,1,1
goto tmp_10_uc_bucle
return