Autor Tema: Problemas con el Pic 16f876a  (Leído 5150 veces)

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

Desconectado Torete

  • PIC10
  • *
  • Mensajes: 11
Re: Problemas con el Pic 16f876a
« Respuesta #15 en: 21 de Diciembre de 2009, 22:13:27 »
ola juan47:
probe el programa pero me sale otro error, graba en la eeprom, pero ahora no me graba lo k yo quiero y ademas graba en todas la direcciones de la eeprom
cuando deberia grabar en las dos primeras posiciones, no se k estara mal en el programita, te lo envio para k le eches un vistaso vale.. (lo pruebo con 5 volt y me deberia mostar en la eeprom 03 FF, lo cual no lo ase.. me  muestra puros garabatos :))
gracias  8)
Olvidate de las Penas y VIVE con Alegriaaaaaa!!!!!!!

Desconectado juan47

  • PIC10
  • *
  • Mensajes: 27
Re: Problemas con el Pic 16f876a
« Respuesta #16 en: 22 de Diciembre de 2009, 18:15:13 »
Hola torete
Disculpa si me reitero en algunas cosas
Citar
Tambien decirte que hay algunos registros de la SFR que las direcciones no se corresponden
Para todo ello te recomiendo la descarga del datasheet del dispositivo, te sera muy util
Efectivamente le das el mismo valor al declarar los registros
Citar
;
status      equ   3h
trisa      equ   5h
trisc      equ   7h
portc      equ   7h
portb      equ   6h
porta      equ   5h
trisb      equ   6h
adcon1      equ   1fh
adcon0      equ   1fh
adresh      equ   1eh
adresl      equ   9eh
conta1      equ   20h
eecon1      equ   18ch
eecon2      equ   18dh
eedata      equ   10ch
eeadr      equ   10dh
Si te fijas ADCON0 y ADCON1 ,por nombrar alguno,tienen el mismo valor EQU 1FH asi como otros
esto puede darte errores en los datos a guardar en la EEPROM
Esto deverias solucionarlo para que te grave los datos correctos
El otro tema de que se llena la EEPROM es devido a que no controlas su direccion (EEADR)
Citar
   movf   adresh,w
      bcf   status,5
      bsf   status,6      ;banco2
      movwf   eedata
      call   escribir_eeprom
      bsf   status,6      ;banco2
      incf   eeadr,1
      bsf   status,5
      bcf   status,6      ;banco1
      movf   adresl,w
      bcf   status,5      ;banco2
      bsf   status,6
      movwf   eedata
      call   escribir_eeprom
Al principio no pones, como en el archivo que adjuntaste anteriormente,la linea   clrf EEADR
y despues de grabar los datos del registro ADRESH incrementas la direccion de la EEPROM y
grabas los datos del registro ADRESL
Esto provoca que al volver a efectuar otra conversion nueva A/D y querer otra vez volver a grabar en la
EEPROM la direccion que hay en EEADR es 01 y en consecuencia ADRESH pisa el valor anteriormante grabado
y ADRESL se graba en la direccion EEPROM 03
Un saludo

Desconectado Torete

  • PIC10
  • *
  • Mensajes: 11
Re: Problemas con el Pic 16f876a
« Respuesta #17 en: 22 de Diciembre de 2009, 22:44:32 »
-efectivamente cambie las direcciones de la SFR a la que corresponden,
-tambien el clrlf eeadr lo declaro en la parte del inicio al final,
- con respecto a esta parte del programa agrege en la ultima linea un incremento en eeadr, para k cuando vuelva a realizar otra conversion grabe en la direccion 02 y 03 parte alta y baja  respectivamente.

       movf   adresh,w
      bcf   status,5
      bsf   status,6      ;banco2
      movwf   eedata
      call   escribir_eeprom
      bsf   status,6      ;banco2
      incf   eeadr,1
      bsf   status,5
      bcf   status,6      ;banco1
      movf   adresl,w
      bcf   status,5      ;banco2
      bsf   status,6
      movwf   eedata
      call   escribir_eeprom
      incf   eeadr,1
aora el problemita k tengo es que no me esta grabando en las siguientes direcciones al realizar la siguiente conversion, por k al accionar el interruptor varias veces para un mismo dato me deberia ir grabando parte alta y parte baja, parte alta y baja asi sucesivamente , asta llenar la eeprom el problema es k no me esta incrementando como yo kiero a lo mejor me estoy equivocando en algo k no estoy viendo y no me puedo dar cuenta.
te envio el programa con los arreglos, ya no es necesario k muestre en las portb y portc la parte baja y alta..
gracias me a servido de mucha ayuda tus indicaciones, o si no todavia estaria estankado desde el principio..


Olvidate de las Penas y VIVE con Alegriaaaaaa!!!!!!!

Desconectado Torete

  • PIC10
  • *
  • Mensajes: 11
Re: Problemas con el Pic 16f876a
« Respuesta #18 en: 22 de Diciembre de 2009, 22:50:23 »
el programa en si lo k deberia aser es lo siguiente:
ejemplo:
tomar datos cada 30 minutos (es decir k yo cada 30 minutos debo presionar el interruptor para k se inicie el programa, y grabe el dato finalizada la conversion), e ir guardandolos en la eeprom hasta llenarla, o una vez apagado el pic debo ver los datos guardados por ejemplo de 15 pinchasos, los cuales deberian estar en la eeeprom, no se si me explike bien, espero k yes
desde ya muchas gracias por tu paciencia y voluntad para enseñar
gracias...
Olvidate de las Penas y VIVE con Alegriaaaaaa!!!!!!!

Desconectado juan47

  • PIC10
  • *
  • Mensajes: 27
Re: Problemas con el Pic 16f876a
« Respuesta #19 en: 23 de Diciembre de 2009, 06:56:25 »
Hola torete
Si en la ultima parte del codigo pusiste incf EEADR pero el problema es que la siguiente linea es un END
consecuentemente reinicia el programa comenzando de nuevo con él
Tendrias que hacer un bucle hacia comienzo esperando la nueva actuacion sobre RA3
No tienes que darme las gracias puesto que el programa lo estas haciendo tú solo
Un saludo

Desconectado juan47

  • PIC10
  • *
  • Mensajes: 27
Re: Problemas con el Pic 16f876a
« Respuesta #20 en: 24 de Diciembre de 2009, 11:46:25 »
Hola
Se me olvido comentarte que el programa vuelve al inicio si tienes WDT activado
Un saludo
Feliz Navidad


 

anything