Autor Tema: SIMULACION TRANSMICION VS RECEPCION PC PROTEUS  (Leído 14148 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado microcom

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 568
Re: SIMULACION TRANSMICION VS RECEPCION PC PROTEUS
« Respuesta #15 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

Desconectado microcom

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 568
Re: SIMULACION TRANSMICION VS RECEPCION PC PROTEUS
« Respuesta #16 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
« Última modificación: 19 de Octubre de 2007, 21:38:39 por microcom »

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: SIMULACION TRANSMICION VS RECEPCION PC PROTEUS
« Respuesta #17 en: 20 de Octubre de 2007, 11:01:02 »
Puedes pasar el .asm del codigo?? para poder simular.

Desconectado microcom

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 568
Re: SIMULACION TRANSMICION VS RECEPCION PC PROTEUS
« Respuesta #18 en: 20 de Octubre de 2007, 11:16:44 »
aqui esta picmause  todo bien

saludos y gracias

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: SIMULACION TRANSMICION VS RECEPCION PC PROTEUS
« Respuesta #19 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!

Desconectado microcom

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 568
Re: SIMULACION TRANSMICION VS RECEPCION PC PROTEUS
« Respuesta #20 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

Desconectado microcom

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 568
Re: SIMULACION TRANSMICION VS RECEPCION PC PROTEUS
« Respuesta #21 en: 22 de Octubre de 2007, 20:29:34 »
esa simulacion mas grave que picao de culebra

saludos

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: SIMULACION TRANSMICION VS RECEPCION PC PROTEUS
« Respuesta #22 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!

Desconectado microcom

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 568
Re: SIMULACION TRANSMICION VS RECEPCION PC PROTEUS
« Respuesta #23 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