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 controladores  * Memoria externa

STRUCTURE DECK - FREEZING CHAINS (Yu-Gi-Oh!)

En el 2020 se realizó el  Structure Deck Voting Contest OCG para elegir el nuevo deck de estructura que se lanzaría en el 2021. Y el ganador fue el arquetipo Ice-Barrier. En el siguiente video se muestran con realidad aumentada los modelos 3D de las cartas que se pueden encontrar. Continuando con la misma temática del 2019 Konami realizó una votación para elegir el próximo Structure Deck OCG, que posteriormente se llegaría también a TCG. Se enlistaran los arquetipos participantes del que obtuvo más votos al de menos: Ice Barrier Cyber Style Gusto Trickstar Morphotronic Kuriboh Kaiju Star Seraph Tour Guide Superheavy Samurai El Structure Deck: Freezing Chains fue lanzado el 19 de febrero del 2021, incluye 46 cartas (Deck Principal de 41 cartas + Deck Extra de 5 cartas): 37 Comunes 3 Súper Raras 6 Ultra Raras 1 Tapete de Juego  El regreso de Trishula A medida que el invierno se hace más crudo, la Prisión Helada es incapaz de contener la creciente tormenta en su interior, anunciando el re