Este documento explica cómo implementar una máquina de estados finita en un PIC usando la herramienta gráfica Qfsm. Se describe el proceso de crear el diagrama de estados en Qfsm, simularlo y exportar el código a C para compilarlo en un PIC. El ejemplo implementa una máquina de estados para controlar el movimiento de un robot con tres estados posibles: parado, adelante y atrás.
Este documento describe el manejo de excepciones en VB.net, incluyendo el control estructurado de excepciones mediante la instrucción Try-Catch-Finally. Explica que Try-Catch-Finally permite proteger bloques de código que pueden generar errores, y que los bloques Catch pueden filtrar excepciones por clase o condición. Siempre se ejecuta el código en Finally, independientemente de si se produce un error.
Este documento describe diferentes tipos de subrutinas en Visual Basic como procedimientos, funciones y subrutinas personalizadas. Explica cómo crear procedimientos privados y públicos, pasar parámetros a procedimientos por valor y referencia, y cómo crear funciones que retornan un valor. Además, proporciona ejemplos detallados de cómo implementar cada uno de estos conceptos.
Este documento presenta una introducción al programa PSeInt, incluyendo definiciones de PSeInt, diagramas de flujo y los comandos más usados en PSeInt como Según, Mientras, Repetir y Para. El documento concluye que PSeInt permite desarrollar algoritmos fundamentales para cursos introductorios de programación.
Este documento presenta una introducción al programa PSeInt, incluyendo definiciones de diagramas de flujo, explicaciones de símbolos y comandos en PSeInt. El documento concluye que PSeInt permite desarrollar y compilar algoritmos fundamentales para cursos introductorios de programación.
Este documento describe varias funciones importantes para el tratamiento de cadenas, números, formato y fechas en Visual Basic. Incluye funciones para convertir entre mayúsculas y minúsculas, eliminar espacios, obtener la longitud de una cadena, buscar subcadenas, y convertir entre cadenas y números. También cubre funciones matemáticas, de formato como moneda y porcentajes, y funciones para dar formato a fechas y horas.
Este documento presenta una introducción al programa PSeInt, incluyendo definiciones de PSeInt, diagramas de flujo y sus símbolos, y los comandos principales en PSeInt como Según, Mientras, Repetir, Para y Función. El objetivo es facilitar el aprendizaje de la programación de algoritmos usando PSeInt para estudiantes principiantes.
Este documento presenta varios temas básicos de Java que se verán a lo largo de varias clases. Incluye ejemplos de programas en Java sobre áreas de círculos, ámbito de variables, conversión de tipos, sentencias de control como if/else y switch, y bucles while. Los estudiantes deberán analizar los conceptos en cada ejemplo y guardar los programas realizados.
El documento describe diferentes estructuras de repetición en programación como ciclos, bucles y estructuras condicionales como while, for, do-while y switch. Explica que estas estructuras permiten ejecutar repetidamente un conjunto de instrucciones dependiendo de si se cumple una condición. Luego proporciona ejemplos detallados de cómo funcionan cada una de estas estructuras de control de flujo.
Este documento describe el manejo de excepciones en VB.net, incluyendo el control estructurado de excepciones mediante la instrucción Try-Catch-Finally. Explica que Try-Catch-Finally permite proteger bloques de código que pueden generar errores, y que los bloques Catch pueden filtrar excepciones por clase o condición. Siempre se ejecuta el código en Finally, independientemente de si se produce un error.
Este documento describe diferentes tipos de subrutinas en Visual Basic como procedimientos, funciones y subrutinas personalizadas. Explica cómo crear procedimientos privados y públicos, pasar parámetros a procedimientos por valor y referencia, y cómo crear funciones que retornan un valor. Además, proporciona ejemplos detallados de cómo implementar cada uno de estos conceptos.
Este documento presenta una introducción al programa PSeInt, incluyendo definiciones de PSeInt, diagramas de flujo y los comandos más usados en PSeInt como Según, Mientras, Repetir y Para. El documento concluye que PSeInt permite desarrollar algoritmos fundamentales para cursos introductorios de programación.
Este documento presenta una introducción al programa PSeInt, incluyendo definiciones de diagramas de flujo, explicaciones de símbolos y comandos en PSeInt. El documento concluye que PSeInt permite desarrollar y compilar algoritmos fundamentales para cursos introductorios de programación.
Este documento describe varias funciones importantes para el tratamiento de cadenas, números, formato y fechas en Visual Basic. Incluye funciones para convertir entre mayúsculas y minúsculas, eliminar espacios, obtener la longitud de una cadena, buscar subcadenas, y convertir entre cadenas y números. También cubre funciones matemáticas, de formato como moneda y porcentajes, y funciones para dar formato a fechas y horas.
Este documento presenta una introducción al programa PSeInt, incluyendo definiciones de PSeInt, diagramas de flujo y sus símbolos, y los comandos principales en PSeInt como Según, Mientras, Repetir, Para y Función. El objetivo es facilitar el aprendizaje de la programación de algoritmos usando PSeInt para estudiantes principiantes.
Este documento presenta varios temas básicos de Java que se verán a lo largo de varias clases. Incluye ejemplos de programas en Java sobre áreas de círculos, ámbito de variables, conversión de tipos, sentencias de control como if/else y switch, y bucles while. Los estudiantes deberán analizar los conceptos en cada ejemplo y guardar los programas realizados.
El documento describe diferentes estructuras de repetición en programación como ciclos, bucles y estructuras condicionales como while, for, do-while y switch. Explica que estas estructuras permiten ejecutar repetidamente un conjunto de instrucciones dependiendo de si se cumple una condición. Luego proporciona ejemplos detallados de cómo funcionan cada una de estas estructuras de control de flujo.
Este documento presenta el primer programa en C de un curso de programación. Explica los conceptos básicos del lenguaje C como variables, tipos de datos, operadores aritméticos y muestra el código de un programa simple que imprime "Hola Mundo".
El documento describe la estructura básica de un programa de Arduino, incluyendo las secciones setup() y loop(). Explica los bloques condicionales if, else if y switch, así como los bucles while, do y for. Se proporcionan ejemplos de cada una de estas estructuras de control de flujo para ilustrar su uso.
Los monitores son una construcción de nivel de lenguaje que encapsula datos compartidos y procedimientos para acceder a los datos dentro de una unidad de sincronización. Esto garantiza el acceso exclusivo a los datos compartidos a través de los procedimientos del monitor. Las variables de condición permiten que las hebras se bloqueen y despierten según condiciones específicas.
Este documento resume las estructuras de control básicas como secuencia, selección y repetición. Explica las estructuras IF-THEN-ELSE, SELECT-CASE, WHILE-DO, REPEAT-UNTIL y FOR para controlar el flujo de un algoritmo. Proporciona ejemplos de pseudocódigo que ilustran el uso de estas estructuras para resolver problemas como determinar si un número es positivo, negativo o nulo, realizar conversiones de unidades y sumar valores repetidamente. Concluye que las estructuras de control son útiles para solucionar problemas inform
El documento presenta información sobre estructuras de control en el lenguaje C, incluyendo condicionales, repetitivas y manejo de excepciones. Explica cómo funcionan las sentencias if, if-else, switch, while, for y try-catch. También cubre rupturas de control como break, continue, return y throw. Por último, propone cinco ejercicios prácticos sobre el uso de estas estructuras.
Este documento introduce ActionScript, el lenguaje de programación utilizado en Flash. Explica que existen tres versiones de ActionScript y que la actual es ActionScript 3, un lenguaje orientado a objetos. También describe algunos editores populares para programar con ActionScript como FlashDevelop y Eclipse, así como conceptos básicos como variables, tipos de datos y operadores.
Cursos gratis de programación en Java. Bifurcaciones, if y switch. Orientado a Grado, DAM y DAW. Otros cursos disponibles para Android, Swift, Base de datos, javascript, servicios y procesos...
Este documento presenta una introducción al software Pseint, el cual permite crear programas en pseudocódigo y generar diagramas de flujo. Explica los tipos de datos, operadores, funciones y estructuras de control disponibles en Pseint, incluyendo condicionales, repetitivas y arreglos. Finalmente, propone algunos ejercicios prácticos para aplicar los conceptos aprendidos.
Este documento presenta información sobre una práctica de programación en C++ sobre funciones portada. Explica el objetivo de usar bibliotecas, ciclos for, cout y cin. Luego proporciona ejemplos de cómo usar ciclos for para mostrar números pares, una cuenta regresiva y contar múltiplos, ilustrando el uso de esta estructura de control en C++.
Este documento describe las estructuras de control en el lenguaje de programación C. Introduce las estructuras secuenciales, selectivas y repetitivas, que permiten representar algoritmos de forma estructurada. Explica cada una de estas estructuras de control, incluyendo if/else, switch, while, do/while y for; y provee ejemplos de su uso.
TEMA Nº 8: CONTROL DE EJECUCIÓN Y MANTENIMIENTO DE SESIÓNAnyeni Garay
Este documento trata sobre el control de ejecución y mantenimiento de sesión en Java. Explica las diferentes instrucciones de control de flujo como if-else, bucles while, do-while y for, así como palabras clave como return, break y continue. También cubre temas como el operador coma, la sintaxis foreach y el uso de switch.
El documento proporciona instrucciones para crear una interfaz gráfica básica en Flash utilizando ActionScript 3. Instruye al lector en crear carpetas para el proyecto, abrir un nuevo documento de Flash, vincular las carpetas, agregar un fondo de imagen, insertar texto para el título, solicitar el nombre del usuario, dibujar un botón de ingreso y agregar una alerta. Explica cómo convertir elementos en símbolos y clips de película, y asignarles nombres de instancia.
Cursos gratis de programación en Java. JUnit. Orientado a Grado, DAM y DAW. Otros cursos disponibles para Android, Swift, Base de datos, javascript, servicios y procesos...
El documento describe los diagramas de flujo, pseudocódigo y sus estructuras de control. Explica que el pseudocódigo permite describir algoritmos sin preocuparse por la sintaxis de programación y actúa como un borrador del código. Luego detalla las principales estructuras de control como if/else, while, for y switch usadas en pseudocódigo para elegir caminos condicionales.
Estructuras de repetición en programacionSERCOMPFAST
El documento describe las estructuras de repetición for, while y do que permiten repetir bloques de código un número determinado o indeterminado de veces dependiendo de una condición. For repite un número determinado de veces dependiendo de un contador. While repite mientras se cumpla una condición. Do es similar a while pero evalúa la condición al final en lugar de al principio.
El documento proporciona instrucciones sobre sentencias de control en C++. Explica las sentencias condicionales IF, IF-ELSE y SWITCH, que permiten ejecutar código dependiendo de si se cumple una condición. También cubre las sentencias repetitivas WHILE, DO-WHILE y FOR, que permiten repetir código un número determinado de veces o mientras se cumpla una condición. Finalmente, presenta las sentencias BREAK y CONTINUE, que controlan el flujo de ejecución dentro de bucles.
Este documento presenta los elementos básicos del lenguaje de programación C++, incluyendo estructuras de control secuenciales, selectivas y repetitivas. Explica las sentencias if, switch y while para controlar el flujo del programa. También proporciona ejemplos de cómo implementar estas estructuras de control para resolver problemas comunes.
1. DFD es un programa gratuito para diseñar y depurar diagramas de flujo.
2. Incluye objetos básicos como asignación, selección y lazos, y permite crear vectores y matrices.
3. Explica los pasos básicos para crear y ejecutar un algoritmo sencillo en DFD que pide un número al usuario.
Este documento describe el funcionamiento y uso de la herramienta Real Time Target de Matlab para adquirir y generar señales en tiempo real. Explica que se requiere una tarjeta de adquisición de datos y un computador con características específicas como un compilador visual C/C++. También describe los pasos para configurar el modelo en Simulink, generar el código, y visualizar señales en tiempo real usando esta herramienta.
Este documento describe los pasos para implementar un controlador neuronal usando Matlab y una tarjeta de adquisición. Explica las herramientas de Simulink necesarias como Real Time Workshop y Real Time Windows Target para trabajar en tiempo real. También detalla los elementos requeridos como la planta, computador, tarjeta y cableado, y el procedimiento que incluye la construcción del modelo, conexión al objetivo, y verificación de la instalación del kernel en tiempo real.
Este documento presenta el primer programa en C de un curso de programación. Explica los conceptos básicos del lenguaje C como variables, tipos de datos, operadores aritméticos y muestra el código de un programa simple que imprime "Hola Mundo".
El documento describe la estructura básica de un programa de Arduino, incluyendo las secciones setup() y loop(). Explica los bloques condicionales if, else if y switch, así como los bucles while, do y for. Se proporcionan ejemplos de cada una de estas estructuras de control de flujo para ilustrar su uso.
Los monitores son una construcción de nivel de lenguaje que encapsula datos compartidos y procedimientos para acceder a los datos dentro de una unidad de sincronización. Esto garantiza el acceso exclusivo a los datos compartidos a través de los procedimientos del monitor. Las variables de condición permiten que las hebras se bloqueen y despierten según condiciones específicas.
Este documento resume las estructuras de control básicas como secuencia, selección y repetición. Explica las estructuras IF-THEN-ELSE, SELECT-CASE, WHILE-DO, REPEAT-UNTIL y FOR para controlar el flujo de un algoritmo. Proporciona ejemplos de pseudocódigo que ilustran el uso de estas estructuras para resolver problemas como determinar si un número es positivo, negativo o nulo, realizar conversiones de unidades y sumar valores repetidamente. Concluye que las estructuras de control son útiles para solucionar problemas inform
El documento presenta información sobre estructuras de control en el lenguaje C, incluyendo condicionales, repetitivas y manejo de excepciones. Explica cómo funcionan las sentencias if, if-else, switch, while, for y try-catch. También cubre rupturas de control como break, continue, return y throw. Por último, propone cinco ejercicios prácticos sobre el uso de estas estructuras.
Este documento introduce ActionScript, el lenguaje de programación utilizado en Flash. Explica que existen tres versiones de ActionScript y que la actual es ActionScript 3, un lenguaje orientado a objetos. También describe algunos editores populares para programar con ActionScript como FlashDevelop y Eclipse, así como conceptos básicos como variables, tipos de datos y operadores.
Cursos gratis de programación en Java. Bifurcaciones, if y switch. Orientado a Grado, DAM y DAW. Otros cursos disponibles para Android, Swift, Base de datos, javascript, servicios y procesos...
Este documento presenta una introducción al software Pseint, el cual permite crear programas en pseudocódigo y generar diagramas de flujo. Explica los tipos de datos, operadores, funciones y estructuras de control disponibles en Pseint, incluyendo condicionales, repetitivas y arreglos. Finalmente, propone algunos ejercicios prácticos para aplicar los conceptos aprendidos.
Este documento presenta información sobre una práctica de programación en C++ sobre funciones portada. Explica el objetivo de usar bibliotecas, ciclos for, cout y cin. Luego proporciona ejemplos de cómo usar ciclos for para mostrar números pares, una cuenta regresiva y contar múltiplos, ilustrando el uso de esta estructura de control en C++.
Este documento describe las estructuras de control en el lenguaje de programación C. Introduce las estructuras secuenciales, selectivas y repetitivas, que permiten representar algoritmos de forma estructurada. Explica cada una de estas estructuras de control, incluyendo if/else, switch, while, do/while y for; y provee ejemplos de su uso.
TEMA Nº 8: CONTROL DE EJECUCIÓN Y MANTENIMIENTO DE SESIÓNAnyeni Garay
Este documento trata sobre el control de ejecución y mantenimiento de sesión en Java. Explica las diferentes instrucciones de control de flujo como if-else, bucles while, do-while y for, así como palabras clave como return, break y continue. También cubre temas como el operador coma, la sintaxis foreach y el uso de switch.
El documento proporciona instrucciones para crear una interfaz gráfica básica en Flash utilizando ActionScript 3. Instruye al lector en crear carpetas para el proyecto, abrir un nuevo documento de Flash, vincular las carpetas, agregar un fondo de imagen, insertar texto para el título, solicitar el nombre del usuario, dibujar un botón de ingreso y agregar una alerta. Explica cómo convertir elementos en símbolos y clips de película, y asignarles nombres de instancia.
Cursos gratis de programación en Java. JUnit. Orientado a Grado, DAM y DAW. Otros cursos disponibles para Android, Swift, Base de datos, javascript, servicios y procesos...
El documento describe los diagramas de flujo, pseudocódigo y sus estructuras de control. Explica que el pseudocódigo permite describir algoritmos sin preocuparse por la sintaxis de programación y actúa como un borrador del código. Luego detalla las principales estructuras de control como if/else, while, for y switch usadas en pseudocódigo para elegir caminos condicionales.
Estructuras de repetición en programacionSERCOMPFAST
El documento describe las estructuras de repetición for, while y do que permiten repetir bloques de código un número determinado o indeterminado de veces dependiendo de una condición. For repite un número determinado de veces dependiendo de un contador. While repite mientras se cumpla una condición. Do es similar a while pero evalúa la condición al final en lugar de al principio.
El documento proporciona instrucciones sobre sentencias de control en C++. Explica las sentencias condicionales IF, IF-ELSE y SWITCH, que permiten ejecutar código dependiendo de si se cumple una condición. También cubre las sentencias repetitivas WHILE, DO-WHILE y FOR, que permiten repetir código un número determinado de veces o mientras se cumpla una condición. Finalmente, presenta las sentencias BREAK y CONTINUE, que controlan el flujo de ejecución dentro de bucles.
Este documento presenta los elementos básicos del lenguaje de programación C++, incluyendo estructuras de control secuenciales, selectivas y repetitivas. Explica las sentencias if, switch y while para controlar el flujo del programa. También proporciona ejemplos de cómo implementar estas estructuras de control para resolver problemas comunes.
1. DFD es un programa gratuito para diseñar y depurar diagramas de flujo.
2. Incluye objetos básicos como asignación, selección y lazos, y permite crear vectores y matrices.
3. Explica los pasos básicos para crear y ejecutar un algoritmo sencillo en DFD que pide un número al usuario.
Este documento describe el funcionamiento y uso de la herramienta Real Time Target de Matlab para adquirir y generar señales en tiempo real. Explica que se requiere una tarjeta de adquisición de datos y un computador con características específicas como un compilador visual C/C++. También describe los pasos para configurar el modelo en Simulink, generar el código, y visualizar señales en tiempo real usando esta herramienta.
Este documento describe los pasos para implementar un controlador neuronal usando Matlab y una tarjeta de adquisición. Explica las herramientas de Simulink necesarias como Real Time Workshop y Real Time Windows Target para trabajar en tiempo real. También detalla los elementos requeridos como la planta, computador, tarjeta y cableado, y el procedimiento que incluye la construcción del modelo, conexión al objetivo, y verificación de la instalación del kernel en tiempo real.
El documento describe los pasos para desarrollar una aplicación basada en microcontroladores, incluyendo crear el diseño, escribir el firmware, compilar el software, probar el código, grabar el código en el microcontrolador y verificar que funcione correctamente. También describe el uso de la herramienta de desarrollo MPLAB IDE para escribir, compilar y depurar código para microcontroladores PIC.
1) El documento presenta una introducción a los cursos sobre microcontroladores, agradeciendo a los lectores por descargar el libro y compartir conocimientos.
2) Explica la evolución del autor en el aprendizaje de programación de microcontroladores, desde ensamblador hasta lenguajes de alto nivel como C.
3) Detalla los programas y herramientas necesarias para programar microcontroladores, incluyendo MPLAB IDE, compiladores C, simuladores y programadores.
Este documento presenta una introducción a la programación de microcontroladores PIC. Explica que el autor encontró diferentes software y lenguajes para programarlos, desde ensamblador hasta C. También describe los programas y hardware necesarios para programar PICs, incluyendo MPLAB IDE, el compilador CCS C y programadores. Finalmente, presenta ejemplos de código C para implementar un contador de 0 a 9 y uno de 00 a 99 usando interrupciones de timer.
Este documento introduce el concepto de máquinas de estado y cómo se pueden implementar con Arduino. Explica qué es una máquina de estado y cómo se pueden modelar estados y transiciones entre estados. Luego, presenta ejemplos de máquinas de estado como un contador y cómo reescribir el sketch de parpadeo de Arduino como una máquina de estado de dos estados. Finalmente, muestra cómo implementar una máquina de estado de parpadeo de LED en código C para Arduino.
Este documento describe el uso de la herramienta de desarrollo MPLAB IDE para programar microcontroladores PIC. Explica cómo crear proyectos, escribir código, compilar, simular y depurar programas para PICs usando MPLAB. También presenta un ejemplo sencillo de un programa que copia los datos del Puerto A al Puerto B de un PIC16F84A.
Este documento proporciona instrucciones sobre cómo depurar programas en C usando el entorno de desarrollo Dev-C++. Explica cómo compilar y ejecutar programas en modo de depuración, colocar puntos de ruptura, inspeccionar variables y ejecutar el código paso a paso para identificar errores.
EjemploJInternalFrame
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55 import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
public class EjemploJInternalFrame extends JInternalFrame {
/* ÉSTE MAIN LO GENERA ECLIPSE PARA PRUEBAS, LO DEJO
* COMENTADO PORQUE YA ESTÁ FUNCIONANDO Y SE EJECUTARÁ
* DENTRO DE UN JDesktopPane COMO TODO BUEN JInternalFrame
* TAMBIÉN SE PUEDE EJECUTAR DENTRO DE OTROS PANELES
* PERO ESO NO SE SUELE UTILIZAR.
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
EjemploJInternalFrame frame = new EjemploJInternalFrame();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}*/
// ÉSTE ES EL CONSTRUCTOR DE LA CLASE
public EjemploJInternalFrame() {
// coordenadas con las dimensiones de la ventana
setBounds(100, 100, 245, 134);
// disposición de capas a nulo para poder posicionar
// con coordenadas en vez de con el esquema determinado
getContentPane().setLayout(null);
// un etiqueta...
JLabel lblstoEsUna = new JLabel("\u00C9sto es una ventana interna...");
lblstoEsUna.setBounds(10, 11, 333, 14);
getContentPane().add(lblstoEsUna);
// el botón que cierra ésta ventana interna
JButton btnAprietaAquPara = new JButton("Aprieta aqu\u00ED para cerrar");
btnAprietaAquPara.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// ésto se ejecuta cuando se aprieta el botón
// manda la clase a la basura,
// con lo que se cierra la ventana
dispose();
}
});
btnAprietaAquPara.setBounds(10, 36, 209, 58);
getContentPane().add(btnAprietaAquPara);
}
}
El documento describe la clase Swing en Java. Swing provee componentes gráficos como botones y tablas. Swing hereda el manejo de eventos de AWT. El documento también describe controles Swing básicos como JLabel, JTextField y JButton, explicando cómo crearlos e incluirlos en una ventana. Finalmente, explica el uso de JOptionPane para ingresar y mostrar datos sin usar un formulario.
El documento describe el desarrollo de una aplicación de cajero automático en Eclipse usando formularios. El objetivo era aplicar conocimientos sobre formularios en Eclipse. Se creó un proyecto en Eclipse con dos formularios, uno para inicio de sesión y otro para simular las funciones de un cajero. El formulario de inicio de sesión incluye campos para usuario y contraseña. El formulario del cajero permite depósitos, retiros y muestra el saldo actual.
Reglas de Oro para el Desarrollo con Windows Vistajuliocasal
Este documento presenta 10 reglas para el desarrollo de aplicaciones para Windows Vista. Cubre temas como diseño de interfaz de usuario, seguridad, compatibilidad con Aero Glass, uso de controles estándar, integración con características como UAC y transacciones NTFS, y verificación de la versión de Windows. También proporciona consejos sobre el uso de temas, fuentes y gráficos consistentes con Vista.
El documento describe los conceptos básicos de los algoritmos, incluyendo su definición, características, y los pasos para resolver problemas mediante computadoras utilizando algoritmos. Explica herramientas como diagramas de flujo y pseudocódigo para diseñar algoritmos, y las tres estructuras básicas de programación: secuencia, selección y repetición.
Curso MPLAB pic 4 compilando y simulando el programa 10pRuderocker Billy
Este documento describe cómo compilar y simular un programa para un microcontrolador. Explica que es importante compilar y probar el programa periódicamente para detectar errores tempranamente. Detalla los pasos para compilar el código y revisar los errores reportados, así como las herramientas disponibles en la interfaz para simular el programa y revisar el estado de los registros a lo largo de la simulación. Finalmente, sugiere modificar el código de ejemplo para encender varios LEDs simultáneamente y simular el funcionamiento de botones y switches conectados al
Este documento describe los pasos para configurar un PLC y crear un programa básico. Incluye 1) crear un proyecto SIMATIC y configurar la conexión al PLC real o simulado, 2) configurar el hardware del PLC incluyendo la CPU y módulos, 3) crear símbolos y un programa básico en OB1, y 4) descargar el programa al PLC.
Este documento describe patrones y métodos de programación para sistemas embebidos, incluyendo el patrón Singleton, el anti-patrón Código Espagueti, las máquinas de estados y los autómatas finitos. También presenta ejemplos de cómo modelar el comportamiento de un sistema usando diagramas de estados y programar un autómata finito para controlar una luz frontal.
Proyecto final MODELADO DE ROBOTS UPC TABASCODave R Rdez
Este documento presenta el modelado dinámico de robots manipuladores de 2 grados de libertad (2GDL), 3GDL y cartesianos utilizando MatLab. Incluye la expresión del modelo dinámico para cada tipo de robot, así como el código para simular el control proporcional derivativo (PD) de un robot 2GDL y 3GDL. Finalmente, muestra las respuestas del sistema para validar los modelos dinámicos.
El documento proporciona instrucciones sobre cómo depurar programas en C usando el entorno de desarrollo Dev-C++. Explica cómo compilar y ejecutar programas en modo de depuración, colocar puntos de ruptura, inspeccionar variables y ejecutar el código paso a paso para identificar errores. También cubre temas como suministrar parámetros y las diferencias entre ejecutar el siguiente paso versus modo paso a paso.
Similar a Microcontroladores PIC: Implementación de una maquina de estados en un PIC (20)
Este manual describe diferentes métodos para el diseño de sistemas electroneumáticos avanzados, incluyendo métodos directos, de bandera, cascada, paso a paso mínimo y máximo. Incluye secciones sobre secuencias, controles lógicos programables y diagnóstico de fallas. El documento proporciona ejemplos y ejercicios para aplicar estos métodos.
Este documento trata sobre controladores lógicos programables (PLC). Presenta una introducción a los PLC, incluyendo su concepto, ventajas, campos de aplicación, estructura y equipos de programación. También clasifica los diferentes tipos de PLC y describe su uso en tableros de control industrial.
El documento consiste en una lista repetida de la dirección web www.FreeLibros.com en más de 200 líneas consecutivas. Proporciona poca información sobre el contenido del sitio web, pero indica que la dirección www.FreeLibros.com es el tema principal del documento.
Este documento presenta una introducción a los controladores lógicos programables (PLCs). Explica que un PLC es un equipo que puede tomar información del mundo exterior, procesarla realizando operaciones lógicas y matemáticas, y ejecutar acciones programadas como respuesta. Describe los elementos básicos de un sistema PLC, incluyendo la unidad central de procesamiento, memoria, módulos de entrada y salida, y dispositivos de entrada y salida. También explica conceptos como el cableado de dispositivos de entrada como interruptores, sens
Este documento presenta una introducción a los autómatas programables (PLC), incluyendo su historia, ventajas e inconvenientes. Explica la estructura interna y externa de los PLC, sus áreas de memoria y modos de funcionamiento. Finalmente, resume las instrucciones básicas de programación para PLC como operadores lógicos, temporizadores, contadores y saltos.
The document is a system manual that provides information about installing, programming, and configuring S7-200 SMART CPUs and expansion modules, including an overview of the products, new features, communication options, and instructions for connecting to a CPU and creating a sample program.
Siemens' SIMATIC S7-200 SMART PLC offers an affordable and flexible automation solution for developing markets. It provides a range of CPU modules with integrated I/O and communication ports. Additional I/O and communication can be added via cost-effective signal boards. The PLC uses a high-speed processor and user-friendly software to provide powerful motion control, networking, and programming capabilities despite its low cost. It can be integrated with other Siemens products to create complete automation solutions for applications like packaging machines.
El documento describe diferentes métodos para variar la velocidad de motores eléctricos de corriente alterna de dos o tres velocidades, incluyendo el uso de dos bobinados independientes, la conexión Dahlander y variadores de frecuencia electrónicos. Se explican circuitos de potencia y mando para cada método y se proporcionan ejemplos de relaciones de velocidad que se pueden lograr.
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...SANTIAGO PABLO ALBERTO
El documento trata sobre buses industriales y de campo. Contiene 16 prácticas sobre diferentes buses como Profibus, Interbus, DeviceNet, ControlNet, DH+ y RIO, Ethernet, MPI y AS-i utilizando equipos Siemens y Rockwell Automation. El autor es José Miguel Rubio Calin, ingeniero técnico industrial que ha desarrollado las prácticas para su uso en centros de formación.
PLC y Electroneumática: Electricidad y Automatismo eléctrico por Luis Miguel...SANTIAGO PABLO ALBERTO
Este documento trata sobre electricidad y automatismos eléctricos. Explica conceptos básicos como la generación, transporte y medición de la corriente eléctrica, así como los componentes pasivos como resistencias, bobinas y condensadores. También analiza circuitos eléctricos en corriente continua y alterna monofásica, incluyendo cálculos, leyes y métodos de resolución. Por último, introduce conceptos de electromagnetismo.
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...SANTIAGO PABLO ALBERTO
Este documento presenta un manual sobre el diseño y desarrollo de circuitos impresos utilizando el software libre Kicad. Explica conceptos básicos como footprints, pads, pistas, capas y librerías. Incluye instrucciones para la instalación de Kicad en Windows y Linux, y guías detalladas sobre la edición de esquemas, la creación de la placa de circuito impreso y el diseño de pistas.
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...SANTIAGO PABLO ALBERTO
Este documento describe las condiciones de uso de una tesis protegida por derechos de autor. Se requiere reconocer los derechos del autor y citarlo correctamente. No se puede usar la tesis con fines comerciales ni distribuirla sin permiso.
Este documento presenta información sobre la documentación técnica necesaria para proyectos de automatización. Explica que la documentación debe incluir planos de instalación, diagramas de bloques, esquemas de circuitos, diagramas y tablas, y planos de conexiones. Además, detalla normas para la documentación como IEC 61082 e IEC 60617 y proporciona detalles sobre la identificación de componentes a través de códigos normalizados.
Electrónica digital: Introducción a la Lógica Digital - Teoría, Problemas y ...SANTIAGO PABLO ALBERTO
Este documento presenta un libro sobre electrónica digital que introduce conceptos básicos de lógica digital como sistemas de numeración, representación de números, codificación de información, álgebra de conmutación y funciones lógicas básicas. El libro fue desarrollado por un equipo de 11 profesores e ingenieros de la Universidad Nacional de Educación a Distancia y está destinado a estudiantes de ingeniería eléctrica y electrónica.
1. Introduccion a las excavaciones subterraneas (1).pdfraulnilton2018
Cuando las excavaciones subterráneas son desarrolladas de manera artesanal, se conceptúa a la excavación como el “ que es una labor efectuada con la mínima sección posible de excavación, para permitir el tránsito del hombre o de
cémilas para realizar la extracción del material desde el
frontón hasta la superficie
Cuando las excavaciones se ejecutan controlando la sección de excavación, de manera que se disturbe lo menos posible la
roca circundante considerando la vida útil que se debe dar a la roca, es cuando aparece el
concepto de “ que abarca,
globalmente, al proceso de excavación, control de la periferia, sostenimiento, revestimiento y consolidación de la excavación
Los puentes son estructuras esenciales en la infraestructura de transporte, permitiendo la conexión entre diferentes
puntos geográficos y facilitando el flujo de bienes y personas.
ascensor o elevador es un sistema de transporte vertical u oblicuo, diseñado...LuisLobatoingaruca
Un ascensor o elevador es un sistema de transporte vertical u oblicuo, diseñado para mover principalmente personas entre diferentes niveles de un edificio o estructura. Cuando está destinado a trasladar objetos grandes o pesados, se le llama también montacargas.
Metodología - Proyecto de ingeniería "Dispensador automático"cristiaansabi19
Esta presentación contiene la metodología del proyecto de la materia "Introducción a la ingeniería". Dicho proyecto es sobre un dispensador de medicamentos automáticos.
Focos SSO Fin de Semana del 31 MAYO A al 02 de JUNIO de 2024.pdf
Microcontroladores PIC: Implementación de una maquina de estados en un PIC
1. www.aquihayapuntes.com
Implementación de
una Máquina de
Estados Finita en un
PIC
Ejemplo de cómo implementar una máquina de estados
en un Microcontrolador PIC utilizando Qfsm una
herramienta gráfica de diseño de Maquinas de Estados
Finitas.
Biblioman
03/09/2011
2. Implementación de una Máquina de Estados Finita en un PIC
Biblioman www.aquihayapuntes.com Página 2
Introducción
En este pequeño tutorial vamos a ver lo fácil que es crear una Máquina de Estados
Finita e implementar el código resultante en un Microcontrolador. La teoría de lo que
es una máquina de estados y como implementarla a través del DTE (Diagrama de
Transiciones de Estados) ya se explico en este artículo, por lo que si no lo habéis leído
todavía recomiendo su lectura antes de empezar a leer este.
Para ayudarnos en el diseño de la Máquina de Estados y la posterior codificación en C
nos vamos a ayudar de una herramienta gráfica concretamente Qfsm, un proyecto
Multiplataforma de software libre realizado con Qt .
Como ejemplo vamos hacer el del movimiento del robot visto en el primer artículo (así
sirve de comparación). Por lo que el diagrama de estados será el mismo, lo que vamos
a ver ahora es como crearlo con este IDE.
Creación del Diagrama de Estados
Para crear una nueva máquina de estados hacemos clic en File ->New
3. Implementación de una Máquina de Estados Finita en un PIC
Biblioman www.aquihayapuntes.com Página 3
Lo más importante en la ventana que nos aparece es lo que está dentro de los
recuadros Moore y Mealy. En el recuadro Moore pondremos el número de salidas y el
nombre de estas que tendrá el Autómata y en definitiva nuestro PIC. Las entradas las
pondremos en el apartado para Mealy, las salidas aquí no hace falta ponerlas porque
al final lo que vamos a implementar es un Autómata de Moore.
Una vez que tengamos creada la Máquina de Estados deberemos incluir los diferentes
estados que tendrá el autómata, para ello hacemos clic en State-> New o pinchando
directamente en el icono que hay en la barra de herramientas.
4. Implementación de una Máquina de Estados Finita en un PIC
Biblioman www.aquihayapuntes.com Página 4
En esta ventana pondremos: en la caja de texto identificada como Name el nombre
con el que queremos identificar el estado (es solo una etiqueta) el estado se identifica
realmente por el número en binario que hay en la caja de texto Code, (al crear el
estado ya se asigna un número por defecto). En Moore Outpts pondremos la salida de
Moore que queremos asociar al estado que acabamos de crear.
Una vez hecho esto el siguiente paso es unir los estados por medio de transiciones,
para ello hacemos clic en Add Transition en la barra de herramientas, después
hacemos clic en el estado donde queremos iniciar la transición y arrastramos la flecha
al estado de destino.
Repetimos el proceso con cada uno de los estados y transiciones que tenga nuestro
autómata.
5. Implementación de una Máquina de Estados Finita en un PIC
Biblioman www.aquihayapuntes.com Página 5
En el caso de nuestro ejemplo (el movimiento del robot) quedaría así:
Una vez creado muestro diagrama de estados podemos chequearlo, para ello hacemos
clic en Machine-> Integrity Check, nos aparecerá la siguiente ventana:
6. Implementación de una Máquina de Estados Finita en un PIC
Biblioman www.aquihayapuntes.com Página 6
Donde sí nuestro autómata es correcto aparecerán con una aspa verde los diferentes
chequeos realizados. Este tipo de test nos sirve para saber si nuestro autómata es
determinista, es decir, que no tenga estados y condiciones ambiguas, el diseño lógico
es responsabilidad nuestra y la aplicación no funcionará correctamente si está mal
diseñado, realmente está es la única complicación que hay, todo lo demás es un
proceso mecánico e igual para cualquier programa que queramos hacer.
Simulando el diagrama de Estados
Una vez creado el diagrama de estados podemos simularlo desde el propio IDE, para
ello hacemos clic en Machine-> Simulate… o directamente desde el botón Simulate
que hay en la barra de herramientas, nos aparecerá la siguiente ventana:
La simulación empezará en el estado de inicio o reset, representándose por medio de
un cuadrado de color rojo el estado en el que nos encontramos, a partir de aquí
meteremos las entradas en la caja de texto que pone Inputs y podremos ver la
evolución de los estados.
7. Implementación de una Máquina de Estados Finita en un PIC
Biblioman www.aquihayapuntes.com Página 7
Creación del programa en C
Una vez comprobado que nuestra máquina de estados funciona correctamente
exportaremos el código, el IDE permite la exportación directa a diferentes lenguajes de
descripción hardware como: AHDL, VHDL, Verilog HDL, etc. pero no tiene la opción (de
momento) de exportar el código a un lenguaje de alto nivel como el C que pueda ser
compilado para un microcontrolador, pero no importa mucho ya que el hacer la
portabilidad manualmente resulta fácil.
Para ello seleccionaremos exportar a AHDL que es un lenguaje de Descripción
Hardware propietario de Altera usado para la programación de CPLDs y FPGAs, el por
qué seleccionar AHDL y no otro es porque este tiene la ventaja de que su sintaxis es
parecida al lenguaje C.
8. Implementación de una Máquina de Estados Finita en un PIC
Biblioman www.aquihayapuntes.com Página 8
El código AHDL generado por el IDE para nuestro ejemplo es el siguiente:
% This file was generated by %
% Qfsm Version 0.52 %
% (C) Stefan Duffner, Rainer Strobel %
SUBDESIGN Ejemplo_robot
(clock, reset :INPUT;
I1,I0 :INPUT;
:OUTPUT;
M1,M2 :OUTPUT;)
VARIABLE
fsm : MACHINE OF BITS(s0, s1)
WITH STATES (
Para = B"00",
Adel. = B"01",
Atras = B"10");
reset_async : NODE;
_asyncM1, _asyncM2 : NODE;
BEGIN
reset_sync = DFF(reset,clock,VCC,VCC);
fsm.reset = reset_sync;
fsm.clk = clock;
M1 = DFF(M1_async,clock,VCC,VCC);
M2 = DFF(M2_async,clock,VCC,VCC);
CASE fsm IS
WHEN Para =>
IF (I1,I0) == B"10" THEN
END IF;
IF (I1,I0) == B"01" THEN
fsm = Adel.;
(_asyncM1, _asyncM2) = B"01";
9. Implementación de una Máquina de Estados Finita en un PIC
Biblioman www.aquihayapuntes.com Página 9
END IF;
IF (I1,I0) == B"11" THEN
fsm = Atras;
(_asyncM1, _asyncM2) = B"10";
END IF;
IF (I1,I0) == B"00" THEN
END IF;
WHEN Adel. =>
IF (I1,I0) == B"00" THEN
END IF;
IF (I1,I0) == B"01" THEN
END IF;
IF (I1,I0) == B"10" THEN
fsm = Para;
(_asyncM1, _asyncM2) = B"00";
END IF;
IF (I1,I0) == B"11" THEN
fsm = Atras;
(_asyncM1, _asyncM2) = B"10";
END IF;
WHEN Atras =>
IF (I1,I0) == B"10" THEN
fsm = Para;
(_asyncM1, _asyncM2) = B"00";
END IF;
IF (I1,I0) == B"00" THEN
END IF;
IF (I1,I0) == B"11" THEN
END IF;
IF (I1,I0) == B"01" THEN
10. Implementación de una Máquina de Estados Finita en un PIC
Biblioman www.aquihayapuntes.com Página 10
fsm = Adel.;
(_asyncM1, _asyncM2) = B"01";
END IF;
END CASE;
END;
Y el código resultante una vez portado a C para el compilador de CCS será el siguiente:
//////////////////////////////////////////////////////////////////////
//Ejemplo de Autómata de MOORE. Implementado en un PIC
//
//Basado en el código generado por Qsfm.
//
//WWW.AQUIHAYAPUNTES.COM
//////////////////////////////////////////////////////////////////////
#include <16F877.h>
#FUSES NOWDT, XT, NOPUT, PROTECT, NOBROWNOUT, NOLVP, NOCPD, NOWRT,
NODEBUG
#use delay(clock=20000000)
//Definición de registros
#byte PORTA=0x05
#byte PORTB=0x06
#bit RB0=PORTB.0
#bit RB1=PORTB.1
//Definición de los tres estados posibles.
#DEFINE PARA 0
#DEFINE ADELANTE 1
#DEFINE ATRAS 2
//Función principal.
void main()
{
//Inicialización de registros.
set_tris_b (0x00);//RB0 como salida
RB0=0;
RB1=0;
//Declaración de variables de la Máquina de estados.
int ESTADO=0;
while(true){
switch(ESTADO)
{
case PARA:
{
11. Implementación de una Máquina de Estados Finita en un PIC
Biblioman www.aquihayapuntes.com Página 11
// if (PORTA==2);
if (PORTA==1){
ESTADO=ADELANTE;
RB0=1;
RB1=0;
}
if (PORTA==3){
ESTADO=ATRAS;
RB0=0;
RB1=1;
}
//if (PORTA==0);
break;
}
case ADELANTE:
{
// if (PORTA==0);
// if (PORTA==1);
if (PORTA==2){
ESTADO=PARA;
RB0=0;
RB1=0;
}
if (PORTA==3){
ESTADO=ATRAS;
RB0=0;
RB1=1;
}
break;
}
case ATRAS:
{
if (PORTA==2){
ESTADO=PARA;
RB0=0;
RB1=0;
}
// if (PORTA==0);
// if (PORTA==3);
if (PORTA==1){
ESTADO=ADELANTE;
RB0=1;
RB1=0;
}
break;
}
default: break;
}
}
}
12. Implementación de una Máquina de Estados Finita en un PIC
Biblioman www.aquihayapuntes.com Página 12
La parte del código comentado son sentencias if que genera el IDE y que se pueden
eliminar una vez optimizado un poco el código generado.
Circuito final
Una vez compilado el código con CCS tendremos como siempre un .HEX que podremos
programar en el PIC y probar en un circuito real o simularlo en Proteus.
Fuentes de Información
qfsm
Qt
CCS Custom Computer Services
En el foro tenéis el .DTE y .DNS del ejemplo y más ejemplos de usuarios del foro que
han realizado su propia máquina de estados, como el proyecto de la lavadora del
amigo UbunPIC.
Como siempre espero vuestras sugerencias al respecto en el foro.
Un saludo
13. Implementación de una Máquina de Estados Finita en un PIC
Biblioman www.aquihayapuntes.com Página 13
Marcas registradas
Las marcas citadas en este artículo así como los programas mostrados en las imágenes
procedentes de capturas de pantallas pertenecen a sus respectivos propietarios, su
utilización en este artículo es con fines educativos y sin ánimo de lucro.
Licencia
Autor de este artículo: Biblioman
Versión: 1.01
Página Web: http:www.aquihayapuntes.com
Email: email.Biblioman@gmail.com
Este artículo esta bajo una licencia Creative Commons: Reconocimiento-No Comercial-
Compartir bajo la misma licencia.