desktop

PIC's serie 18

Hola a todos.
Estoy realizando un proyecto en que tengo que utilizar un PIC de la serie 18, exactamente el 18f45j10, yo solo he trabajado con la serie 16 y ahora no consigo aclararme del todo, ya me he descargado el datasheet de microchip y me lo he estudiado pero a pesar de todo no consigo hacerlo funcionar, ya que no se como configurar los bits a la hora de programarlo.
Si alguien sabe alguna página con algun ejemplo relacionados con estos PIC's se lo agradeceria.
Muchas gracias a todos.
 
Hola Trino,

Estos PIC que tienen la ventaja de ser muy baratos y consumir muy poco tienen ciertas particularidades. En primer lugar su alimentación es de 3.3 V. Por otro lado, el método de programación de la Flash es diferente al del ersto de los PIC. Usando MPLAB y un programador de Microchip como ICD2 o Pickit en principio no deberías tener problemas. AL comenzar un proyecto con MPLAB seleccionas el dispositivo y el resto debería funcionar bien. Para poder darte más información dime por favor qué compilador usas y un esquema del circuito que estás usando.
 
Hola Xavicool. Muchisimas gracias por contestarme.
Estoy usando el mplab como compilador y como programador el mplab ICD2. Mi problema es que estoy intentando configurar este pic para establecer una comunicación mediante I2C entre dos de estos pic's, maestro y esclavo. El programa lo he desarrollado primero con un 16f877 y funciona perfectamente. Pero al pasarlo a la serie 18 haciendo las modificaciones necesarias no hace absolutamente nada es como si no estuviera conectado. Dispongo de 4 pic's por si se diera el caso de que estuviera estropeado pero en todos hace lo mismo, nada.
Creo que mi problema es que no se como tengo que configurar los Bits a la hora de programarlo.
Gracias a todos por leer y en especial a ti xavicool por la respuesta.
 
Hola de nuevo TRino,

Comprueba en la ventana de configuration bits lo siguiente:

Watchdog Timer Enable: Disabled
Enhanced CPU Enable: Disabled

Si tienes un cristal de cuarzo como es lo habitual:

Oscillator Select: HS OSC o también HS OSC with software PLL

Default/Reset System Clock Select: Clock Select by FOSC.

Lo demás debería ser igual.

Intenta probar con esos bits de configuración y algún programa muy sencillo que únicamente encienda un LED y haga que parpadee o algo así. Si te funciona eso, prueba con el programa con I2C.

Mantenme informaciónrmado, por favor. Suerte.
 
hola trino

has de tener en cuenta que las instrucciones en asm son distintas para los 18 que para los 16, en otro post vi que usaba el ejemplo para el 877 y este estaba en asm, aqui menciona que sirve de maravilla, pero en el 18 no, bueno, aunque tambien puedo estar mal, por que si compila, entonces nada malo habra pasado con las instrucciones, pero los registros???, ha comprobado todo exactamente para que el traslado del 16 al 18 sea exitoso???, si ya has hecho todo esto, omite lo que le he escrito, y perdona la intromision, en todo caso, me comenta cualquier cosa, y no estaria de mal seguir los consejos de xavicool, hacer un programa para pillar que el pic sirve, y luego si, el otro, cuidese....
 
Hola a todos de nuevo y gracias por vuestras ayuda.
He probado a programar el pic con un programa muy sencillo en el que enciendo unos LED's conectados al puerto B que os muestro a continuación:

List P=PIC18F45J10
#include P18F45J10.INC

ORG 0000H
GOTO INICIO
ORG 0018H


INICIO
MOVLW 0xFF
MOVWF BSR
MOVLW B'01000000'
MOVWF TRISB
BSF PORTB,0
BSF PORTB,1
BSF PORTB,2
BSF PORTB,3
BSF PORTB,4
BSF PORTB,5

END

No se si estoy realizando algo mal pero cuando lo conecto todo a 3,3V no hace absolutamente nada, tengo que añadir que a la hora de programarlo el ICD2 me da muchos warnings pero que segun indica al final acaba por programar el pic.
Lo que pone en el mplab es lo siguiente:

Programming Target...
ICDWarn0052: MPLAB ICD 2 cannot validate a target device. Please make sure that the target device is connected and properly powered. Select "OK" to continue, or "CANCEL" to abort the operation
...Validating configuration fields
...Erasing Part
...Programming Program Memory (0x0 - 0x7FF7)
Verifying...
ICDWarn0052: MPLAB ICD 2 cannot validate a target device. Please make sure that the target device is connected and properly powered. Select "OK" to continue, or "CANCEL" to abort the operation
...Program Memory
...Verify Succeeded
Programming Configuration Bits
ICDWarn0052: MPLAB ICD 2 cannot validate a target device. Please make sure that the target device is connected and properly powered. Select "OK" to continue, or "CANCEL" to abort the operation
.. Config Memory
...Verify Succeeded
...Programming succeeded
15-Feb-2007, 17:43:28

No se a que se debe, si alguien me podria indicar donde consultarlo le estaria muy agradecido.
Muchas gracias a todos.
 
Hola de nuevo Trino,

Comprueba que la versión del firmware edl ICD2 es la última, o directamente instálale la última versión. Recuerda que los PIC18J son dispositivos que salieron al mercado a partir de la mitad de 2006, así que si tu ICD2 es anterior probablemente tenga un firmware no apropiado para estos micros. Las instrucciones para actualizar firmware las encuentras en la página de microchip, así como el datasheet de la familia pic18f45j10 y las especificaciones de programación ( en las cuales te darás cuenta de que no se puede aplicar una tensión de 12 V en MCLR durante la programación, al contrario que en el resto de dispositivos. ASí que si el ICD2 ya le ha aplicado esa tensión, es posible que el PIC esté roto). Espero que esto te sirva de ayuda.
 
Atrás
Arriba