Autor Tema: pasar del 16f84 al 16f877  (Leído 4762 veces)

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

Desconectado sztongo

  • PIC10
  • *
  • Mensajes: 11
pasar del 16f84 al 16f877
« en: 26 de Diciembre de 2008, 17:52:33 »
Hace un  tiempo comence a trabajar con el 16f84 con muy buenos resultados, y me decidi pasar a algo mas grande manteniendome en esa linea, reforme el
programador pero me encuentro que la libreria que mas utilizo me fuciona mal ( la de retardos).estoy usando el 16f877 con un cuarzo de 4mhz al igual que el
f84 pero un retardo de 20 seg. me lo realiza en 500ms. que estoy haciendo mal? sin que esta libreria me funcione me las veo negras. hay alguna otra libreria que
me puedan recomendar? no deberia funcionar igual? espero sus respuestas y desde ya mil gracias. me despido desde comodoro rivadavia, chubut

Desconectado pajaro

  • PIC24H
  • ******
  • Mensajes: 1121
Re: pasar del 16f84 al 16f877
« Respuesta #1 en: 27 de Diciembre de 2008, 00:31:40 »
hola amigo
Podrias pegar la rutina y el fuente, seria más facil encontrar el error.

Verifica la configuracion interna, del pic en relacion con el clock.


un saludo 

Desconectado tapi8

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1506
Re: pasar del 16f84 al 16f877
« Respuesta #2 en: 27 de Diciembre de 2008, 19:05:04 »
Pregunta tonta (o no). Cuando pasas la rutina del f84 al f877 cambias las EQUS que definen los registros de RAM que vas a usar en la demora?.
Lo digo porque no puedes poner las mismas direcciones en uno que en el otro.

saludos tapi8

Desconectado sztongo

  • PIC10
  • *
  • Mensajes: 11
Re: pasar del 16f84 al 16f877
« Respuesta #3 en: 27 de Diciembre de 2008, 19:11:19 »
hola pajaro, gracias por contestar. La libreria de retardos la hice funcionar modificandola. pero no entiendo porque no fuciona como es. Le hice mas bucles y anda
 La libreria es una de lasdel libro de RA-MA desarrolo de proyecos con pic 16f84, el cual recomiendo fervorosamente. pero no entiendo si usa las mismas 35 instrucciones y el mismo oscilador con el mismo cistal no anda,ni las librerias del lcd ni el i2c, algo estoy haciendo mal pero con el 16f877a no me andan. espero respuestas... mil gracias

Desconectado sztongo

  • PIC10
  • *
  • Mensajes: 11
Re: pasar del 16f84 al 16f877
« Respuesta #4 en: 27 de Diciembre de 2008, 19:16:29 »
gracias tapi8 me devolves la esperanza... por ahy debe estar mi macana... me aclaras un poquito mas. gracias

Desconectado sztongo

  • PIC10
  • *
  • Mensajes: 11
Re: pasar del 16f84 al 16f877
« Respuesta #5 en: 27 de Diciembre de 2008, 19:25:23 »
me fije lo que me decias. pero no tiene equ's la libreria solo hay cblock endc, donde hubico los contadores.

Desconectado tapi8

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1506
Re: pasar del 16f84 al 16f877
« Respuesta #6 en: 27 de Diciembre de 2008, 19:38:35 »
Seguro que el cblok para el f84 esta en oc, si es asi lo tienes que cambiar porque estas en los sfr, creo que en el PIR1, y la cambias por 2oh, a partir de esa direccion ya son posiciones "tuyas" de RAM.

TAPI8

Desconectado sztongo

  • PIC10
  • *
  • Mensajes: 11
Re: pasar del 16f84 al 16f877
« Respuesta #7 en: 27 de Diciembre de 2008, 19:50:56 »
ya lo voy a probar capo. y entonces la posicion de ram tambien me va a cambiar para las interrupciones... estoy emocionado le veo la punta al iceber.
gracias loco.

