Hola, mi problema es que ultimamente e decidido investigar un poco sobre la conversion analogico/digital, para ello e realizado un programa simple, (aun no se si esta bien, puesto que no tengo mucho control aun en esto de la programacion)
y al simularlo con el proteus, me genera un error de simulacion, el LOG del error es el siguiente:
tambien adjunto el programa, ya que me temo que el problema será del programa, por que e provado con otros programas k tenia hechos, y no me da ningun error.. solo con el que e realizado para provar esto de la conversion A/D
Si alguien pudiese echarme una mano con este tema, se lo agradeceria muchisimo, ya que me estoy empezando a desesperar con ello..
Un saludo!
y al simularlo con el proteus, me genera un error de simulacion, el LOG del error es el siguiente:
Código:
SIMULATION LOG
==============
Design: D:\mis documentos viper\pic\mi software\robot\BOT.DSN
Doc. no.: <NONE>
Revision: <NONE>
Author: <NONE>
Created: 15/05/09
Modified: 20/05/09
Compiling source files...
Processing bot.asm...
up to date.
Build completed OK.
Compiling netlist...
Linking netlist...
Partition analysis...
Simulating partition 1 [6F7DE332]...
Animation started sucessfully...
PROSPICE Release 6.7 SP0 (C) Labcenter Electronics 1993-2005.
SPICE Kernel Version 3f5. (C) Berkeley University ERL.
Reading netlist...
Reading SPICE models...
Loading library 'ANALOGD.SML'
Loading library 'APEX.SML'
Loading library 'BURRBROWN.SML'
Loading library 'ELANTEC.SML'
Loading library 'FAIRCHLD.SML'
Loading library 'INTERSIL.SML'
Loading library 'LINTEC.SML'
Loading library 'NATOA.SML'
Loading library 'SUPERTEX.SML'
Loading library 'TECCOR.SML'
Loading library 'TEX101.SML'
Loading library 'TEX301.SML'
Loading library 'TEX3_1.SML'
Loading library 'TEX401.SML'
Loading library 'TEX5_1.SML'
Loading library 'VALVES.SML'
Loading library 'ZETEX.SML'
Loaded SPICE model 'TLE2425' from library 'TEX5_1'
Translated: EGND 99 0 POLY(2) (3,0) (4,0) 0 .5 .5
to BEGND 99 0 V=0+0.5*V(3,0)+0.5*V(4,0)
Translated: FB 7 99 POLY(5) VB VC VE VLP VLN 0 74.8E6 -10E6 10E6 10E6 -10E6
to BFB 7 99 I=0+7.48e+007*I(VB)+-1e+007*I(VC)+1e+007*I(VE)+1e+007*I(VLP)+-1e+007*I(VLN)
Translated: HREG 31 32 POLY(2) VPSET VNSET 0 1E2 1E2
to BHREG 31 32 V=0+100*I(VPSET)+100*I(VNSET)
Translated: EREG 33 34 POLY(1) (36,34) 1.23 1
to BEREG 33 34 V=1.23+1*V(36,34)
Building circuit...
Instantiating SPICE models...
[U1] PIC16 model release 6.7 SP0 simulating PIC1688 device.
[U1] Loaded 256 bytes of persistent EEPROM data.
[U1] Loading HEX file 'bot.HEX'.
[U1] Read total of 104 bytes from file 'bot.HEX'.
[U1] Loaded 51 program words and 0 data bytes.
PROSPICE - Internal Exception: access violation in module 'PIC16.DLL'.
Real Time Simulation FAILED.
tambien adjunto el programa, ya que me temo que el problema será del programa, por que e provado con otros programas k tenia hechos, y no me da ningun error.. solo con el que e realizado para provar esto de la conversion A/D
Código:
LIST P=16F88
#INCLUDE "P16F88.INC"
__CONFIG _CONFIG1,(3f10) ;palabra de configuracion
REG1 EQU 20
REG2 EQU 21
REG3 EQU 22
REG4 EQU 23
LDRMEM1 EQU 24
LDRMEM2 EQU 25
ORG 0
BSF STATUS,RP0 ;SELECCIONAMOS BANK1
MOVLW b'11100000'
MOVWF ANSEL ;RA0 RA1 RA2 ANALOG LAS DEMAS DIGITAL
MOVLW b'00000000'
MOVWF TRISB ; PUERTO B SALIDA DIGITAL ENTERO
MOVWF b'11100100'
MOVLW TRISA ;SELECION DE ENTRADAS
BCF STATUS,RP0 ;VOLVER A BANK0
CLRF PORTA ;LIMPIAMOS BANCOS
CLRF PORTB ;LIMPIAMOS BANCOS
MOVWF ADCON1
INICIO
CLRF PORTA
CLRF PORTB
GOTO LDR
BTFSC LDRMEM1,1
CALL ENCENDERLED
BTFSC LDRMEM2,1
CALL ENCENDERLUZ
ENCENDERLED
BSF PORTA,6
RETURN
ENCENDERLUZ
BSF PORTA,7
RETURN
;****LDR*** EN PATILLA 0 HABILITADA POR DEFECTO
LDR
MOVLW 1 ;ENCIENDE EL CONVERSOR A/D
MOVWF ADCON0
CALL RETARDO767 ;LLAMA AL RETARDO DE 767 MICROSEGUNDOS
REP1
BSF ADCON0,2 ;INICIA LA CONVERSION
PREGUNTA
BTFSC ADCON0,2 ;PREGUNTA SI TERMINO DE CONVERTIR
GOTO PREGUNTA ;VUELVE A PREGUNTAR SI NO HA TERMINADO
MOVF ADRESL,W ;PASA EL RESULTADO A LA EMMORIA BIT MAS ISGNIFICATIVO)
MOVWF LDRMEM1
BSF STATUS,5
MOVF ADRESL,W
BCF STATUS,5
MOVWF LDRMEM2 ;GUARDA EL BIT MENOS SIGNIFICATIVO
GOTO INICIO ;COMIENZA DE NUEVO LA CONVERSION****
RETARDO767 ;RETARDO 767 MICROSEGUNDOS
MOVLW .255
MOVWF REG4
REP4
DECFSZ REG4,F
GOTO REP4
RETURN
RETD ;RETARDO DE 100 MILISEGUNDOS
MOVLW 2
MOVWF REG1
REP6
MOVLW 84H
MOVWF REG2
REP2
MOVLW 0FFH
MOVWF REG3
REP7
DECFSZ REG3,F
GOTO REP7
DECFSZ REG1,F
GOTO REP6
RETURN
END
Si alguien pudiese echarme una mano con este tema, se lo agradeceria muchisimo, ya que me estoy empezando a desesperar con ello..
Un saludo!