Autor Tema: PROBLEMAS CON PIC 16F877  (Leído 2157 veces)

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

Desconectado picmaniaco2000

  • PIC10
  • *
  • Mensajes: 7
PROBLEMAS CON PIC 16F877
« en: 31 de Enero de 2005, 12:01:00 »
ESTIMADOS AMIGOS DEL FORO


ESPERO QUE ALGUEN ME AYUDE A GENERA EL CODIGO ASM PARA UN PIC16F877
QUE TOME UN DATO OR MEDIO DE SU CONVERTIDOR ANALOGICO DIGITAL Y QUE ESE DATO POSTERIORMENTE SE GUARDADO EN LA MEMORIA EEPROM PARA LA POSTERIOR MANIPULACION DE ESE DATO

                             GRASIASS

Desconectado Golden_Eagle

  • PIC16
  • ***
  • Mensajes: 135
RE: PROBLEMAS CON PIC 16F877
« Respuesta #1 en: 31 de Enero de 2005, 12:40:00 »
Has leido la hoja de datos ?

Estoy seguro de que ahi podes encontrar la informacion q necesitas

Desconectado picmaniaco2000

  • PIC10
  • *
  • Mensajes: 7
RE: PROBLEMAS CON PIC 16F877
« Respuesta #2 en: 01 de Febrero de 2005, 18:14:00 »
HE LEIDO LA HOJA DE DATOS EL PROBLEMA ES EL SIGUIENTE EL CONVERTIDOR ANALOGICO DEL P16F877 GENERA SU RESULTADO EN DOS PAQUETES ADRESH, BITS MAS SIGNIFICATIVOS Y ADRESL, BITS MENOS SIGNIFICATIVOS  EN EL ASM
QUE ESTA A CONTINUACION MANDO EL RESULTADO ADRESH AL PUERTO B Y ADRESL AL PUERTO D HASTA AHI NINGUN PROBLEMA  Flash EL PROBLEMA REAL ES QUE CUANDO QUIERO ESCRIBIR EL DATO ADRESL SIMPLEMENTE NO SE CAPTURA Y EL DATO ADRESH SI


EN QUE ESTOY MAL
DESEO AYUDA

      list   p=16f877
      include <p16f877.inc>


STATUS      EQU      0X03
PORTA      EQU      0X05
PORTB      EQU      0X06
RP0      EQU      0X05
OPTION_REG   EQU      0X81
INTCON      EQU      0X0B
PIR2      EQU      0X0D
EECON1      EQU      0x18C
EECON2      EQU      0x18D
EEDATA      EQU      0x10C
EEADR      EQU      0x10D
EEIE      EQU      4
WREN      EQU      2
WR      EQU      1
RD      EQU      0

;REGISTROS DE PROPOCITO GENERAL

TEMPO1      EQU      0X20
RDELAY      EQU      0X21
CONTA0      EQU      0X22
CONTA1      EQU      0X23


      ORG      0
      GOTO      INICIO
      ORG      5

INICIO
      BSF      STATUS,RP0
      MOVLW      B"00011111"
      MOVWF      PORTA
      CLRF      ADCON0
      CLRF      PORTB
      CLRF      PORTD
      BCF      STATUS,RP0
      MOVLW      B"11000001"
      MOVWF      ADCON0
CONVERTIR   CALL      ESPERA20U
      BSF      ADCON0,2

ESPERA      BTFSC      ADCON0,2
      GOTO      ESPERA
      MOVF      ADRESH,W
      MOVWF      PORTB
      BSF      STATUS,RP0
      MOVF      ADRESL,W
      BCF      STATUS,RP0
      MOVWF      PORTD
      BTFSS      PORTC,0
      GOTO      CONVERTIR

      BSF      STATUS,RP0
      MOVLW      B"00000111"
      MOVWF      OPTION_REG
      BCF      STATUS,RP0
      CALL      DATO
      CALL      ESCRIBE
      CALL      DATO2
      CALL      ESCRIBE
      GOTO      FIN

FIN      GOTO      FIN

DATO      BSF      STATUS,RP1
      MOVLW      B"00000000"
      MOVWF      EEADR
      BCF      STATUS,RP1
      MOVF      PORTB,W
      BSF      STATUS,RP1
      MOVWF      EEDATA
      RETURN

DATO2      BSF      STATUS,RP1
      MOVLW      B"00000001"
      MOVWF      EEADR
      BCF      STATUS,RP1
      MOVF      PORTD,W
      BSF      STATUS,RP1
      MOVWF      EEDATA
      RETURN


ESCRIBE      BSF      STATUS,RP0
      BSF      EECON1,WREN
      MOVLW      0X55
      MOVWF      EECON2
      MOVLW      0XAA
      MOVWF      EECON2
      BSF      EECON1,WR
      BCF      STATUS,RP0
      BCF      STATUS,RP1      
      BTFSS      PIR2,4
      CALL      ESPERA20U
      BCF      PIR2,4
      RETURN

;******************************************

ESPERA20U   MOVLW      0X05
      MOVWF      CONTA0
RET1      DECFSZ      CONTA0,1
      GOTO      RET1
      RETURN      
      

      END