# Programar pic en C



## ars (Jul 17, 2007)

Hola amigos, me quiero meter en la programacion de pic, yo tengo un poco de conocimiento de programacion en C pero no tengo idea de como porgrmar pic en c, conocen algun tutorial para esot y que compilador recomiendan?

Desde ya muchas gracias.


----------



## tiopepe123 (Jul 17, 2007)

Para mi el mas facil es el CCS.
Va cargadito de varios ejemplos y es bastante facil.

Pero evidentemente debes tener ciertos conocimientos de pic, conocer que es un ADC, un led....

Tambien te recomiendo que utilices el pic16f876 o el pic16f877 o la serie pic18f que es similar.


----------



## ferfila20 (Jul 17, 2007)

hola

yo te recomiendo que este manual:

Manual Compilador C Para PICs

Saludos.


----------



## jorgeq18 (Jul 16, 2008)

yo tengo una pregunta en ccs se puede simular el codigo
como en mplab


----------



## jhon364 (Jul 22, 2008)

hola amigos yo he programado pics en asembler pero aun no lo he hecho en c y me interesaría empezar a hacerlo ya que es mucho mas comodo y sencillo para programar y quisiera saber que interfaz o programa necesito para compilar en c.


----------



## itvboy (Ago 7, 2008)

Yo te recomiendo utilices el CCS, tiene IDE de programacion y es muy facil de utilizar, te recomiendo que tambien utilices Proteus para armar circuitos virtuales con pics y probar tus programas.

   Otra cosa que te recomiendo es que compres un libro de estructura de datos en C y te pongas a estudiar.

    Normalmente un electronico que aprende C, sabe programar pero no optimiza sus programas por falta de herramientas logicas como son el uso de pilas, colas, arboles binarios, listas enlazadas etc.

     Bueno, es mi humilde recomendacion.


----------



## jhon364 (Ago 11, 2008)

gracias itvboy estoy en eso y que version de MPLAB trae el ccs ya que bajé la 8.0 y dice que no trae el driver ccs me puedes colaborar con esta información y de antemano gracias!


----------



## Adolfoe (Ago 14, 2008)

Gracias por el manual, me está siendo muy útil.
Tengo dos preguntas:
Si yo uso el programa "piklab" de ubuntu, y mis compañeros programan en windows, hay alguna precaución que haya que tomar?
Piklab puede usar el gcc?

Gracias


----------



## aguevara (Ago 19, 2008)

Donde puedo encontrar algun demo del CCS? 

Saludos


----------



## jhon364 (Ago 20, 2008)

ahhh y una pregunta ¿como se le ordena cargar un dato a puerto en ccs? es que estuve leyendo el manual y no lo encuentro....

gracias!


----------



## jhon364 (Ago 20, 2008)

bueno a todo el puerto porque yo vi como hacerlo bit a bit pero quiero cargar todo el numero....


----------



## jhon364 (Ago 22, 2008)

si quieres te envio un programa para prender y apagar un led con retardo graduable desde delay eslo único que he hecho hasta ahora.....

miralos pasos que tienes que seguir para crear un proyecto en pcw ccs....

1. Ve a la etiqueta project/new/proyect wizard.
2.Te saldrá una ventana del directoprio donde guardarlo le das un nombre y guardar.
3.Te sale una ventana llamada new project.
4.Donde puedes configurar que pic vas a utilizar el oscilador y en las etiquetas de abajo estan las comunicaciones que soporta, timers y librerias a utilizar.
5.le das ok luego de configurar y el te crea el cuerpo principal del programa....
6.luego de hacer el programa hay que configurar las llamadas fuses que a mi manera de ver es decirle que configuracion externa se va a tener o a utilizar.
7.para configurar las fuses debes ir a view/valid fuses y buscas el pic a trabajar y las fuses que tienes que configurar tales comko el cristal, el watchdog, voltaje de programacion y demas. Luego de ver que fuses debes configurar abre el archivo del mismo nombre pero con extensión.h y alli es donde se debe configurar las fuses en si...

una pruguntita tu has manejadoproteus para simular pics?

mira el contenido del programa .c el pic que utilice es el 16f84A ahorita estoy mirando como trabajo con el 16F877A y el 18F452A que hay que configurarle mas cositas...



```
#include "E:\trabajo\pruebita.h"

#use fast_io(a)
#use delay (clock=4000000) // reloj de 4MHz

void main()
{
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   set_tris_A(0x00);        //puerto a como salida
   output_a(0x00);          //limpiamos el puerto
  

    While(1)                    //bucle infinito
   {
   output_high(PIN_A0);
   delay_ms( 200 );            // retardo de 2s
   output_low(PIN_A0);
   delay_ms( 200 );            // retardo de 2s
   }

}
```

y las fuses con las siguientes



```
#include <16F84A.h>

#FUSES NOWDT                 	//No Watch Dog Timer
#FUSES XT                            //oscilador de cristal
#FUSES PUT                         
#FUSES NOPROTECT
#use delay(clock=4000000)
```


----------



## aguevara (Ago 28, 2008)

Gracias por tus aportaciones jhon, me han sido muy utiles


----------



## mxdanielon (Sep 26, 2008)

para proyectos escolares que no requieren mucho, te recomiendo Mikro C, es muy facil de usar. Lo que me gusta de ese programa es que te vienen ejemplos prácticos muy buenos, desde led blinking hasta comunicación USB

la versión de prueba:
http://www.mikroe.com/en/compilers/mikroc/pic/download.htm
saludos!


----------



## Jimmyisthebest (Nov 11, 2008)

yo compre el libro del pic16f84a y viene con muchos ejemplos si no quieres comprarte el libro los ejemplos practicos alomejor los puedes conseguir de la web http://www.pic16f84a.org/, en el libro vas paso a paso primero con un circuito entrenador y avanzando en la programacion del pic, este libro lo comentan mucho por el foro.


----------



## mikele (Ago 5, 2009)

hola que tal...estoy realizando practicas con microcontroladores...me falta aprender que hace cada fusible para el 16f628a , 877a y los 18f4550 y 2550, alguien sabe o tiene que hace para que sirve y cuando necesitar cada fusible de stos microcontroladores especificado en un documento o pdf...gracia por la ayuda...


----------



## j4iro (Ago 5, 2009)

hola tengo un pequño problema en el momento de simular en el proteus  en la parte baja aparece que tiene una carga del 80% incluso llegando al 95% y la simulacion la realiza en un tiempo muy lento, por decirte en un segundo de tiempo real en el simulador recien pasan como 4ms, pues bien lei que si queria que el simulador simule casi a tiempo real necesitaba tener una carga bajade alrededor del 5% ( la cual en mi caso es arriba del 80%) alguien me pudiera ayudar con este pequño inconveniente quedaria agredecido, gracias de antemano


----------



## Chico3001 (Ago 6, 2009)

Mejor les recomiendo que vean estos temas, ademas de ser mas activos tambien tratan de programacion en C para PIC

https://www.forosdeelectronica.com/f24/curso-programacion-c-microcontroladores-pic-10796/
https://www.forosdeelectronica.com/f24/ccs-c-programas-hechos-mplab-proyecto-completo-20784/

Voy a cerrar este tema para que solo quede de consulta... 

Gracias...


----------

