Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PROGRAMACION DE SISTEMAS
MECATRONICOS
MECATRONICOS
UNIDAD VIRTUAL 1
Aplicar Procedimiento para Programar microcontroladores PIC
1
PROGRAMACION DE SISTEMAS
PROGRAMACION DE SISTEMAS
MECATRONICOS
MECATRONICOS
1.1.2 Assembler
Este lenguaje de programación es el único lenguaje que entienden los microcontroladores, en
pocas palabras el lenguaje máquina de los microcontroladores.
Este lenguaje trabaja con nemónicos, que son grupos de caracteres alfanuméricos que simbolizan
las ordenes o tareas a realizar. La traducción de los nemónicos a código máquina entendible por el
microcontrolador la lleva a cabo un programa ensamblador, el cual se denomina código fuente (*,
asm.). El programa ensamblador proporciona a partir de este fichero el correspondiente código
máquina, que suele tener la extensión *hex.
2
PROGRAMACION DE SISTEMAS
PROGRAMACION DE SISTEMAS
MECATRONICOS
MECATRONICOS
Imagen 1
1.1.3 Basic
Es un lenguaje de Alto Nivel, mientras otros como Assembler son de bajo nivel ¿Qué significa Alto
y Bajo Nivel?.
Se define como alto nivel aquel lenguaje que está más cerca de ser comprendido por el usuario,
(Basic, C++, etc.) Al fin y al cabo, los dos llegaran al mismo propósito, con significativas diferencias
en cuanto a la eficiencia dada por las instrucciones fáciles de memoria, es un lenguaje intuitivo y
consta de palabras o instrucciones fáciles de entender.
Por otro lado un lenguaje de bajo nivel es aquel que esta más cerca del lenguaje de maquina
(binario). Este lenguaje es utilizado en cuestiones donde la velocidad de respuesta, tiempo y
demás cuestiones muy significativas entran en juego, es decir, donde la mínima variación de un bit
cuenta, no nos referimos a un bir en cuanto a entradas, sino a bit en cada instrucción o contador
del programa (CP) que puede variar en un salto de ciclo a otro en cuestión de micro segundos.
3
PROGRAMACION DE SISTEMAS
PROGRAMACION DE SISTEMAS
MECATRONICOS
MECATRONICOS
1.1.4 Pascal
Pascal es un lenguaje de alto nivel: se parece más al lenguaje natural hablado, o al matemático,
que al lenguaje de máquina. Este nivel se alcanza gracias a una pequeña colección de mecanismos
simples pero de una gran potencia: unos permiten estructurar acciones (secuencia, selección e
iteración), otros datos (arrays, registros, ficheros), y otros hacen posible extender el lenguaje,
dotándolo en general con conceptos (datos y operaciones) semejantes a los empleados en el
razonamiento humano sobre los problemas.
La mayoría de los traductores del Pascal son compiladores el programa en Pascal se traduce de
una sola vez a lenguaje máquina antes de ser ejecutado, y en ese proceso se detectan gran
cantidad de errores de forma automática, permitiendo al programador enmendarlos antes de la
ejecución. Como ejemplo de las verificaciones que se efectúa durante la compilación, una de las
más importantes consiste en la compatibilidad de los tipos de los objetos
1.1.5 C+
El lenguaje C dispone de todas las ventajas de un lenguaje de programación de alto nivel
(anteriormente descritas) y le permite realizar algunas operaciones tanto sobre los bytes como
sobre los bits (operaciones lógicas, desplazamiento etc.). Las características de C pueden ser muy
útiles al programar los microcontroladores. Además, C está estandarizado (el estándar ANSI), es
muy portable, así que el mismo código se puede utilizar muchas veces en diferentes proyectos. Lo
que lo hace accesible para cualquiera que conozca este lenguaje sin reparar en el propósito de uso
del microcontrolador. C es un lenguaje compilado, lo que significa que los archivos fuentes que
contienen el código C se traducen a lenguaje máquina por el compilador. Todas estas
características hicieron al C uno de los lenguajes de programación más populares.
4
PROGRAMACION DE SISTEMAS
PROGRAMACION DE SISTEMAS
MECATRONICOS
MECATRONICOS
Imagen 2
Imagen 3
1.1.7 Compiladores
5
PROGRAMACION DE SISTEMAS
PROGRAMACION DE SISTEMAS
MECATRONICOS
MECATRONICOS
Imagen 4
Software de sistema: Permite gestionar y administrar los recursos relativos a la memoria, discos,
puertos, dispositivos de comunicaciones, periféricos (impresoras, pantallas, teclados). Estos
proporcionan al usuario interfaces de alto nivel, controladores, servidores, herramientas y
utilidades para el mantenimiento del sistema.
6
PROGRAMACION DE SISTEMAS
PROGRAMACION DE SISTEMAS
MECATRONICOS
MECATRONICOS
Software de aplicación: Es el que permite a los usuarios realizar tareas específicas, en muchos
casos a través de una interfaz visual de alto nivel (GUI). En otras palabras, son los programas que
se crean con los softwares de programación, para realizar numerosas tareas tanto laborales, como
administrativas, de gestión o con el objetivo simplemente de ocio, como videojuegos. En esta
categoría podríamos englobar a todo el software de gestión empresarial, de telecomunicaciones,
todas las aplicaciones ofimáticas y de control, programas específicos de cualquier área, así como
bases de datos o videojuegos.
Para este curso utilizaremos el simulador PIC Simulator IDE, en este entorno de programación
podremos realizar cada uno de los ejercicios planteados a lo largo de esta capacitación.
1.2.1 Instalación
- Instrucciones de operación entre registros de tipo Byte o (Byte - Oriented File Register
Operations)
- Instrucciones de operación entre registros de tipo Bit o (Bit - Oriented File Register Operations)
PIC Simulator IDE es un programa creado por Vladimir Soso de la empresa Oshonsoft; esta
aplicación es considerada como uno de los programas más didácticos, amigables y fácil de usar
para el aficionado y estudiante que está incursionando en la programación y desarrollo de
proyectos con microcontroladores PIC; la placa de microcontroladores PIC propuesta para
este documento ha sido elaborada para poder realizar nuestras pruebas sobre este simulador; la
distribución de los puertos por defecto están de acuerdo con este programa, asimismo la
distribución de los pines en el puerto B para controlar la pantalla LCD también han sido adecuados
para este fin.
7
PROGRAMACION DE SISTEMAS
PROGRAMACION DE SISTEMAS
MECATRONICOS
MECATRONICOS
En la figura siguiente se visualiza la ventana inicial de PIC Simulator IDE; en ella se ven las
aplicaciones principales para la programación
Barra
del PIC, contando con una barra de menú,
selector de microcontrolador y de frecuencia
de reloj, visualización de las instrucciones del
programa, compilado de lenguaje
hexadecimal paso a paso, de donde se está
ejecutando el programa.
Barra de Menú:
Sub
Secciones
En esta sección del programa contiene los
menús para poder manipular archivos de
programa, herramientas de simulación para
dar inicio, parar o finalizar simulación, así
Imagen 5
como simuladores de actuadores o entradas
de señales analógicas o digitales del programa, opciones para editar las propiedades del programa
y del microcontrolador como lo son los puertos, los osciladores.
En el espacio “Program location” se puede visualizar la ubicación actual del programa que esta
cargado en el simulador. Cualquier cambio quedará registrado en esa dirección, también en la
casilla “Microcontroller” se tiene el modelo del pic o el código con el cual lo podemos encontrar
ejemplo; si es de la familia, 14XX, 12XX, 16XX, 18XX, etc. En la casilla “Clock frecuency” se puede
observar la frecuencia del oscilador configurado, este se puede cambiar dando doble click en el
mismo.
8
PROGRAMACION DE SISTEMAS
PROGRAMACION DE SISTEMAS
MECATRONICOS
MECATRONICOS
1. Activamos el programa PIC Simulator IDE, dirígete a la pestaña Tools, luego selecciona la
herramienta BASIC Compiler
Imagen 6
2. Se abrirá una pantalla emergente parecida a la siguiente donde podemos encontrar más
herramientas y la parte para realizar el código de nuestro programa.
9
PROGRAMACION DE SISTEMAS
PROGRAMACION DE SISTEMAS
MECATRONICOS
MECATRONICOS
Imagen 7
Imagen 8
Imagen 9
10
PROGRAMACION DE SISTEMAS
PROGRAMACION DE SISTEMAS
MECATRONICOS
MECATRONICOS
guardará en tipo Bas, esto quiere decir que es la programación que nosotros podemos ver en
lenguaje humano.
5. Al guardar puede seguir trabajando, cuando necesite realizar las pruebas dele click en Tools
Compile & Assemble & Load F9 para guardar la programación en .Bas (la programación en
lenguaje hombre), .hex (programación lenguaje máquina, esta también se envía al PIC o
Microcontrolador) y .asm (programación en Assembler).
Imagen 10
11
PROGRAMACION DE SISTEMAS
PROGRAMACION DE SISTEMAS
MECATRONICOS
MECATRONICOS
Imagen 11
Las herramientas que se encuentran a en este menú son para la compilación del programa,
Guardar, cargar y compilar el programa, en estas opciones se realiza la revisión del proyecto de las
líneas de programación y de su sintaxis.
12
PROGRAMACION DE SISTEMAS
PROGRAMACION DE SISTEMAS
MECATRONICOS
MECATRONICOS
Imagen 12
La otra opción es que la línea donde se encuentra con el código erróneo se coloca en color rojo,
indicando donde está el error y así hacer más fácil la corrección del mismo.
13
PROGRAMACION DE SISTEMAS
PROGRAMACION DE SISTEMAS
MECATRONICOS
MECATRONICOS
Imagen 13
1.3.1 Simbología
A continuación, te enseñaremos algunos de los símbolos de diagramas de flujo más comunes. Para
obtener una lista más exhaustiva, accede a nuestra completa página de símbolos de diagramas de
flujo.
14
PROGRAMACION DE SISTEMAS
PROGRAMACION DE SISTEMAS
MECATRONICOS
MECATRONICOS
Definición Simbología
Terminal/Terminador
Proceso
Documento
Decisión
Datos o entrada/salida
Datos almacenados
Flecha de flujo
15
PROGRAMACION DE SISTEMAS
PROGRAMACION DE SISTEMAS
MECATRONICOS
MECATRONICOS
Comentario o anotación
Proceso predefinido
Referencia/conector dentro
de la página
Referencia/conector fuera de
la página
Tabla 1
16
PROGRAMACION DE SISTEMAS
PROGRAMACION DE SISTEMAS
MECATRONICOS
MECATRONICOS
Imagen 14
17
PROGRAMACION DE SISTEMAS
PROGRAMACION DE SISTEMAS
MECATRONICOS
MECATRONICOS
Imagen 15
18
PROGRAMACION DE SISTEMAS
PROGRAMACION DE SISTEMAS
MECATRONICOS
MECATRONICOS
Imagen 16
Imagen 17
19
PROGRAMACION DE SISTEMAS
PROGRAMACION DE SISTEMAS
MECATRONICOS
MECATRONICOS
Tipos de variables:
Bit – esta conformado por 0 y 1
Byte – tiene 8 bits y está en un rango de 0 a 255
Word – tiene 2 Byte y esta en un rango de 0 a 65,535
Long – tiene 4 byte y esta en un rando de 0 a 4,294,967,295
Single – tiene 4 byte y tiene 7 digitos de precisión.
Definición de variables:
Dim: esta palabra reservada se coloca antes de definir una variable global o local.
Ejemplo:
Imagen 18
20
PROGRAMACION DE SISTEMAS
PROGRAMACION DE SISTEMAS
MECATRONICOS
MECATRONICOS
Imagen 19
21
PROGRAMACION DE SISTEMAS
PROGRAMACION DE SISTEMAS
MECATRONICOS
MECATRONICOS
Imagen 20
1.4.6 Procedimientos
Soporte de lenguaje estructurado (procedimientos y funciones) Los procedimientos se pueden
declarar con la declaración PROC. Pueden contener hasta 5 argumentos (lista separada por comas)
y todos los tipos de datos disponibles se pueden usar para variables de argumento. Las variables
de argumento se declaran localmente, por lo que no necesitan tener nombres únicos en relación
con el resto del programa básico del usuario, lo que hace que sea muy fácil reutilizar los
procedimientos una vez escritos en otros programas básicos. Los procedimientos se pueden salir
con la instrucción EXIT.
Deben terminarse con la declaración END PROC y deben colocarse después de la instrucción END
en el programa. Las llamadas a los procedimientos se implementan con la instrucción CALL. La lista
de argumentos pasados puede contener tanto variables como constantes numéricas.
Por ejemplo:
22
PROGRAMACION DE SISTEMAS
PROGRAMACION DE SISTEMAS
MECATRONICOS
MECATRONICOS
Imagen 21
Los procedimientos son válidos para las funciones, también. Las funciones se pueden declarar con
la instrucción FUNCTION. Pueden contener hasta 5 argumentos y las variables de argumento se
declaran localmente. Las funciones se pueden salir con la instrucción EXIT y deben finalizarse con
END FUNCTION.
El nombre de la función se declara como una variable global, por lo que si se llama a la función con
la instrucción CALL, después de su ejecución la variable de función contendrá el resultado.
También se puede utilizar la forma estándar de llamadas a funciones en las instrucciones de
asignación.
Un ejemplo sencillo:
23
PROGRAMACION DE SISTEMAS
PROGRAMACION DE SISTEMAS
MECATRONICOS
MECATRONICOS
Imagen 22
El código fuente básico de un archivo externo se puede incluir en el programa actual mediante la
directiva INCLUDE. Su único argumento es una cadena que contiene la ruta a la fuente externa.
Archivo BAS.
Esta puede ser la ruta completa o solo el nombre del archivo, si el archivo externo se encuentra en
la misma carpeta que el archivo de programa básico actual. Durante el proceso de compilación, la
fuente básica externa se anexará al programa actual. Se pueden incluir varios archivos con
directivas INCLUDE independientes.
Para mantener la estructura general del código básico, se recomienda encarecidamente que el
archivo externo contenga únicamente declaraciones globales, subrutinas, procedimientos y
funciones. Aquí hay un ejemplo muy simple para la demostración:
24
PROGRAMACION DE SISTEMAS
PROGRAMACION DE SISTEMAS
MECATRONICOS
MECATRONICOS
Imagen 23
La unidad de control detecta que se ha producido una interrupción y “levanta” una bandera para
registrar esta situación; de esta forma si las condiciones que provocaron el evento desaparecen y
el circuito encargado de detectarlo desactiva la entrada de interrupción del procesador como éste
se producirá de cualquier modo coma porque ha sido registrada.
la unidad de ejecución termina con la instrucción en curso y justo antes de comenzar a ejecutar la
siguiente comprueba que se ha registrado una interrupción.
Se desencadenó un proceso que permite guardar el estado el cual el programa de locución que sea
esta una dirección especial en la memoria programada dónde está la primera instrucción de las
subrutinas de atención de interrupción cómo se ejecutan los códigos de atención de interrupción a
esta parte se le llama “consciente” de todo el proceso porque es donde se realizan las acciones
propias de la tensión a la interrupción y el programador juega su papel.
25
PROGRAMACION DE SISTEMAS
PROGRAMACION DE SISTEMAS
MECATRONICOS
MECATRONICOS
no sólo se utilizan para procesos que requieren inmediata atención sino para procesos asíncronos
siendo eficaces para permitir procesar y actuar de varias formas a la vez en base a la situación en
la realidad. (Lehmann, 2010)
Imagen 24
26
PROGRAMACION DE SISTEMAS
PROGRAMACION DE SISTEMAS
MECATRONICOS
MECATRONICOS
Bibliografía
Lehmann, G. (2010). Microcontroladores PIC 16F628A. Informa de trabajo. Guatemala, Guatemala.
Obtenido de https://intecapedu-
my.sharepoint.com/personal/sindy_delacruz_intecap_edu_gt/_layouts/15/onedrive.aspx?id=%2F
personal%2Fsindy%5Fdelacruz%5Fintecap%5Fedu%5Fgt%2FDocuments%2FInformaci%C3%B3n%2
0Personal%2FSindy%2010102018%2FMiercoles%2FMicroPICbASIC%2Epdf&par
27