Ir al contenido principal

PRIMER PROGRAMA PCW - CCS [PIC - C]

Hola a todos, aquí les traigo la continuación de la entrada anterior de como programar en C a un PIC,  en esta ocasión podrán ver lo sencillo que es hacer un primer programa que solo srealziará la tarea de prender y apagar un led. A continuación podrán ver la estructura principal de un programa.

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#include <16F1938.h>     //PIC A USAR

//Los fusibles que usará nuestro PIC, recuerden que cambian dependiendo del PIC a usar. Y si gustan pueden escribir los fusibles de la sig manera. #FUSES INTRC_IO, NOWDT, WST_SW,...
#FUSES INTRC_IO             
#FUSES NOWDT                    
#FUSES INTRC_IO                  
#FUSES WDT_SW                    
#FUSES NOBROWNOUT                
#FUSES NOLVP                    
          
//Igualmente el cristal de cuarzo que usarán para trabajar depende de lo que necesiten
#use delay(clock=4000000)
///////////////////////////////////////

//----------------VARIABLES GLOBALES--------------
// En la entrada anterior dije que las variables globales deben estar antes de main, creo que con este ejemplo ya queda un //poco más claro donde deben estar, ademas si  no se usan el el programa cuando se ejecute marcará un erro por usar //variables que no se utilizan en el programa float valor=3.00025;
char nombre[]="Oscar Espitia";  //Normalmente se usa esto en un GLCD, LCD, comunicación serial pero esto es un ejemplo
char carga[]="Cargando";
char saludo[]="Hola Oscar";
char valor2[8];
int16 q;
int16 VoltoTemp;
float Temp;
float z;
float p;

///////////////////////////////

////////////////////////////////////////////
 //---------------LIBRERIAS EXTERNAS----------- 
//#include <lcd.c> usar librerias



///////////////////////////////////////
//---------------SUB-RUTINAS--------------
void cargando()  //Nombre de tu sub-rutina

{
//HOLA SOY UNA SUB RUTINA
if(input(pin_c0)){  //En entradas posteriores veremos para que sirve las comandos input
while(TRUE) { 

delay_us(20);

z = 20.0 * q;
p = z/1024.0;


delay_ms(100);
if(!input(pin_c0))  break;
}
}
}
//------------------------------------------


////////////////////////////////////////////
//-------PROGRAMA--------------
void main() 


////////////////////////
//-----------------PUERTOS--------------
set_tris_b(0xff);
//1 - Entradas
//0 - Salidas
//En este caso todos son entradas

/////////////////////////////////////////////

while(true) 
  { 
   output_toggle(pin_c2); //Solo hacemos que empiece a parpadear indefinidamente el led.
   delay_ms(500); 
  } 

}
//////////////////////////////////

Una vez leído todo esto si gustan pueden copiar el codigo fuente a PIC C Compiler, y ejecutarlo para ver como funciona si todo esta correctamente para esto van a la opción compile y build all y si es así podrán ver la siguiente ventana ejecutarse, se encargará de crear el archivo .hex, y si es que algo estuvo mla les marcará donde están los errores o lo warning


Si marca algo de error  103 es porque es un versión de prueba.

----------------------------------------------------------------------------------------------------------------------------------------------------------------
OK, después de haber hecho todo esto solo queda corroborarlo existen dos opciones armar el circuito en un proto board y programar con algún dispositivo como Wellon, Volnia o Pickit y ver como se prende o apaga un led.

Pero que pasa para las personas que no cuentan con un PIC o estos dispositivos para programar, pues existen diferentes programas que son básicamente simuladores que sirven para eso simular el codigo que hicimos en la parte de arriba.

El programa que yo utilizo es Proteus. 
Proteus es una compilación de programas de diseño y simulación electrónica, desarrollado por Labcenter Electronics que consta de los dos programas principales: Ares e Isis, y los módulos VSM y Electra.
Y el que nos interesa es ISIS

El Programa ISIS, Intelligent Schematic Input System (Sistema de Enrutado de Esquemas Inteligente) permite diseñar el plano eléctrico del circuito que se desea realizar con componentes muy variados, desde simples resistencias, hasta alguno que otro microprocesador o microcontrolador, incluyendo fuentes de alimentación, generadores de señales y muchos otros componentes con prestaciones diferentes. Los diseños realizados en Isis pueden ser simulados en tiempo real, mediante el módulo VSM, asociado directamente con ISIS.

