TODOPIC

Simuladores, editores de PCB, etc => Simuladores de circuitos => Proteus ISIS => Mensaje iniciado por: microcom en 10 de Octubre de 2007, 20:44:59

Título: SIMULACION TRANSMICION VS RECEPCION PC PROTEUS
Publicado por: microcom en 10 de Octubre de 2007, 20:44:59
SIMULACION TRANSMICION VS RECEPCION  PC PROTEUS.
para ver si alguien me puede hacer el favor de mostrarme la manera de simular transmicion y recepcion serial con proteus al pc.
.

saludos y gracias
Título: Re: SIMULACION TRANSMICION VS RECEPCION PC PROTEUS
Publicado por: picNIC en 10 de Octubre de 2007, 22:17:50
A que te referis??? a la simulacion de un circuito dentro del isis y "ver los datos", o a un circuito externo de la pc y utilizar el puerto serie de la pc?
para el primer caso es la terminal virtual. (hay ejemplos dentro de samples)
y para el segundo desconosco.. :(
Título: Re: SIMULACION TRANSMICION VS RECEPCION PC PROTEUS
Publicado por: LABmouse en 10 de Octubre de 2007, 22:37:35
Si quieres sacar datos de Isis por el puerto serial del PC, hay una herramienta llamada COMPIM..

SALUDOS!!
Título: Re: SIMULACION TRANSMICION VS RECEPCION PC PROTEUS
Publicado por: micro_cadaver en 11 de Octubre de 2007, 01:04:59
el secreto esta en instalar un programa que te permita crear puertos seriales virtuales COM 5 COM7.. que no sean fisicos. hay programas para hacer eso como el http://www.virtualserialport.com/ es licencia con pago pero hay versio nfree para que lo pruebes y si te gusta lo compras. bueno una vez q lo tienes instalado el COMPIM lo mandas a por decir COM5 (virtual) y el hypertemrinal al COM7 (virtual). y listo !!  :-/
Título: Re: SIMULACION TRANSMICION VS RECEPCION PC PROTEUS
Publicado por: microcom en 11 de Octubre de 2007, 18:40:42
picnic claro  la simulacion es dentro del proteus.

porque al presionar una tecla el proteus me la detecte.
y tambie mandar datos por tx.

saludos 

saludos y gracias
Título: Re: SIMULACION TRANSMICION VS RECEPCION PC PROTEUS
Publicado por: LABmouse en 11 de Octubre de 2007, 19:03:47
Tonses te sirve el COMPIM, ese funciona tal cual lo describes..
Título: Re: SIMULACION TRANSMICION VS RECEPCION PC PROTEUS
Publicado por: microcom en 11 de Octubre de 2007, 20:42:32
donde puedo descargar este programa

saludos y gracias
Título: Re: SIMULACION TRANSMICION VS RECEPCION PC PROTEUS
Publicado por: LABmouse en 11 de Octubre de 2007, 20:58:47
COMPIM no es un programa, es una herramienta de PROTEUS, búscalo como si fuera un componentes mas, como una resistencia , coloca COMPIM en el buscador y te aparece, para usarlo, ya es muy intuitivo. SALUDOS!!
Título: Re: SIMULACION TRANSMICION VS RECEPCION PC PROTEUS
Publicado por: picNIC en 11 de Octubre de 2007, 23:56:58
 :-/ interesante nunca lo habia probado... muy util :-/ :-/ :-/
exitos!!!
Título: Re: SIMULACION TRANSMICION VS RECEPCION PC PROTEUS
Publicado por: LABmouse en 12 de Octubre de 2007, 11:01:55
Claro!!! Eso lo uso muchísimo, imagina, puedes enlazar un PIC real que es montado en un protoboard o un PCB con otro PIC virtual que esta trabajando en la simulación. Puedes colocar módulos RS232 al PC como sensores, Módulos RF, Modulos GSM y enviarles datos con el PIC desde la simulación..

Realmente es espectacular esa herramienta.

SALUDOS!!
Título: Re: SIMULACION TRANSMICION VS RECEPCION PC PROTEUS
Publicado por: microcom en 13 de Octubre de 2007, 12:10:04
que pasara que no esta simulando.

ahora me sale el error en la simulacion adjunto eerror
adjunto circuito para provar
rutinas de esambler
   


ORG   0
   GOTO INICIO
   ORG   04
   GOTO   SERV_INTERRUPCION



transmicion
      BSF   STATUS,5
      BSF TXSTA,TXEN ;pone bit TXEN=1 (habilita transmisión)
      BCF STATUS,RP0 ;regresa al banco 0
      BSF RCSTA,SPEN ;pone bit SPEN=1 (habilita puerto serie)
      MOVF   TRANS,0
      ADDLW   30
      MOVWF   TRANS
      MOVF TRANS,W ;rescata dato a enviar
      MOVWF TXREG
envia    BSF STATUS,RP0 ;banco 1
esp    BTFSS TXSTA,TRMT ;checa si el buffer de transmisión
      GOTO esp ;si está ocupado espera
      BCF STATUS,RP0 ;regresa al banco 0
      CALL   RETARDO ;lo envía
      RETURN


recepcion


SERV_INTERRUPCION
      BTFSS   PIR1,5
      GOTO   SALIR_INTERRUP
      movwf    GUARDA_W ;Guardar W
       swapf    STATUS,W ;Guardar STATUS
      movwf    GUARDA_STATUS
      swapf    FSR,W ;Guardar FSR
      movwf    GUARDA_FSR
      swapf    PCLATH,W ;Guardar PCLATH (Pagina de programa)
      movwf    GUARDA_PCLATH
      swapf    OPTION_REG,W ;Guardar OPTION_REG (Bancos)
      movwf    GUARDA_OPTION_REG
      movf   mA,0
      movwf   GUARDA_mA
      movf   mA_NEG,0
      movwf   GUARDA_mA_NEG
      movf   RESULT_LOW,0
      MOVWF   GUARDA_RESULT_LOW
      movf   RESULT_HIG,0
      MOVWF   GUARDA_RESULT_HIG
      movf    R3272_HIG,0
      MOVWF   GUARDA_R3272_HIG
      movf    R3272_LOW,0
      MOVWF   GUARDA_R3272_LOW       
      movf    MEMORIA,0
      MOVWF   GUARDA_MEMORIA
      MOVF   REF_4mA,0
      MOVWF   GUARDA_REF_4mA

 
      bcf INTCON,PEIE ;Deshabilita INTR perifericos
      movf RCREG,W ;Limpia el flag de interrup RCIF =0
       movwf tecla




SALIR_INTERRUP

    bsf INTCON,PEIE ;Habilita INTR perifericos
   swapf GUARDA_OPTION_REG,W ;Restaurar valor de OPTIO_REG
   movwf OPTION_REG
   swapf GUARDA_PCLATH,W ;Restaurar valor de PCLATH
    movwf PCLATH
   swapf GUARDA_FSR,W ;Restaurar valor de FSR
    movwf FSR
   movf  GUARDA_mA,0
   movwf  mA
   movf   GUARDA_mA_NEG,0
   movwf   mA_NEG
   movf GUARDA_RESULT_LOW,0
   movwf RESULT_LOW
   movf GUARDA_RESULT_HIG,0
   movwf   RESULT_HIG
   movf GUARDA_R3272_HIG,0
   movwf   R3272_HIG
   movf GUARDA_R3272_LOW,0
   movwf   R3272_LOW
   movf GUARDA_MEMORIA,0
   movwf   MEMORIA
   MOVF   REF_4mA,0
   MOVWF   GUARDA_REF_4mA
   swapf    GUARDA_STATUS,0
   MOVWF   STATUS
   swapf   GUARDA_W,1
   swapf   GUARDA_W,0
      
retfie



                 

 INICIO
      BSF   STATUS,5
      BCF   STATUS,6
      MOVLW   B'10101001'
      MOVWF   PORTB
      MOVLW   B'10000000'   ;RC6 SALIDA,RC7 ENTRADA.. SERIAL USART.
      MOVWF   PORTC
      CLRF   PORTD
      MOVLW   B'00000001'
      MOVWF   PORTA
      clrf INTCON ;Deshabilitar interrupciones
      clrf PIE1
      clrf PIE2
      MOVLW   B'00000100'   ;SELECCION TX DE 8 BITS,ALTA VELOCIDAD, MODO
      MOVWF   TXSTA   ;ASINCRONO, ACTIVA TRANSMICION SERIAL
      MOVLW   B'10010000'   ;habilita el puerto serie,Para Rx Continuo
      MOVWF   RCSTA      ;8 Bits de datos
      BSF   PIE1,RCIE
      BCF   STATUS,5
      BCF   PIR1,TXIF
      MOVLW   B'11000000';Habilita INTR perifericos
      MOVWF   INTCON   ;Habilitador general de interrupciones
      BSF   STATUS,5
      MOVLW   .12
      MOVWF   SPBRG
      BCF   STATUS,5
      BCF   STATUS,6
      CLRF   mA
      CLRF   R_4mA
      CLRF   MEMORIA
      CLRF   PORTB
      CLRF   PORTD
      MOVLW   .4
      MOVWF   REF_4mA



saludos y gracias
Título: Re: SIMULACION TRANSMICION VS RECEPCION PC PROTEUS
Publicado por: micro_cadaver en 13 de Octubre de 2007, 13:57:07
que error te sale amigo?
Título: Re: SIMULACION TRANSMICION VS RECEPCION PC PROTEUS
Publicado por: microcom en 13 de Octubre de 2007, 15:15:16
chequea los adjuntos amigo

saludos y gracias
Título: Re: SIMULACION TRANSMICION VS RECEPCION PC PROTEUS
Publicado por: micro_cadaver en 13 de Octubre de 2007, 15:58:52
seria más practico que nos digas de una vez el problema o el mensaje que te aparece en el ISIS para generar el diagnostico.
Título: Re: SIMULACION TRANSMICION VS RECEPCION PC PROTEUS
Publicado por: microcom en 13 de Octubre de 2007, 16:08:48
este es para el proteus en general

SIMULATION LOG
==============
Design:   C:\CONVERSOR I A V SABADO 13 SEP 2007.DSN
Doc. no.: <NONE>
Revision: <NONE>
Author:   <NONE>
Created:  01/08/07
Modified: 13/10/07

Compiling source files...
Automatic build rules are disabled.
Compiling netlist...
Linking netlist...
Partition analysis...

Simulating partition 1 [2E79BC79]...
PROSPICE Release 6.9 SP4 (C) Labcenter Electronics 1993-2006.
SPICE Kernel Version 3f5. (C) Berkeley University ERL.

Reading netlist...
Reading SPICE models...
Building circuit...
Instantiating SPICE models...
[U1] PIC16 model release 6.9 SP0 simulating PIC16877 device.
[U1] Loaded 256 bytes of persistent EEPROM data.
[U1] Loading HEX file '..\SAB13.HEX'.
[U1] Read total of 502 bytes from file '..\SAB13.HEX'.
[U1] Loaded 251 program words and 0 data bytes.
PROSPICE -  Internal Exception: access violation in module '<UNKNOWN>'.
Totaliters=0, Totalsteps=2, Goodsteps=1, Badsteps=0


Real Time Simulation FAILED.


Título: Re: SIMULACION TRANSMICION VS RECEPCION PC PROTEUS
Publicado por: microcom en 17 de Octubre de 2007, 21:16:27
   

este programa comunicacion recepcion no me esta simulando
saludos y gracias
no se activan los ledes ni tampoco transmite

    
      
Código: ASM
  1. list p=16f877A ;Comando que indica el Pic usado
  2.                
  3.                     include "p16f877A.inc" ;Etiquetas genéricas para el Pic16F877
  4.                
  5. GUARDA_W                EQU 0x20 ;Var para guardar W
  6. GUARDA_STATUS   EQU 0x21 ;Var para guardar STATUS
  7. GUARDA_FSR              EQU 0x22 ;Var para guardar FSR
  8. GUARDA_PCLATH   EQU 0X23 ;VAR PARA GUARDAR PCLATH
  9. GUARDA_OPTION_REG EQU 0X24 ;VAR PARA GUARDAR OPTION_REG
  10. tecla                   EQU 0X25
  11. indice                  EQU 0X26
  12. PDel0                   EQU     27
  13. PDel1                   EQU     28
  14. PDel2                   EQU     29
  15.                    
  16.  
  17.  
  18.  
  19. org 0x00 ;Inicio del programa
  20.  
  21.     nop ;Libre (uso del debugger)
  22.  
  23.     goto inicio ;Ir _inicio
  24.     org 0x04
  25.     goto        tt
  26.    
  27.    
  28.     RETARDO
  29. ; Code generated by PDEL  ver 1.0  on 05/08/2007 at 11:57:49 p.m.
  30. ; Description: Waits 1000000 cycles
  31. ;-------------------------------------------------------------
  32. PDelay  movlw     .14       ; 1 set number of repetitions (C)
  33.         movwf     PDel0     ; 1 |
  34. PLoop0  movlw     .72       ; 1 set number of repetitions (B)
  35.         movwf     PDel1     ; 1 |
  36. PLoop1  movlw     .247      ; 1 set number of repetitions (A)
  37.         movwf     PDel2     ; 1 |
  38. PLoop2  clrwdt              ; 1 clear watchdog
  39.         decfsz    PDel2, 1  ; 1 + (1) is the time over? (A)
  40.         goto      PLoop2    ; 2 no, loop
  41.         decfsz    PDel1,  1 ; 1 + (1) is the time over? (B)
  42.         goto      PLoop1    ; 2 no, loop
  43.         decfsz    PDel0,  1 ; 1 + (1) is the time over? (C)
  44.         goto      PLoop0    ; 2 no, loop
  45. PDelL1  goto PDelL2         ; 2 cycles delay
  46. PDelL2  clrwdt              ; 1 cycle delay
  47.         return              ; 2+2 Done
  48.    
  49. tt ;Vector de interrupcion
  50.                 BTFSS   PIR1,5
  51.                 GOTO    _retorno
  52.         movwf GUARDA_W ;Guardar W
  53.                 swapf STATUS,W ;Guardar STATUS
  54.                 movwf GUARDA_STATUS
  55.                 swapf FSR,W ;Guardar FSR
  56.                 movwf GUARDA_FSR
  57.                 swapf PCLATH,W ;Guardar PCLATH (Pagina de programa)
  58.                 movwf GUARDA_PCLATH
  59.                 swapf OPTION_REG,W ;Guardar OPTION_REG (Bancos)
  60.                 movwf GUARDA_OPTION_REG
  61.                 goto  interrupción ;Ir rutina de interrupcion
  62.                    
  63.  
  64.  
  65. inicio
  66.  
  67.             BSF STATUS,RP0 ;IR BANCO 1
  68.                 BCF STATUS,RP1    
  69.                 CLRF TRISA ;PORTA SALIDA
  70.                 CLRF TRISB ;PORTB SALIDA
  71.                 CLRF TRISC ;PORTC SALIDA
  72.                 CLRF TRISD ;PORTD SALIDA
  73.                 CLRF TRISE ;PORTE SALIDA
  74.        
  75.             bcf TRISC,6 ;RC6/TX salida, pin de transmisión
  76.                 bsf TRISC,7 ;RC7/Rx entrada, pin de recepción
  77.                 movlw d'25' ;2400 baud rate Xtal=4Mhz
  78.                 movwf SPBRG
  79.                 bcf TXSTA,BRGH ;Selección de baja velocidad
  80.                 bcf TXSTA,SYNC ;Modo asíncrono
  81.                 clrf INTCON ;Deshabilitar interrupciones
  82.                 clrf PIE1
  83.                 clrf PIE2
  84.                 bsf PIE1,RCIE ;Habilita INTR Recepcion Serial
  85.                 bsf INTCON,PEIE ;Habilita INTR perifericos
  86.                 bsf INTCON,GIE ;Habilitador general ;de interrupciones
  87.                 bcf STATUS,RP0 ;Ir banco 0
  88.                 bcf STATUS,RP1
  89.                 bsf RCSTA,SPEN ;habilita el puerto serie
  90.                 bsf STATUS,RP0 ;Ir banco 1
  91.                 bcf STATUS,RP1
  92.                 bcf TXSTA,TX9 ;8 bits de datos a transmitir
  93.                 bsf TXSTA,TXEN ;Activa la transmisión serial TXIF=1
  94.                 bcf STATUS,RP0 ;Ir banco 0
  95.                 bcf STATUS,RP1
  96.                 bcf RCSTA,RX9 ;8 Bits de datos
  97.                 bsf RCSTA,CREN ;Para Rx Continuo
  98.                 clrf PORTC ;PORTC=0
  99.  
  100.  
  101. bucle goto bucle ;Ir bucle
  102.  
  103.  
  104.  
  105. interrupción ;Rutina de interrupcion
  106.  
  107.             bcf INTCON,PEIE ;Deshabilita INTR perifericos
  108.                 movf RCREG,W ;Limpia el flag de interrup RCIF =0
  109.             movwf tecla
  110.             clrf indice
  111.            
  112. busca_tecla
  113.  
  114.             movfw indice
  115.             call _teclas
  116.             subwf tecla,W
  117.             btfsc STATUS,Z
  118.             goto _sigue
  119.             incf indice,F
  120.             movlw D'6'
  121.             subwf indice,W
  122.             btfsc STATUS,Z
  123.             goto _retorno
  124.             goto busca_tecla
  125.  
  126. _sigue
  127.                 movf indice,W
  128.                 call salidas
  129.             movfw tecla
  130.             movwf TXREG ;Transmitir dato, TXREG = W
  131.  
  132. _esperatx
  133.         btfss PIR1,TXIF ;Espera hasta que transmisión culminó
  134.         goto _esperatx ;No, ir _esperatx
  135.  
  136. _retorno
  137.                 bsf INTCON,PEIE ;Habilita INTR perifericos
  138.                 swapf GUARDA_OPTION_REG,W ;Restaurar valor de OPTIO_REG
  139.                 movwf OPTION_REG
  140.                 swapf GUARDA_PCLATH,W ;Restaurar valor de PCLATH
  141.             movwf PCLATH
  142.             swapf GUARDA_FSR,W ;Restaurar valor de FSR
  143.                 movwf FSR
  144.             swapf GUARDA_STATUS,W ;Restaurar valor de STATUS
  145.             movwf STATUS
  146.             swapf GUARDA_W,1
  147.             swapf GUARDA_W,0
  148.        
  149.             retfie
  150.  
  151.  
  152.  
  153. _teclas
  154.  
  155.         addwf PCL,F ;pcl + W >>>> W;El PCL se incrementa con el valor
  156.                 retlw 'A'       ;de W proporcionando;un salto
  157.             retlw 'B'   ;retorna con valores para PORTC,       
  158.                 retlw 'C'
  159.                 retlw 'a'
  160.                 retlw 'b'
  161.                 retlw 'c'
  162.  
  163.  
  164.  
  165. salidas
  166.                 addwf PCL,F ;pcl + W >>>> W
  167.                 goto on_RC0   ;El PCL se incrementa con el valor
  168.                 goto on_RC1     ;de W proporcionando;un salto
  169.             goto on_RC2
  170.             goto off_RC0
  171.             goto off_RC1
  172.             goto off_RC2
  173.                        
  174.    
  175.                 on_RC0 bsf PORTC,0
  176.             return
  177.                 on_RC1 bsf PORTC,1
  178.             return
  179.                 on_RC2 bsf PORTC,2
  180.             return
  181.                 off_RC0 bcf PORTC,0
  182.             return
  183.                 off_RC1 bcf PORTC,1
  184.             return
  185.                 off_RC2 bcf PORTC,2
  186.                 return
  187.  
  188. END


saludos y gracias
Título: Re: SIMULACION TRANSMICION VS RECEPCION PC PROTEUS
Publicado por: microcom en 19 de Octubre de 2007, 21:36:30
no he podido hacer posible la recepcion de datos por el puerto serie compim
no se que mas verificar
si alguien puede hacer posible simular el anterior programa

saludos y gracias
Título: Re: SIMULACION TRANSMICION VS RECEPCION PC PROTEUS
Publicado por: LABmouse en 20 de Octubre de 2007, 11:01:02
Puedes pasar el .asm del codigo?? para poder simular.
Título: Re: SIMULACION TRANSMICION VS RECEPCION PC PROTEUS
Publicado por: microcom en 20 de Octubre de 2007, 11:16:44
aqui esta picmause  todo bien

saludos y gracias
Título: Re: SIMULACION TRANSMICION VS RECEPCION PC PROTEUS
Publicado por: LABmouse en 20 de Octubre de 2007, 12:57:12
Pues no es culpa de la simulación, es problemas de Programación, revisale tal vez tengas algo mal en eso.  Te sacare un programa de prueba para que veas que si funciona la simulación

SALUDOS!
Título: Re: SIMULACION TRANSMICION VS RECEPCION PC PROTEUS
Publicado por: microcom en 20 de Octubre de 2007, 13:36:46
caballero muchas gracias por responder
tal vez es por las configuraciones del compim, o el virtual terminal, ya he probado otros programas mas sencillos y nada
tambien me podrias decir estos parametros del compim, terminal virtual, baudaje, etcy  conecciones en proteus
para una buena simulacion.....

saludos y gracais
Título: Re: SIMULACION TRANSMICION VS RECEPCION PC PROTEUS
Publicado por: microcom en 22 de Octubre de 2007, 20:29:34
esa simulacion mas grave que picao de culebra

saludos
Título: Re: SIMULACION TRANSMICION VS RECEPCION PC PROTEUS
Publicado por: LABmouse en 22 de Octubre de 2007, 21:53:59
Si quieres ver como funciona el COMPIM, mira en los ejemplos que trae proteus..

Hay uno que dice EXAMPLE COMPIM, el el puedes conocer como se configuran ambos.

SALUDOS!
Título: Re: SIMULACION TRANSMICION VS RECEPCION PC PROTEUS
Publicado por: microcom en 22 de Octubre de 2007, 22:09:46
Si quieres ver como funciona el COMPIM, mira en los ejemplos que trae proteus..

Hay uno que dice EXAMPLE COMPIM, el el puedes conocer como se configuran ambos.

SALUDOS!


no se que le podra pasar al codigo mio ya que veo el ejemplo que dices y nada

saludos