Autor Tema: Asesoria sobre ADC  (Leído 5498 veces)

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

Desconectado microcom

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 568
RE: Asesoria sobre ADC
« Respuesta #15 en: 30 de Marzo de 2006, 14:39:00 »


 
  conversion analogo digital con lm35
  espero que te sirva y


LIST    P=16F873A
   #INCLUDE<P16F873A.INC>
   ;DECLARACION DE VARIABLES
   ;CONVERSOR ANALOGO DIGITAL DE CUATRO DIGITOS
 
;FARENTHEIT
TIMER0      EQU   01
PCL        EQU     02
STATUS      EQU   03
PORTA      EQU   05
PORTB      EQU   06
ADCON0     EQU     1F
ADCON1      EQU   9F
ADRESL      EQU   9E
ADRESH      EQU   1E
INTCON      EQU   0B
AVE_LOW      EQU   20
AVE_HIG      EQU   21
JAI_LOW      EQU   22
JAI_HIG      EQU   23
COS_LOW      EQU   24
COS_HIG      EQU   25
SUC_LOW      EQU   26
SUC_HIG      EQU   27
REG1      EQU   28
REG2      EQU   29
REG3      EQU   2A
COVEÑAS      EQU   2B
VALLEN      EQU   2C
UNO      EQU   2D
DOS      EQU   2E
CERO      EQU   2F
UNI_GRADOS   EQU   30
DEC_GRADOS   EQU   31
CENT_GRADOS   EQU   32
COCIENTE   EQU   39
COLOMB      EQU   3A
RESULTADO   EQU   3B
RFARE_L      EQU   3C
RFARE_H      EQU   3D
RESULT_L   EQU   3E
RESULT_H   EQU   3F
CENTENAS   EQU   40
DECENAS      EQU   41
UNIDAD      EQU   42
CONTA      EQU   43
MENS      EQU   44
   ;BITS CONVERSOR
ADIF   EQU   6   
GODONE   EQU   2
ADON   EQU   0
ADFM   EQU   7
C   EQU   0
   ;BITS   LCD
RS   EQU   1
E   EQU   2

   ORG   00
   GOTO   INICIO
TEMPO   MOVLW   .80
   MOVWF   REG1
DEC6   MOVLW   .21
   MOVWF   REG2
DEC5   MOVLW   .20
   MOVWF   REG3
DEC4   DECFSZ   REG3,1
   GOTO   DEC4
   DECFSZ   REG2,1
   GOTO   DEC5
   DECFSZ   REG1,1
   GOTO   DEC6
   RETURN
DATOS   
   BSF   PORTA,RS
   BSF   PORTA,E
   MOVWF   PORTB
   CALL   RETARDO
   BCF   PORTA,E
   CALL   RETARDO
   RETURN
RETARDO   
   MOVLW   .40
   MOVWF   REG1
DEC3   MOVLW   .30
   MOVWF   REG2
DEC2   MOVLW   .20
   MOVWF   REG3
DEC1   DECFSZ   REG3,1
   GOTO   DEC1
   DECFSZ   REG2,1
   GOTO   DEC2
   DECFSZ   REG1,1
   GOTO   DEC3
   RETURN

INSTRUC   
   BCF   PORTA,RS        ;COLOCA EN CERO RAO
   BSF   PORTA,E
   MOVWF   PORTB   
   CALL   RETARDO
   BCF   PORTA,E
        CALL    RETARDO
   RETURN
TABLA   ADDWF   PCL,1
   RETLW   "0"
   RETLW   "1"
   RETLW   "2"
   RETLW   "3"
   RETLW   "4"
   RETLW   "5"
   RETLW   "6"
   RETLW   "7"
   RETLW   "8"
   RETLW   "9"

TABLA1   ADDWF   PCL,1
        RETLW   "T"
   RETLW   "E"
   RETLW   "M"
   RETLW   "P"
   RETLW   "E"
                RETLW     "R"
                RETLW   "A"
   RETLW   "T"
   RETLW   "U"
   RETLW   "R"
   RETLW   "A"
    RETLW   "C"
   RETLW   "L"
   RETLW   "A"
   RETLW   "S"
   RETLW   "E"
   RETLW   " "
                RETLW    "D"
                RETLW   "I"
   RETLW   "G"
   RETLW   "I"
   RETLW   "T"
   RETLW   "A"      
   RETLW   "L"
   RETLW   " "
   RETLW   "0"
   RETLW   "5"

RETARD   MOVLW   .100   
   MOVWF   REG1
   nop
   nop
   nop
   nop
DEC9   DECFSZ   REG1,1
   GOTO   DEC9
   RETURN


INICIO
   BSF   STATUS,5
   BCF   STATUS,6
   CLRF   PORTB
   MOVLW   B"00000001"
   MOVWF   PORTA
   BCF   STATUS,5


LCDINI   MOVLW   B"00111000"     ;INTERFACE DE 8BITS 2 LINEAS
   CALL   INSTRUC
   MOVLW   B"00000110"     ;DIRECCION A LA DERECHA
   CALL   INSTRUC
   MOVLW   B"00001101"     ;PRENDE PANTALLA
   CALL   INSTRUC
   MOVLW   B"00000001"     ;LIMPIA PANTALLA
   CALL   INSTRUC

LCD   MOVLW   B"10000000"            ;EL PUNTERO SE UBICA EN LA PRIMERA
LINEA
        CALL    INSTRUC
        CLRF    MENS
