Está en la página 1de 8

23/11/2018 Primeros pasos en la programación de microcontroladores PIC - tecmikro

Programación de microcontroladores PIC en mikroC PRO


Email: tecmikro@gmail.com Cel. 098 743 8877 Telf. 243 0352 Quito-Ecuador

Buscar

Primeros pasos en la programación de


microcontroladores PIC
ha cerrado el anuncio
Intentaremos no mostrarle ese
ha cerrado el anuncio
anuncio de nuevo
Denunciar este anuncio ¿Por qué este anuncio?

Requisitos
Conocimientos previos
Para que una persona pueda aprender con rapidez y facilidad los conceptos de la programacion de
microcontroladores PIC debe tener conocimientos basicos de:
Electronica digital
Computacion basica
Si usted carece de los requisitos nombrados no es aconsejable que siga adelante en la lectura de este
documento pues se le dificultara notablemente entender los conceptos explicados.

Software
mikroC PRO for PIC: ambiente de desarrollo de programación de microcontroladores PIC en
lenguaje C. En este link puedes descargar la version demo 4.1
(http://programarpicenc.com/data/uploads/files/mikroC_PRO_PIC_2010_Build.4.10.exe)
(te servirá para escribir los ejemplos durante la fase de aprendizaje).
Proteus-ISIS (opcional): simulador de aplicaciones con microcontroladores PIC
PICkit2 v2.61: lo puedes descargar desde esta pagina (http://tecmikro.com/pickit2-
programadores-usb-microcontroladores-pic).

Hardware
Computador con puerto USB y sistema operativo Windows (recomendamos desde Windows XP hasta
Windows 8.1)
Fuente de corriente directa de 5V
Microcontrolador PIC
Programador PICkit2
Elementos electronicos varios que dependen del circuito de aplicacion del microcontrolador PIC

http://programarpicenc.com/primeros-pasos-en-la-programacion-de-microcontroladores-pic/ 1/8
23/11/2018 Primeros pasos en la programación de microcontroladores PIC - tecmikro

Introducción

Un microcontrolador (abreviado μC, UC o MCU) es un circuito integrado fabricado de Silicio que puede
programarse para realizar tareas (ejecutar instrucciones) de forma automática al conectarlo a una fuente de
energia. Las instrucciones se almacenan en un espacio de memoria especificamente destinada a ese
propósito. En la siguiente imagen se aprecia el patillaje o pinout del popular PIC16F628A:

Un microcontrolador está compuesto de varios bloques funcionales, los cuales cumplen una tarea
específica; un microcontrolador incluye en su interior las tres principales unidades funcionales de una
computadora:
Unidad central de procesamiento (CPU): se encarga de ejecutar las instrucciones y realizar las
operaciones con los datos.
Memorias: FLASH para las instrucciones del programa, EEPROM (de almacenamiento
permanente) para datos y RAM (de almacenamiento temporal) para datos.
Periféricos de entrada/salida: permiten la comunicación del microcontrolador con su entorno
físico recibiendo y entregando datos en forma de señales electricas. La conexion a los perifericos se
realiza por medio de las patillas (alfileres o pines) del circuito integrado que conforma el
microcontrolador.

http://programarpicenc.com/primeros-pasos-en-la-programacion-de-microcontroladores-pic/ 2/8
23/11/2018 Primeros pasos en la programación de microcontroladores PIC - tecmikro

Terminologia
Compilador: Software que se encarga de convertir el codigo escrito en lenguaje C (lenguaje
humano) a codigo de maquina (lenguaje de maquina). El codigo en lenguaje C se conoce como codigo
fuente mientras que el codigo de maquina se conoce como codigo ejecutable.
IDE (Integrated Development Environment) Ambiente de desarrollo Integrado: software
de computador que sirve para el desarrollo de programas para microcontroladores PIC. mikroC
PRO for PIC es un IDE. Basicamente un IDE está conformado por dos partes: a) Un editor de
texto para escribir el codigo fuente y b) Un compilador.
Programador: es un dispositivo de hardware electronico diseñado para transferir el codigo
ejecutable (codigo de maquina) desde el computador hacia la memoria de programa del
microcontrolador PIC. La conexion entre el computador y el programador se realiza por medio del
puerto USB; el proceso se conoce como programacion, grabación o quemado (por esta razon el
programador tambien se suele llamar grabador o quemador).
Pin: cada una de las patillas o alfileres del microcontrolador. Por ejemplo el PIC16F628A tiene 18
pines (encapsulado DIP18).
Sintaxis: Conjunto de reglas definidas para escribir correctamente un lenguaje de programacion.
mikroC PRO for PIC tiene su propia sintaxis que es muy similar a la sintaxis del lenguaje C de
computadoras (ANSI C).
Programa: Es una secuencia de instrucciones, escritas en un determinado lenguaje de programacion
para realizar una tarea específica en un microcontrolador. En este curso se escribiran los programas
de acuerdo a la sintaxis propia de mikroC PRO for PIC.

