Autor Tema: Ayuda para el 12F675 en PWC  (Leído 4718 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado rafa_y2k1

  • PIC10
  • *
  • Mensajes: 13
Ayuda para el 12F675 en PWC
« en: 02 de Mayo de 2006, 10:18:55 »
Hola a todos,
tengo que comenzar un proyecto, he decidido usar el PIC 12F675 con el PICKIT 1 de Microchip.
Quiero hacerlo con el PWC de CCS que ya lo tengo instalado, pero no encuentro documentación sobre como inicializar el PIC (oscilador interno, puertos, etc.).

En el dataheet del PIC 12F675 solo encuentro referencias en assembler, pero como es normal, nada de C del CCS.

Tampoco encuentro nada el manual del PWC, aunque si incorpora la librería para dicho PIC.

Bueno, gracias a todos por vuestro tiempo !!!

RAFA

Desconectado micro_pepe

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3206
Re: Ayuda para el 12F675 en PWC
« Respuesta #1 en: 02 de Mayo de 2006, 14:35:58 »
Hola, para inicializar el puerto tienes que usar:
set_tris_a(0b00000011); un 0 es salida y un 1 entrada. El ejemplo inicializa el PB0, y el PB1 como entrada, y el resto como salida.

Los fusibles son estos, vienen en el archivo 12F675.h
//////// Fuses: LP,XT,HS,EC_IO,NOWDT,WDT,CPD,NOCPD,PROTECT,NOPROTECT,NOMCLR
//////// Fuses: MCLR,PUT,NOPUT,INTRC_IO,INTRC,RC_IO,RC,BROWNOUT,NOBROWNOUT
////////

Y en ese mismo archivo, te viene mucha mas informacion. Por ejemplo te viene esto AN0_ANALOG, que lo tienes que usar de la siguiente manera:

Setup_ADC_Ports(AN0_ANALOG) que te configura el canal AN0 como analogico.

Entre el manual de CCS, y el fichero 12F675.h, tienes informacion para configurar el pic, busca algun programa en el foro que te sirva de ejemplo.

Saludos.
Se obtiene más en dos meses interesandose por los demás, que en dos años tratando de que los demás se interesen por ti.

新年快乐     的好奇心的猫死亡

Desconectado Luis_Chogi

  • PIC10
  • *
  • Mensajes: 44
Re: Ayuda para el 12F675 en PWC
« Respuesta #2 en: 10 de Junio de 2006, 15:24:37 »
Hola rafa 

Yo tambien tengo instalado el PICKIT pero no eh podido usarlo con CCS, ya eh programado algo en CCS pero quiero comenzar con este PIC, que te parece si compartimos ideas y si puedes hachar a andar un programita postealo....

Yo logre compilar un programa pero al momento de querer grabarlo, se perdio en dato del OSC interno y ya no funciona mi PIC  :?

Desconectado Luis_Chogi

  • PIC10
  • *
  • Mensajes: 44
Re: Ayuda para el 12F675 en PWC
« Respuesta #3 en: 11 de Junio de 2006, 02:25:36 »
Hola de nuevo rafa_y2k1, espero que ya estes trabajando sobre la programacion de este maravilloso PIC12F675, yo recien hoy me di a la tarea de hacer algo para programar el 12F675 y ya tengo un primer programita.

Sin embargo aclaro a todo el foro que solo se podria usar con el PICKIT ya que no se esta tomando en cuenta la parte tomar el dato de la calibracion del Oscilador interno, pero bueno ya se podra modificar para que quien no tenga el PICKIT lo pueda probar o simular.

CODIGO:

///////////////////////////////////////////////////////////////////////////////
//
// Programa: Parpadeo
//
//
// Descripcion:Programa que hace parpadear el led D0 conectado al PIC_KIT cada
//             0.25 segundos.
//
//
// Dispositivo: PIC 12F675
// Compilador: CCS vs3.34
//
// Notas: La configuracion del Ocilador interno lo hace el pic kit ademas Hay que
//        tomar en cuenta que CCS llama a los pines del pic de la sig manera:
//
// GP0 PIN_A0
// GP1 PIN_A1
// GP2 PIN_A2
// GP3 PIN_A3
// GP4 PIN_A4
// GP5 PIN_A5
//
// Conexiones:
//
// GP1 -> Catodo LED 0
// GP2 -> Anodo  LED 0
//////////////////////////////////////////////////////////////////////////////

               /*   ****** CONFIGURACION DE LA CPU ********   */

#include <12F675.h>
#fuses INTRC_IO,NOWDT,NOPUT,NOPROTECT,NOCPD,NOMCLR
#use delay(clock=4000000)

 /*   **********PROGRAMA  PRINCIPAL********  */

void main(void)
{
set_tris_a( 0b11001111 ); // GP4, GP5 salidas
output_low( PIN_A5 );

 do
  {
   output_high( PIN_A4 ); //LED on
   delay_ms( 250 ); // Retardo 250ms
   output_low( PIN_A4 ); //LED off
   delay_ms( 250 ); // Retardo 250ms
  }
 while ( TRUE ); // Ciclo infinito

}