RE      MOVF    MENS,0
        CALL    TABLA1
        CALL    DATOS
        INCF    MENS,1
        MOVF    MENS,0
        XORLW   .11
        BTFSS   STATUS,2
        GOTO     RE
   MOVLW   B"11000000"
   CALL   INSTRUC
RESS   MOVF   MENS,0
   CALL   TABLA1
   CALL   DATOS
   INCF   MENS,1
   MOVF   MENS,0
   XORLW   .27
   BTFSS   STATUS,2
   GOTO   RESS
   BSF   STATUS,5
COROSO   CALL   CONVERSIONANALOGODIGITAL
   CALL   MULTIPLICACION
   CALL   B2BCD
   CALL   VISUALIZACION
   GOTO   COROSO
CONVERSIONANALOGODIGITAL
   BSF   STATUS,5
   MOVLW   B"10001110"      ;RA0 ANALOGO JUSTIFICACION LOS OCHO PRIMEROS BITS
DE ADRESL Y DOS BITS DE ADRESH
   MOVWF   ADCON1
   BCF   STATUS,5
EEE   MOVLW   B"10000001"
   MOVWF   ADCON0
   CALL   RETARD
   BCF   PIR1,ADIF
   BSF   ADCON0,GODONE
   CALL   RETARD
EL   BTFSS   PIR1,ADIF
   GOTO   EL
   BSF   STATUS,5
   MOVF   ADRESL,0   ;LOW PARTE
   BCF   STATUS,5
   MOVWF   JAI_LOW
   MOVF   ADRESH,0   ;HIG PARTE      
   MOVWF   JAI_HIG      ;RA1 Y RA2 ADRESH
   MOVLW   .232
   MOVWF   AVE_LOW
   MOVLW   .1
   MOVWF   AVE_HIG
   CLRF   UNI_GRADOS   
   CLRF   DEC_GRADOS   
   CLRF   CENT_GRADOS
   RETURN


MULTIPLICACION         ;RUTINA MULTIPLICACION ENTRE DOS NUMEROS DE 16 BITS
   MOVLW   .16      ;LOS NUMEROS SON AVE Y JAI .EL RESULTADO QUEDA EN COS Y SUC
.
   MOVWF   COVEÑAS      ;JAI PIERDE EL NUMERO QUE TRAIA Y AVE QUEDA INTACTO.
   CLRF   SUC_HIG
   CLRF   SUC_LOW
   CLRF   COS_HIG
   CLRF   COS_LOW
MAR   RRF   JAI_HIG,1
   RRF   JAI_LOW,1
   BTFSC   STATUS,0
   CALL   SUMA
   RRF   COS_HIG,1
   RRF   COS_LOW,1
   RRF   SUC_HIG,1
   RRF   SUC_LOW,1
   DECFSZ   COVEÑAS,1
   GOTO   MAR
   RETURN



SUMA   MOVF   AVE_LOW,0
   ADDWF   COS_LOW,1
   BTFSC   STATUS,0
   INCF   COS_HIG,1
   MOVF   AVE_HIG,0   
   ADDWF   COS_HIG,1
   RETURN
B2BCD   BCF   STATUS,0
   MOVLW   D"24"
   MOVWF   VALLEN
   CLRF   CERO
   CLRF   UNO
   CLRF   DOS
OP16   RLF   SUC_LOW,1
   RLF   SUC_HIG,1
   RLF   COS_LOW,1
   RLF   DOS,1
   RLF   UNO,1
   RLF   CERO,1
   DECFSZ   VALLEN,1
   GOTO   A_DEC
   RETURN
A_DEC   MOVLW   DOS
   MOVWF   FSR
   CALL   A_BCD
   MOVLW   UNO
   MOVWF   FSR
   CALL   A_BCD
   MOVLW   CERO
   MOVWF   FSR
   CALL   A_BCD
   GOTO   OP16      ;.............
A_BCD   MOVLW   .3
   ADDWF   INDF,0
   MOVWF   COVEÑAS
   BTFSC   COVEÑAS,3
   MOVWF   INDF
   MOVLW   30
   ADDWF   INDF,0
   MOVWF   COVEÑAS
   BTFSC   COVEÑAS,7
   MOVWF   INDF
   RETURN

VISUALIZACION
   BCF   STATUS,5
   BCF   STATUS,6
   SWAPF   CERO,W
   ANDLW   0F
   MOVWF   CENT_GRADOS

   MOVF   CERO,0
   ANDLW   0F
   MOVWF   DEC_GRADOS

   SWAPF   UNO,W
   ANDLW   0F
   MOVWF   UNI_GRADOS
   MOVLW   B"10001100"
   CALL   INSTRUC
   MOVLW   B"00001100"   ;DESACTIVO EL CURSOR
   CALL   INSTRUC      
   MOVF   CENT_GRADOS,0
   CALL   TABLA
   CALL   DATOS
   MOVF   DEC_GRADOS,0
   CALL   TABLA
   CALL   DATOS
   MOVF   UNI_GRADOS,0
   CALL   TABLA
   CALL   DATOS
   RETURN
   END

Desconectado estratus123

  • PIC10
  • *
  • Mensajes: 25
RE: Asesoria sobre ADC
« Respuesta #16 en: 31 de Marzo de 2006, 00:25:00 »
Escrito originalmente por microcom


 
  conversion analogo digital con lm35
  espero que te sirva y






Gracias microcom voy a checarlo, sus asesorias me han ayudado mucho, y ya estoy empezando a usar el adc con mucho exito gracias por su apoyo


 

anything