Mi primer proyecto
Este es el primer ejemplo de como crear un proyecto practico y funcional desde el principio. El proposito es
hacer un contador de pulsos desde 0 hasta 9. Se utillizará el popular PIC16F628A, un boton pulsador
normalmente abierto para generar los pulsos manualmente y un display de 7 segmentos para mostrar el
conteo. Los pasos indicados son los que se deben seguir normalmente para crear otros nuevos proyectos:
1. Iniciar el programa mikroC PRO for PIC (utilizamos la version 4.1 que puedes descargar más arriba en
esta misma pagina) y crear un nuevo proyecto: Project > New Project. Clic en Next
2. Seleccionar el PIC16F628A en el campo Device Name. Clic en Next
3. Establecer la frecuencia de trabajo del microcontrolador en Device Clock. Se suele trabajar con una
frecuencia de 4MHz y ese es el valor que usaremos. Clic en Next
4. Crear una carpeta (folder) para el nuevo proyecto; para ello hacer clic en el simbolo al final del campo
Project File Name, esto abrirá la ventana New Project Location. Crear una carpeta en una
determinada ubicación de su elección haciendo clic en New Folder, la carpeta deberá tener un nombre
relacionado con la aplicación que vamos a crear; la llamaremos Contador. Luego de crear la carpeta
Contador hacemos doble clic en ella para ubicarnos dentro de la misma y en el campo File Name
creamos un nuevo archivo de proyecto, lo llamaremos tambien Contador (la extension propia del
archivo de proyecto es .mcppi en mikroC PRO for PIC, no hace falta escribirla porque el sistema la
añade automaticamente). Clic en Save y luego en Next.
5. En el siguiente paso solo hacemos clic en Next
6. Aunque en este ejemplo no vamos a emplear ninguna de las librerias de funciones de mikroC PRO,
dejamos seleccionada la opcion Include All (por defecto). Clic en Next
7. Un paso absolutamente necesario e imprescindible es establecer los bits de
configuracion del microcontrolador PIC. Por lo tanto en este paso seleccionamos el checkbox Open
Edit Project Window to set Configuration Bits. Clic en Finish.
8. En la ventana Edit Project establecemos los bits de configuracion de la siguiente manera y hacemos
clic en OK:
Oscillator: INTOSC: I/O on RA6/OSC2, I/O on RA7/OSC1

http://programarpicenc.com/primeros-pasos-en-la-programacion-de-microcontroladores-pic/ 3/8
23/11/2018 Primeros pasos en la programación de microcontroladores PIC - tecmikro

Watchdog Timer: Off


Power Up Timer: Enabled
Master Clear Enable: Disabled
Brown Out Detect: Enabled
Low Voltage Program: Disabled
Data EE Read Protect: Disabled
Code Protect: Off
Uno de los puntos mas importantes a tener en cuenta es la configuracion del oscilador que es un
subsistema encargado de generar la base de tiempo (reloj) para la ejecucion de las instrucciones; con
una frecuencia de 4MHz la base de tiempo (llamada ciclo de instruccion) es de 1us. Algunas
instrucciones se ejecutan en un ciclo de instruccion, es decir que el microcontrolador se demora 1us
en realizar la instruccion; por tanto, la ejecucion de las instrucciones se realiza a alta velocidad. El
PIC16F628A incluye un oscilador interno de 4MHz que es utilizado al seleccionar INTOSC: I/O on
RA6/OSC2, I/O on RA7/OSC1 para el bit Oscillator; el uso del oscilador interno es recomendable ya
que facilita armar el circuito electrico y libera dos pines del microcontrolador, de lo contrario seria
necesario agregar un cristal oscilador externo con sus elementos asociados.
El significado y funcion de los demas bits se irá aclarando a medida que profundice en su estudio de la
programacion de microcontroladores PIC.
9. Aparece la ventana del editor de texto, donde escribiremos el codigo fuente de nuestro proyecto:

http://programarpicenc.com/primeros-pasos-en-la-programacion-de-microcontroladores-pic/ 4/8
23/11/2018 Primeros pasos en la programación de microcontroladores PIC - tecmikro

//Contador.c

//Macros (simbolos equivalentes)


#define BOTON RA4_bit //BOTON es equivalente a RA4_bit
#define PRESIONADO 0 //PRESIONADO es equivalente a 0

//Función para convertir de Binario a 7 segmentos


char Bin2_7seg(char digit){
switch (digit){
case 0: return 0x3F; //0x3F es el código 7-segmentos del 0.
case 1: return 0x06; //0x06 es el código 7-segmentos del 1.
case 2: return 0x5B;
case 3: return 0x4F;
case 4: return 0x66;
case 5: return 0x6D;
case 6: return 0x7D;
case 7: return 0x07;
case 8: return 0x7F;
case 9: return 0x67;
}
}

//Declaracion de variables
char contador=0; //La variable contador es de tipo char y tiene valor inicial de 0.

//Función principal
void main(){
PORTB=0x00; //Estado inicial del puerto B.
CMCON=0x07; //Pines RA<3:0> como E/S digital.
TRISB=0x00; //Puerto B como salida.
while (1){
if (BOTON==PRESIONADO){ //Si se pulsa,
Delay_ms(10); //esperar 10ms,
if (BOTON==PRESIONADO){ //revisar si el boton sigue pulsado,
while (BOTON==PRESIONADO); //y esperar mientras siga presionado.
contador++; //Al soltar incrementar el contador,
if (contador>9) contador=0; //y reiniciarlo a 0 si supera el valor de 9.
}
}
PORTB=Bin2_7seg(contador); //Convertir y enviar al puerto B el valor
//presente en la variable contador.
}
}//Fin de la función principal