Desconectado tapi8

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1506
Re: pasar del 16f84 al 16f877
« Respuesta #8 en: 27 de Diciembre de 2008, 20:05:07 »
Es que en 0Ch en el f877 estabas poniendo los registros de la demora en encima de flags de interrupcion. si en el programa tienes interrupciones del f84 al f877 tambien te van a cambiar. Cuidado con esto tambien.

suerte sztongo

Desconectado sztongo

  • PIC10
  • *
  • Mensajes: 11
Re: pasar del 16f84 al 16f877
« Respuesta #9 en: 27 de Diciembre de 2008, 20:58:51 »
el tema parece estar entonces en que las posiciones de los registros se me mezclan con las del ram disponible. voy a tener que comparar sus arquitecturas
gracias.

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: pasar del 16f84 al 16f877
« Respuesta #10 en: 27 de Diciembre de 2008, 21:06:40 »
si es posible que haya confusión de posiciones de los registros

quizá también ahora sea necesario configurar otros registros, como el ADCON1 si no me equivoco, sino utilizas entradas analógicas, para configurarlas a digitales, quizá haya otro registro más a configurar

y con el _config también hay que tener cuidado
.

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re: pasar del 16f84 al 16f877
« Respuesta #11 en: 27 de Diciembre de 2008, 21:09:49 »
si es posible que haya confusión de posiciones de los registros

quizá también ahora sea necesario configurar otros registros, como el ADCON1 si no me equivoco, sino utilizas entradas analógicas, para configurarlas a digitales, quizá haya otro registro más a configurar

y con el _config también hay que tener cuidado

Supongo vienes de assembly.

Primero lo que comentan del cblock, yo siempre lo he manejado asi desde la 20H,revisen el mapa de memoria ahi viene claramente desde donde puedes trabajar.

Segundo , este microcontrolador posee ADC y COMPARADORES.Asi que es necesario configurar los pines.

Código: [Seleccionar]

__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC & _WRT_OFF & _LVP_OFF & _CPD_OFF

;**********************************************************************
ORG     0x000             ; processor reset vector

nop   ; nop required for icd
  goto    main              ; go to beginning of program


ORG     0x020             ; interrupt vector location



                    CBLOCK 0X20
RAM1   ;20 direcion
RAM2   ;21
RAM3   ;22
                   ENDC


; CONFIGURACION DE PUERTOS

BCF STATUS,5

; MOVLW 0X07 ; COMPARADORES DESACTIVADOS
; MOVWF CMCON

CLRF PORTA
clrf PORTC
                                      clrf         PORTB
BSF STATUS,5

CLRF TRISC ; PUERTO C SALIDA
CLRF TRISA ; PUERTO A SALIDA
                          CLRF      TRISB
BCF STATUS,5

;--------------------------------------------------------------------
;--- CONFUGURACION ADC

BANKSEL ADCON0
CLRF ADCON0     ; ADC OFF

BANKSEL ADCON1

MOVLW b'00000110
MOVWF ADCON1     ;  PINES DIGITALES



« Última modificación: 27 de Diciembre de 2008, 21:41:30 por AKENAFAB »

Desconectado tapi8

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1506
Re: pasar del 16f84 al 16f877
« Respuesta #12 en: 28 de Diciembre de 2008, 07:21:53 »
http://www.alos.5u.com/indexpic877.htm


En esta direccion tienes un curso sobre el 16f877. En el te explican casi todo lo que hay que saber sobre el (ademas en español).
Lo pongo porque aunque AKENAFAB ya te puso toda la configuracion para este programa cuando quieras hacer otras cosas necesitaras saber como hacer cada cosa y para cada programa en particular.

saudos tapi8

Desconectado sztongo

  • PIC10
  • *
  • Mensajes: 11
Re: pasar del 16f84 al 16f877
« Respuesta #13 en: 07 de Enero de 2009, 19:42:20 »
Gracias tapi, me esta llendo muy bien. Me falta el manejo de la eeprom. con el 16f84 la manejo bien pero todavia no di en la tecla con el 16f877. alguna pista de donde le puedo estar errando? mil gracias. Saludos.