Autor Tema: 2 in analogas de pic16f873a  (Leído 3466 veces)

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

Desconectado microcom

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 568
2 in analogas de pic16f873a
« en: 07 de Julio de 2007, 18:14:00 »
caballeros lo que pasa es que no me estan variendo los valores en los display de los conversores ra0 y ra1
sin visualizar los valores del canal1 el programa funciona bien
pero al adicionar la visualizacion del canal1 nada funciona.

la visualizacion se hace solo del canal0 funciona bien, al agragar la visualizacion del canal1 en el canal0 solo se me visualiza el 27 y no hay cambio de valores moviendo el potenciometro.
en el canal1 sale el 80.

saludos y gracias

Desconectado microcom

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 568
Re: 2 in analogas de pic16f873a
« Respuesta #1 en: 07 de Julio de 2007, 19:16:04 »
este es el nuevo programa y el adjunto


;
Código: ASM
  1. PROGRAMA QUE TIENE DOS ENTRADAS ANALOGAS EN  LAS CUELES SE PUEDEN CONECTAR DOS SENSORES DE TEMPERATURA LM35
  2. ;O UNA REFERENCIA DE NIVEL DE TEMPERATURA Y POTECIOMETRO.
  3. ;RAO ESTA UN LM35 Y EN RA1 ESTA UN POTENCIOMETRO QUE ES EL QUE AJUSTA EL NIVEL DE TEMPERATURA MAXIMO.
  4.  
  5.  
  6. LIST    P=16F873A
  7.         #INCLUDE<P16F873A.INC>
  8.         ;DECLARACION DE VARIABLES
  9.         ;CONVERSOR ANALOGO DIGITAL DE TRES DIGITOS
  10.         ;CONVERSOR DE TEMPERATURA
  11. TIMER0          EQU     01
  12. PCL             EQU     02
  13. STATUS          EQU     03
  14. PORTA           EQU     05
  15. PORTB           EQU     06
  16. ADCON0          EQU     1F
  17. ADCON1          EQU     9F
  18. ADRESL          EQU     9E
  19. ADRESH          EQU     1E
  20. INTCON          EQU     0B
  21.  
  22. UNI_GRADOS      EQU     20 ;
  23. DEC_GRADOS      EQU     21
  24. CEN_GRADOS      EQU     22
  25. CONVERSION1     EQU     23      ;REGISTRO PARA ALMACENAR EL RESULTADO DE LA CONVERSION DEL CANAL0
  26. REG1            EQU     24
  27. REG2            EQU     25
  28. REG3            EQU     26
  29. PDel0           EQU     27
  30. PDel1           EQU     28
  31. BEN                     EQU     29      ;REGISTRO PARA CHEQUAREL EL CANAL DEL CUAL LLEVA EL RESULTADO DE LA CONVERSION.
  32. POTENCIOMETRO EQU       2A      ;REGISTRO PARA ALMACENAR EL RESULTADO DE LA CONVERSION DEL CANAL1
  33. CONVERSION2     EQU     2B  ;REGISTRO PARA ALMACENAR EL RESULTADO DE LA CONVERSION DEL CANAL0,NO MODIFICADO
  34. CENREF_GRADOS   EQU 2C
  35. DECREF_GRADOS   EQU 2D
  36. UNIREF_GRADOS   EQU 2E;
  37. CONVERSION3             EQU     2F      ;REGISTRO PARA ALMACENAR EL RESULTADO DE LA CONVERSION DEL CANAL1,NO MODIFICADO
  38.         ;BITS CONVERSOR
  39. ADIF    EQU     6      
  40. GODONE  EQU     2
  41. ADON    EQU     0
  42. ADFM    EQU     7
  43. C       EQU     0
  44.        
  45.  
  46.  
  47.         ORG     00
  48.         GOTO    INICIO
  49. ORG     05
  50.  
  51. TEMPO   ;return
  52.                 ; Code generated by PDEL  ver 1.0  on 06/07/2007 at 01:44:07 p.m.
  53. ; Description: Waits 2000 cycles
  54. ;-------------------------------------------------------------
  55. PDelayA  movlw     .249      ; 1 set number of repetitions
  56.         movwf     PDel0     ; 1 |
  57. PLoopB  clrwdt              ; 1 clear watchdog
  58. PDelL1  goto PDelL2         ; 2 cycles delay
  59. PDelL2  goto PDelL3         ; 2 cycles delay
  60. PDelL3  
  61.         decfsz    PDel0, 1  ; 1 + (1) is the time over?
  62.         goto      PLoopB    ; 2 no, loop
  63. PDelL4  goto PDelL5         ; 2 cycles delay
  64. PDelL5  clrwdt              ; 1 cycle delay
  65.         return              ; 2+2 Done
  66.         return              ; 2+2 Done
  67.  
  68. TABLA   ADDWF   PCL,1
  69.         RETLW   B'11000000'
  70.         RETLW   B'11111001'
  71.         RETLW   B'10100100'
  72.         RETLW   B'10110000'
  73.         RETLW   B'10011001'
  74.         RETLW   B'10010010'
  75.         RETLW   B'10000010'
  76.         RETLW   B'11111000'
  77.         RETLW   B'10000000'
  78.         RETLW   B'10011000'
  79.         RETLW   B'10111111'
  80.         RETLW   B'11111111'
  81.  
  82. RETARDO  ;return
  83. ; Code generated by PDEL  ver 1.0  on 06/07/2007 at 07:46:41 p.m.
  84. ; Description: Waits 500 cycles
  85. ;-------------------------------------------------------------
  86. PDelay  movlw     .123      ; 1 set number of repetitions
  87.         movwf     PDel0     ; 1 |
  88. PLoop0H  clrwdt              ; 1 clear watchdog
  89.         decfsz    PDel0, 1  ; 1 + (1) is the time over?
  90.         goto      PLoop0H    ; 2 no, loop
  91. PDelL1H  goto PDelL2H         ; 2 cycles delay
  92. PDelL2H  clrwdt              ; 1 cycle delay
  93.         return              ; 2+2 Done
  94.  
  95.  
  96.  
  97.  
  98.  
  99. INICIO
  100.         BSF     STATUS,5
  101.         BCF     STATUS,6
  102.         CLRF    PORTB
  103.         MOVLW   05
  104.         MOVWF   ADCON1
  105.         MOVLW   B'000011'
  106.         MOVWF   PORTA
  107.         CLRF    PORTC
  108.         BCF     STATUS,5
  109.         CLRF    PORTA
  110.         CLRF    PORTB
  111.         CLRF    PORTC
  112. COROSO
  113.  
  114. CLRF    UNI_GRADOS
  115. CLRF    DEC_GRADOS
  116. CLRF    CEN_GRADOS
  117. CLRF    CONVERSION1
  118. CLRF    CONVERSION2
  119. CLRF    POTENCIOMETRO
  120. CLRF    UNIREF_GRADOS
  121. CLRF    DECREF_GRADOS
  122. CLRF    CENREF_GRADOS
  123. CLRF    CONVERSION3
  124.         BCF     STATUS,5
  125.         BSF     STATUS,5
  126.         MOVLW   B'10000101'     ;RA0,RA1 ANALOGOS JUSTIFICACION LOS OCHO PRIMEROS BITS
  127. ;DE ADRESL Y DOS BITS DE ADRESH;RA2;RA3,RA4,RA5 DIGITALES
  128.         MOVWF   ADCON1
  129.         BCF     STATUS,5
  130. EEE     MOVLW   B'01000001'     ;CANAL0
  131.         MOVWF   ADCON0
  132.         CLRF    BEN ; SEÑAL PARA CANAL0
  133.         BCF     STATUS,5
  134.         CALL    EMP
  135. CALL    VISUAL
  136.         MOVLW   B'01001001'     ;CANAL1
  137.         MOVWF   ADCON0
  138.         BSF             BEN,0;SEÑAL PARA CANAL1
  139.         CALL    EMP
  140.         CALL    DECOD
  141.         CALL    VISUAL
  142.         GOTO    COROSO  ;VOLVER A INICIAR LOS CHEQUEOS DE LOS RESPECTIVOS CANALES.RA0,RA1
  143. EMP     BCF     PIR1,ADIF
  144.         BSF     ADCON0,GODONE
  145.         CALL    TEMPO
  146.         NOP
  147. EL      BTFSS   PIR1,ADIF
  148.         GOTO    EL
  149.         BCF     PIR1,ADIF
  150.         BSF     STATUS,5
  151.         BCF     STATUS,6
  152.         MOVF    ADRESL,0        ;LOW PARTE
  153.         BCF     STATUS,5
  154.         BTFSS   BEN,0     ;DE QUE CANAL VENGO?
  155.         GOTO    FET             ; BEN,0 :0 CANAL0
  156.         MOVWF   POTENCIOMETRO ;BEN,0 :1 CANAL1
  157.         BCF     STATUS,0
  158.         RRF             POTENCIOMETRO,0
  159.         MOVWF   POTENCIOMETRO
  160.         MOVWF   CONVERSION3
  161.         RETURN  ;ACONDICIONAMINTO DEL VALOR REAL DE ENTRADA RA1
  162.  
  163.  
  164. FET     BCF     STATUS,0
  165.         MOVWF   CONVERSION1
  166.         MOVWF   CONVERSION2
  167.         RRF             CONVERSION1,1 ;ACONDICIONAMINTO DEL VALOR REAL DE ENTRADA RA0
  168.         BCF     STATUS,0                ;DECODIFICACION DEL RESULTADO DEL ADRESL
  169.         RRF             CONVERSION2,1
  170.         MOVLW   .100
  171. LL      SUBWF   CONVERSION1,1
  172.         BTFSS   STATUS,0
  173.         GOTO    KK
  174.         INCF    CEN_GRADOS,1
  175.         GOTO    LL       
  176. KK      ADDWF   CONVERSION1
  177.         MOVLW   .10
  178. MM      SUBWF   CONVERSION1,1
  179.         BTFSS   STATUS,0
  180.         GOTO    NN
  181.         INCF    DEC_GRADOS,1
  182.         GOTO    MM
  183. NN      ADDWF   CONVERSION1,0  
  184.         MOVWF   UNI_GRADOS
  185.         RETURN
  186. DECOD
  187.         MOVLW   .100
  188. PP      SUBWF   POTENCIOMETRO,1
  189.         BTFSS   STATUS,0
  190.         GOTO    OO
  191.         INCF    CENREF_GRADOS,1
  192.         GOTO    PP       
  193. OO      ADDWF   POTENCIOMETRO,1
  194.         MOVLW   .10
  195. SS      SUBWF   POTENCIOMETRO,1
  196.         BTFSS   STATUS,0
  197.         GOTO    RR
  198.         INCF    DECREF_GRADOS,1
  199.         GOTO    SS
  200. RR      ADDWF   POTENCIOMETRO,0
  201.         MOVWF   UNIREF_GRADOS
  202.  
  203.         MOVF    CONVERSION3,0
  204.         SUBWF   CONVERSION2,1   ;RESTA DEL CANAL0-CANAL1 ;CONVERCION2 - POTENCIOMETRO
  205.         BTFSC   STATUS,0
  206.         GOTO    PRENDA
  207.         BCF             PORTA,5
  208.         RETURN  ;APAGO VENTILADOR
  209. PRENDA 
  210.         BSF     PORTA,5 ;PRENDO VENTILADOR
  211.         RETURN
  212. VISUAL
  213.         MOVF    UNI_GRADOS,0
  214.         CALL    TABLA
  215.         BCF             PORTA,3
  216.         MOVWF   PORTB
  217.         BSF     PORTA,2
  218.         CALL    RETARDO
  219.        
  220.  
  221.         MOVF    DEC_GRADOS,0
  222.         CALL    TABLA
  223.         BCF             PORTA,2
  224.         MOVWF   PORTB
  225.         BSF     PORTC,0
  226.         CALL    RETARDO
  227.  
  228.         MOVF    UNIREF_GRADOS,0
  229.         CALL    TABLA
  230.         BCF     PORTA,3
  231.         CLRF    PORTC
  232.         MOVWF   PORTB
  233.         BSF      PORTC,0
  234.         CALL    RETARDO
  235.        
  236.  
  237.         MOVF    DECREF_GRADOS,0
  238.         CALL    TABLA
  239.         CLRF    PORTC
  240.         MOVWF   PORTB
  241.         BSF      PORTC,1
  242.         CALL    RETARDO
  243.         RETURN 
  244.  
  245.         END

Desconectado microcom

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 568
Re: 2 in analogas de pic16f873a
« Respuesta #2 en: 13 de Julio de 2007, 17:15:55 »
nada no he podido solucionar el problema.
al poner el codigo para visualizar el valor del canal1 el proteus como si se reseteara o sera problema del asm ; solo me muestra el 27 en los displays del cana0.

saludos cualquier opinion sera ayuda.

saludos

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: 2 in analogas de pic16f873a
« Respuesta #3 en: 14 de Julio de 2007, 00:29:26 »
puedes colgar el proteus y el archivo ASM todo dentro de un zip.
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado microcom

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 568
Re: 2 in analogas de pic16f873a
« Respuesta #4 en: 16 de Julio de 2007, 18:01:52 »
el asm esta a la vista y el proteus tambien, en el segundo mensaje todo esta adjuntado
saludos y gracias