10. Una vez terminada la escritura procedemos con la compilación (la traducción del codigo anterior a
codigo de máquina). Este proceso es transparente para nosotros (lo único que observaremos serán
unos mensajes durante esta fase en la parte inferior del IDE). Para compilar debemos seleccionar el
comando Build > Build. El codigo de máquina o codigo ejecutable (se identifica como
Contador.hex) se guarda automaticamente en un archivo en la carpeta Contador que creamos en el
paso 4.
El codigo anterior es un ejemplo que se puede tomar como plantilla para la escritura de otros
proyectos. El microcontrolador PIC ejecuta las instrucciones que se encuentran dentro de la función
principal void main(){//Instrucciones...} , las partes restantes sirven como codigo
complementario para la ejecución correcta de dichas instrucciones. Los Macros tienen el proposito de

http://programarpicenc.com/primeros-pasos-en-la-programacion-de-microcontroladores-pic/ 5/8
23/11/2018 Primeros pasos en la programación de microcontroladores PIC - tecmikro

facilitar el mantenimiento y comprension del codigo; por ejemplo si se quiere emplear el pin RA7 en
lugar del pin RA4 simplemente se tiene que escribir #define BOTON RA7_bit ; también es mucho más
comprensible BOTON==PRESIONADO que RA4_bit==0 .

ha cerrado
Intentaremos no mostrarleOffer
ese
ha cerrado
elturnkey
anuncioPCB
el anuncio
anuncio de Services form
nuevo
Dejar de ver anuncio
PCB Prototyping to Assembly
¿Por qué este anuncio?
Anuncio PCB Fab & Assembly. Low price,
High Quality, On Time, No Moq, No…
PCBA Store

Get Quote

Una funcion es una agrupacion de instrucciones que luego se tratan como una nueva instruccion
dentro de la funcion principal; así Bin2_7seg(contador); es considerada como una instruccion más y
ejecutada de acuerdo a su definicion.
En mikroC PRO for PIC (así como en otros lenguajes de programación) es obligatorio declarar las
variables que se usan en la funcion principal, indicando su tipo y de forma opcional su valor inicial;
así char contador=0; es la declaracion de la variable contador como una variable de tipo caracter
(puede tomar valores entre 0 y 255) y tiene en este caso un valor inicial de 0.
11. El codigo de maquina Contador.hex tiene que ser grabado en la memoria de programa del
microcontrolador PIC de tal forma que al encenderlo ejecute las instrucciones indicadas en dicho
codigo, de no ser asi el microcontrolador PIC seria un dispositivo que no serviria para nada ya que su
memoria de programa se encuentra en blanco cuando sale de fabrica. El proceso de grabado se realiza
por medio de un programador tal como el PICkit2 (todos los detalles los puede encontrar en el
articulo Pickit2 Programador-quemador-grabador de microcontroladores PIC
(http://programarpicenc.com/articulos/pickit2-programador-quemador-grabador-de-
microcontroladores-pic/)).
12. El último paso es armar el circuito electrico del contador, teniendo en cuenta que la fuente de
alimentacion debe ser de 5V (este voltaje se puede obtener fácilmente a partir de un regulador 7805).

13. Como recomendacion importante se sugiere agregar un condensador ceramico de 0.1uF entre los
pines de alimentacion del PIC, lo cual ayudara a eliminar posibles problemas ocasionados por las
fluctuaciones rapidas de la fuente de alimentacion. Además, notese que la conexion al display es
directa (sin resistencias de por medio), lo que es posible debido a que los microcontroladores PIC
están diseñados para suministrar una corriente máxima de 25mA en cada uno de sus pines. Al
http://programarpicenc.com/primeros-pasos-en-la-programacion-de-microcontroladores-pic/ 6/8
23/11/2018 Primeros pasos en la programación de microcontroladores PIC - tecmikro

encender el circuito se observará que el display muestra el numero 0 ya que asi fue programado el
PIC. Si se presiona (y se libera) el pulsador el conteo se incrementará en una unidad hasta una cuenta
máxima de 9, en la siguiente pulsacion el conteo regresa a 0.
Para profundizar en el aprendizaje de la programación de microcontroladores PIC le recomendamos
leer nuestra serie de Articulos (http://programarpicenc.com/articulos/), donde se explican
los conceptos basicos acompañados con ejemplos practicos y faciles de probar. También puede
adquirir el libro Cómo programar en lenguaje C los microcontroladores PIC
(http://programarpicenc.com/libro-ebook-de-mikroc-pro-for-pic-en-espanol/), que
contiene el fundamento teorico mas detallado y muchos ejemplos reales minuciosamente explicados,
asi como las simulaciones en Proteus-ISIS para que pueda verificar su funcionamiento de forma
rapida y efectiva.

Intentaremosha
nocerrado
ha mostrarle
cerrado
el ese
anuncio
anuncio
el anuncio
de nuevo
Denunciar este anuncio

¿Por qué este anuncio?

eBook en formato PDF "Cómo programar microcontroladores PIC"


Guía básica para programar microcontroladores PIC en mikroC PRO. Disponible en formato PDF. A la
venta por tan sólo US$12.00

(http://programarpicenc.com/pagina-de-

compras-del-libro-ebook-de-mikroc-pro-for-pic-en-espanol/)

http://programarpicenc.com/primeros-pasos-en-la-programacion-de-microcontroladores-pic/ 7/8
23/11/2018 Primeros pasos en la programación de microcontroladores PIC - tecmikro

¡Cómpralo ya! (http://programarpicenc.com/pagina-de-compras-del-libro-ebook-de-


mikroc-pro-for-pic-en-espanol/)

tecmikro © 2009-2018 Dirección: Av. 10 de Agosto N34-130 y Atahualpa. Frente a la parada


norte El Florón del Trolebús. Quito-Ecuador

http://programarpicenc.com/primeros-pasos-en-la-programacion-de-microcontroladores-pic/ 8/8

También podría gustarte