FAQ FAQ  •  Buscar Buscar  •  Registrarse Registrarse  •  Entre para ver sus mensajes privados Entre para ver sus mensajes privados  • Login Login

Pasar de 16F84A a 16F627

Índice de los Foros Electronica Facil » FOROS ELECTRONICA » Microcontroladores PIC
Publicar nuevo tema   Responder al tema
Ver tema anteriorEntre para ver sus mensajes privadosVer tema siguiente
AutorMensaje
Meta
Asunto: Pasar de 16F84A a 16F627 MensajePublicado: 10 Abr, 2009 - 11:47
Experto
Experto


Registrado: 03 Sep, 2008
Mensajes: 125

Hola:

Me gustaría pasar del PIC16F84A al 16F627 (no 16F628A porque no lo tienen en el local).
¿Qué configuraciones debo usar para que me funcione el mismo circuito y con oscilador interno?

Código:

; Repetición del ejercicio Indexado_02.asm sobre la forma de implementar una tabla de
; verdad, pero resuelto con más eficacia.
;
; ZONA DE DATOS **********************************************************************

   LIST      P=16F84A
   INCLUDE      <P16F84A.INC>
   __CONFIG   _CP_OFF &  _WDT_OFF & _PWRTE_ON & _XT_OSC

; ZONA DE CÓDIGOS ********************************************************************

   ORG    0               ; El programa comienza en la dirección 0.
Inicio
   bsf      STATUS,RP0         ; Acceso al Banco 1.
   clrf   TRISB            ; Las líneas del Puerto B se configuran como salida.
   movlw   b'00011111'         ; Las 5 líneas del Puerto A se configuran como entrada.
   movwf   TRISA
   bcf      STATUS,RP0         ; Acceso al Banco 0.
Principal
   bcf      STATUS,C         ; Lee los sensores y los multiplica por 2
   rlf      PORTA,W            ; añadiendo un "0" y desplazando hacia la izquierda.
   andlw   b'00001111'         ; Se queda con los cuatro bits más bajos
   addwf   PCL,F            ; Salta a la configuración adecuada.
   movlw    b'01100001'         ; Estado "Vacio" (configuración 0).
   goto   ActivaSalida
   movlw    b'01100010'         ; Estado "Llenándose" (configuración 1).
   goto   ActivaSalida
   movlw    b'00010000'         ; Estado "Alarma" (configuración 2).
   goto   ActivaSalida
   movlw    b'00100100'         ; Estado "Lleno" (configuración 3).
   goto   ActivaSalida
   movlw    b'00010000'         ; Estado "Alarma" (configuración 4).
   goto   ActivaSalida
   movlw    b'00010000'         ; Estado "Alarma" (configuración 5).
   goto   ActivaSalida
   movlw    b'00010000'         ; Estado "Alarma" (configuración 6).
   goto   ActivaSalida
   movlw    b'00001000'         ; Estado "Rebose" (configuración 7).
ActivaSalida
   movwf   PORTB            ; Visualiza por el puerto de salida.
   goto    Principal

   END
   


Un cordial saludo.
 
 Ver perfil de usuario Enviar mensaje privado  
Responder citando Volver arriba
AG-1
2 Asunto:  MensajePublicado: 12 Abr, 2009 - 09:43
Nuevo en el Foro
Nuevo en el Foro


Registrado: 11 Sep, 2006
Mensajes: 44

Para este programa solamente debes sustituir estas líneas:

LIST P=16F84A
INCLUDE <P16F84A.INC>
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
; ZONA DE CÓDIGOS ********************************************************************

ORG 0 ; El programa comienza en la dirección 0.
Inicio


por estas otras:

LIST P=16F627
INCLUDE <P16F627.INC>
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT

; ZONA DE CÓDIGOS ********************************************************************

ORG 0 ; El programa comienza en la dirección 0.
Inicio
movlw .7
movwf CMCON ; CMCON=7 Desactiva módulo comparador.


Ultima edición por AG-1 el 13 Abr, 2009 - 12:14 , editado 1 vez
 
 Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor  
Responder citando Volver arriba
Meta
Asunto:  MensajePublicado: 12 Abr, 2009 - 10:52
Experto
Experto


Registrado: 03 Sep, 2008
Mensajes: 125

Muchas gracias.

Un curiosidad. ¿Cómo sabes exactamente los __CONFIG de se pic16f627a?

Saludo.
 
 Ver perfil de usuario Enviar mensaje privado  
Responder citando Volver arriba
AG-1
Asunto:  MensajePublicado: 13 Abr, 2009 - 12:28
Nuevo en el Foro
Nuevo en el Foro


Registrado: 11 Sep, 2006
Mensajes: 44

Meta escribió:
Muchas gracias.

Un curiosidad. ¿Cómo sabes exactamente los __CONFIG de se pic16f627a?

Saludo.



La modificación que te he indicado es para el PIC 16F627 aunque tambien te puede servir para el 16F627A

Puedes encontrar estos parámetros en el archivo "P16F627.INC" o en el archivo "P16F627A.INC"

El único parámetro que he cambiado es _XT_OSC que he sustituido por _INTRC_OSC_NOCLKOUT, ya que como indicas quieres que el circuito funcione con el oscilador interno de 4MHz que possee el 16F627 o el 16F627A.

He modificado el post anterior ya que olvidé poner 2 intrucciones más que son necesarias, dado que es necesario desactivar el comparador analógico que posee el 16F627 en el puerto A, debido a que el programa utiliza las entradas del puerto A como entradas digitales.
 
 Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor  
Responder citando Volver arriba
Mostrar mensajes anteriores:     
Cambiar a:  
Todas las horas son GMT
Publicar nuevo tema   Responder al tema
Ver tema anteriorEntre para ver sus mensajes privadosVer tema siguiente
 Índice de los Foros Electronica Facil » FOROS ELECTRONICA »  Microcontroladores PIC
powered by phppowered by MySQLPOWERED BY APACHEPOWERED BY CentOS© 2004 - 2025Información Legalpoliticas de cookiesipv6 ready