PASOS PARA SIMULAR EN ISIS (PROTEUS)
  1. Primeramente ya tener instalado PROTEUS, sino es cuestión de comprarlo o descargarlo, para ya ejecutar ISIS.
  2. Una vez abierto ISIS esta será su interfaz.
  3.  Agregar todos los elementos a utilizar (PIC, led's, resistencias, etc.)
     Para esto se debe dar clik en la barra lateral izquierda a Componenet Mode (tiene forma de un amplificador operacional), y si nos vamos un poquito a la derecha estará otra barra lateral donde están la opciones P, L y dirá devices, ahí click en la letra P ahí nos abrirá un pestaña para seleccionar todos los componentes necesarios(lo único es que se tienen que escribir por su matricula o en ingles). 
  4. Unir los componentes de forma correcta. A lo que me refiero es que como en el programa seleccionamos 1 puerto para poner un led en los mismos puertos de deben colocar esos dispositivos. y para colocar GND(tierra) deben ir a la opción Terminal Mode y ahí aparecerá la opción

  5. Ahora solo queda seleccionar la ubicación de nuestro programa, para eso solo hay que dar dos click en el PIC y nos abrirá una ventana donde podremos agregar la ubicación de programa .hex, y tambien cambiar de 1 Mhz a 4 Mhz el cristal de cuarzo.

  6. Solo resta darle click al símbolo de play y ver como se prende o apaga e led si todo salió bien, sino pues no se ejecutará el programa y nos marcará errores.

Bueno eso es todo espero les ayude en algo, y recuerden pueden cambiar el dispositivo utilizado pero si lo hacen también cambian los fusibles fuera de ahí es muy similar la forma de utilizar el codigo. Hasta luego.

/////////////////////////////////////////////////////////////////////////////////////////////////////////


PARTE 3 (PRESIONAR BOTONES):

http://batiz9.blogspot.mx/2014/07/porgramar-pic-en-c-identificar-0-1.html


Comentarios

Entradas populares de este blog

PROGRAMAR EN MICROCODE (PIC BASIC PRO)[PIC]

Hola, aquí les traigo un pequeño manual de como programar un PIC en MICROCODE. Pero antes de empezar con el ejemplo les dejare un poco de teoría para que se familiaricen un poco acerca de que trata este programador. Microcóde es un lenguaje de instrucciones a nivel de hardware o estructuras de datos que intervienen en la ejecución de instrucciones de código máquina de nivel superior en las unidades centrales de procesamiento, y en la implementación de la lógica interna de muchos controladores de canal, los controladores de disco, controladores de interfaz de red, procesadores de red, unidades de procesamiento de gráficos, y otros equipos. Reside en especial de memoria de alta velocidad y traduce las instrucciones de la máquina en secuencias de operaciones detalladas a nivel de circuito. Se ayuda a separar las instrucciones de la máquina de la electrónica subyacentes de modo que las instrucciones pueden ser diseñados y alterados más libremente. También hace que sea factible constr...

PROGRAMAR EN PIC C COMPILER [CCS - PIC - C]

Para las personas que están un poco más familiarizadas a hacer programas en lenguaje C o sus derivados, en esta sección les traigo un manual de como programar un PIC usando el lenguaje C, pero como siempre un poco de teoría para que estén familiarizados un poco. PIC C Compiler  es un compilador C que contienen operadores estándar del lenguaje C y funciones incorporados en bibliotecas que son específicas a los registros de PIC, proporcionando a los desarrolladores una herramienta poderosa para el acceso al hardware las funciones del dispositivo desde el nivel de lenguaje C.  El compilador de CCS (Custom Computer Services) contiene más de 307 funciones integradas que simplifiquen el acceso al hardware, mientras que la producción eficiente y altamente optimizado código. Se incluyen funciones de hardware del dispositivo de características tales como: * Temporizadores y módulos PWM  * Convertidores A / D  * de datos on-chip EEPROM  * LCD controlado...

MPLAB IDE o X unir con CCS [PIC C]

Primera mente, quizá algunos de ustedes ya hayan tenido la posibilidad de programar en lenguaje ensamblador usando MPLAB IDE. MPLAB es un editor IDE gratuito, destinado a productos de la marca Microchip. Este editor es modular, permite seleccionar los distintos microcontroladores soportados, además de permitir la grabación de estos circuitos integrados directamente al programador. Es un programa que corre bajo Windows, Mac OS y Linux. Presenta las clásicas barras de programa, de menú, de herramientas de estado, etc. El ambiente MPLAB® posee editor de texto, compilador y simulación (no en tiempo real). Algunos software's que cuenta MPLAB son: MPLAB® X IDE MPLAB® 8 IDE MPLAB® XC8 MPLAB® XC16 MPLAB® XC32 MPLAB® C for PIC18 MCUs Hablemos un poco de: MPLAB 8 IDE La versión actual de MPLAB IDE, la versión 8.92, es la última versión de MPLAB 8 que contendrá el nuevo soporte del dispositivo. Es una aplicación de 32 bits en Microsoft Windows e incluye ...