Este documento presenta información sobre los microcontroladores PIC16F87X. En 3 oraciones o menos:
El documento describe las características y periféricos de los microcontroladores PIC16F87X, incluyendo su arquitectura Harvard de 8K de memoria FLASH, 368 bytes de RAM y 256 bytes de EEPROM. Además, explica los tipos de datos, operadores, variables, funciones y declaraciones de control en lenguaje C para programar estos microcontroladores. El documento es parte de una serie de temas sobre programación en C de los microcontroladores P
Este documento proporciona información sobre las características y periféricos de la familia de microcontroladores PIC16F87X, así como sobre el lenguaje C para programar estos microcontroladores. Se describen los tipos de datos, constantes, variables, operadores, funciones y declaraciones de control soportadas por el compilador CCS para esta familia de PICs.
Este documento presenta una guía de tres pasos para resolver problemas de programación: 1) Enunciado y delimitación del hardware, 2) Diagrama de flujo, 3) Elaboración del lenguaje ensamblador. Explica cada paso en detalle y proporciona ejemplos de código ensamblador para tres ejercicios de programación de microcontroladores.
Este documento describe el módulo de conversión analógico a digital (A/D) de un microcontrolador. Explica los registros relacionados con el módulo A/D, las opciones para la fuente del reloj de conversión, y cómo seleccionar y leer canales analógicos en C. También incluye ejemplos de código C para medir canales analógicos y aplicaciones como un termómetro digital.
Este documento trata sobre el módulo USART y la comunicación serial asíncrona. Introduce el protocolo RS-232, explica cómo funcionan el transmisor y receptor asíncronos a nivel de hardware, y describe la configuración y uso del módulo USART en el lenguaje C, incluyendo funciones para la transmisión y recepción de datos.
EJERCICIOS TEMA 1. MICROCONTROLADORES II EN CLuis Zurita
Este programa implementa un contador de dos dígitos ascendente en los displays multiplexados de un microcontrolador PIC. Muestra los valores del contador en los displays y los incrementa cada vez que se presiona un botón. Evalua si ha alcanzado el límite máximo para reiniciar el contador.
Curso de lenguaje c para microcontroladores pic dia 1(2)(2)(2)(2)(2)(2)Franz Amaya
Este documento describe las características y funcionalidades del microcontrolador PIC16F877, incluyendo su arquitectura, memoria, puertos de entrada y salida, periféricos, tipos de datos soportados y más. Explica cómo configurar los puertos como entrada o salida y cómo acceder a bits individuales. También presenta ejemplos de código para encender LEDs y enviar secuencias de datos a puertos.
Este documento presenta información sobre el módulo convertidor analógico a digital (A/D) de un microcontrolador. Explica conceptos como voltajes de referencia, registros relacionados, selección del reloj de conversión, tiempos de adquisición y conversión, ciclos de conversión, formato de resultados y pasos para realizar una conversión A/D. También presenta ejemplos de uso del módulo A/D en el lenguaje C.
El documento contiene varios temas relacionados con el uso de microcontroladores, incluyendo rutinas temporizadas, enmascaramiento de datos, uso de llamadas a subrutinas, tablas y multiplexación de displays. Explica conceptos como el almacenamiento del contador de programa en la pila al llamar a una subrutina y cómo generar retardos por software sin usar el temporizador interno.
Este documento proporciona información sobre las características y periféricos de la familia de microcontroladores PIC16F87X, así como sobre el lenguaje C para programar estos microcontroladores. Se describen los tipos de datos, constantes, variables, operadores, funciones y declaraciones de control soportadas por el compilador CCS para esta familia de PICs.
Este documento presenta una guía de tres pasos para resolver problemas de programación: 1) Enunciado y delimitación del hardware, 2) Diagrama de flujo, 3) Elaboración del lenguaje ensamblador. Explica cada paso en detalle y proporciona ejemplos de código ensamblador para tres ejercicios de programación de microcontroladores.
Este documento describe el módulo de conversión analógico a digital (A/D) de un microcontrolador. Explica los registros relacionados con el módulo A/D, las opciones para la fuente del reloj de conversión, y cómo seleccionar y leer canales analógicos en C. También incluye ejemplos de código C para medir canales analógicos y aplicaciones como un termómetro digital.
Este documento trata sobre el módulo USART y la comunicación serial asíncrona. Introduce el protocolo RS-232, explica cómo funcionan el transmisor y receptor asíncronos a nivel de hardware, y describe la configuración y uso del módulo USART en el lenguaje C, incluyendo funciones para la transmisión y recepción de datos.
EJERCICIOS TEMA 1. MICROCONTROLADORES II EN CLuis Zurita
Este programa implementa un contador de dos dígitos ascendente en los displays multiplexados de un microcontrolador PIC. Muestra los valores del contador en los displays y los incrementa cada vez que se presiona un botón. Evalua si ha alcanzado el límite máximo para reiniciar el contador.
Curso de lenguaje c para microcontroladores pic dia 1(2)(2)(2)(2)(2)(2)Franz Amaya
Este documento describe las características y funcionalidades del microcontrolador PIC16F877, incluyendo su arquitectura, memoria, puertos de entrada y salida, periféricos, tipos de datos soportados y más. Explica cómo configurar los puertos como entrada o salida y cómo acceder a bits individuales. También presenta ejemplos de código para encender LEDs y enviar secuencias de datos a puertos.
Este documento presenta información sobre el módulo convertidor analógico a digital (A/D) de un microcontrolador. Explica conceptos como voltajes de referencia, registros relacionados, selección del reloj de conversión, tiempos de adquisición y conversión, ciclos de conversión, formato de resultados y pasos para realizar una conversión A/D. También presenta ejemplos de uso del módulo A/D en el lenguaje C.
El documento contiene varios temas relacionados con el uso de microcontroladores, incluyendo rutinas temporizadas, enmascaramiento de datos, uso de llamadas a subrutinas, tablas y multiplexación de displays. Explica conceptos como el almacenamiento del contador de programa en la pila al llamar a una subrutina y cómo generar retardos por software sin usar el temporizador interno.
Guía de ejercicios resueltos y propuestos tema 4Luis Zurita
Este documento presenta dos ejercicios resueltos sobre el uso del timer 0 y las interrupciones en microcontroladores PIC. El primer ejercicio muestra un programa que genera diferentes respuestas dependiendo de la causa de la interrupción, ya sea un pin, cambios en los bits del puerto B o un desbordamiento del timer 0. El segundo ejercicio genera una señal cuadrada de 200 Hz utilizando el desbordamiento del timer 0, presentando soluciones con y sin interrupciones.
El documento describe las herramientas de programación para microcontroladores. Explica instrucciones para manipular bits, explorar y probar bits, y el estado del registro. También cubre temas como seleccionar bancos de registros, configurar puertos como entrada o salida, leer y escribir valores en puertos, y tomar decisiones basadas en condiciones internas o externas.
Este documento describe las interrupciones y temporizadores en los microcontroladores. Explica los registros INTCON e INTCON que controlan las interrupciones clásicas y nuevas en los PIC16F87X. También describe el registro PIE1 y PIE2 que habilitan diferentes fuentes de interrupción. Además, explica el funcionamiento del temporizador TMR0 y el registro OPTION que lo configura. Finalmente, presenta ejemplos de código en lenguaje C para gestionar interrupciones.
Este documento presenta las normas y los pasos a seguir para la evaluación del proyecto final de Microcontroladores II. Los estudiantes deben diseñar un proyecto que incluya automatización, manejo de periféricos, estructuras de contadores, conversión analógica/digital y comunicación serial. El proyecto será evaluado en 5 pasos: enunciado, diagrama de bloques, diagramas de flujo, programación en C y simulación en Proteus.
Este documento proporciona información sobre el módulo CCP (Captura/Comparación/PWM) de los microcontroladores. Explica los diferentes modos de funcionamiento del módulo CCP como modo captura, comparación y PWM. Incluye diagramas de flujo y tablas sobre los recursos de timer y registros asociados a cada modo.
Este diagrama de flujo controla 4 motores encendiéndolos y apagándolos de forma secuencial mediante una rutina de interrupción cada 90 segundos. La rutina principal configura los puertos y registros, y luego en un bucle enciende los motores 1 y 2, luego los 3 y 4, repitiendo indefinidamente. La rutina de interrupción apaga y enciende los motores según su estado cada 90 segundos.
El documento proporciona información sobre la estructura de datos, sistemas de numeración, registros y bancos de memoria en microcontroladores. Explica la organización básica de un programa, incluyendo la declaración de variables, configuración de registros y cuerpo del programa. También describe las instrucciones comunes orientadas a registros, literales, control y bits.
Este documento presenta dos ejemplos resueltos de generación de señales cuadradas utilizando el Timer 0 e interrupciones en un PIC16F84A. El primer ejemplo genera una señal de 200 Hz y el segundo genera una señal que permanece en alto durante 100 ms y luego en bajo durante 2 segundos, repitiendo el ciclo. Se incluyen los cálculos, diagramas de flujo y código en lenguaje ensamblador para ambos ejemplos.
Uso de las tablas en lenguaje ensambladorLuis Zurita
Este documento presenta diagramas de flujo para rutinas de retardo de 1 a 60 minutos y explica el uso de tablas en lenguaje ensamblador. Incluye dos ejemplos de programas en ensamblador que usan tablas para mostrar números en displays sin necesidad de un decodificador, mostrando los valores binarios correspondientes a cada número.
El documento introduce los microcontroladores, describiendo que se encuentran presentes en muchos dispositivos cotidianos y áreas como la industria, telecomunicaciones y automóviles. Explica que los microcontroladores son una evolución de los microprocesadores que integran funciones electrónicas en un solo chip. Finalmente, describe la arquitectura interna típica de un microcontrolador, dividiéndola en núcleo, periféricos y características especiales.
MANEJO DE PERIFERICOS PARA MICROCONTROLADORES EN CLuis Zurita
Este documento describe el manejo de periféricos como displays, pantallas LCD, teclado matricial con microcontroladores. Explica cómo mostrar números en displays de 7 segmentos usando tablas en lugar de decodificadores. Luego detalla el funcionamiento y códigos de las pantallas LCD, incluyendo ejemplos de uso con lenguaje C. Finalmente introduce brevemente los teclados matriciales 3x4 y 4x4.
Este documento presenta tres exámenes tipo (A, B y C) para la asignatura de Microcontroladores I. Cada examen tipo propone un proyecto de automatización diferente que los estudiantes deben implementar utilizando un microcontrolador. Los proyectos incluyen temporizadores, displays multiplexados y control de motores. Los estudiantes serán evaluados en base a sus diagramas de flujo, declaración de variables, cálculos y programa escrito en lenguaje assembly.
Este documento contiene información sobre interrupciones y temporizadores en microcontroladores PIC16F84. Explica las causas de interrupción en el PIC16F84 como el pin RB0/INT, desbordamiento del temporizador TMR0 y cambios en los pines RB7-RB4. También describe los registros INTCON, PIE1, PIE2 y funciones para gestionar interrupciones en lenguaje C como enable_interrupts y disable_interrupts. Finalmente, incluye ejemplos de código para configurar interrupciones externas por el pin RB0/
Este documento describe el temporizador TMR0 y las interrupciones en el microcontrolador PIC16F84. Explica los registros asociados con el TMR0, cómo funciona como temporizador o contador, y cómo se pueden realizar cálculos y programas con él. También cubre el funcionamiento básico de las interrupciones, las causas de interrupción en el PIC16F84, y cómo estructurar programas que usen interrupciones.
El documento explica las interrupciones en microcontroladores. Define las interrupciones como desviaciones del flujo de control del programa causadas por eventos externos o internos. Describe cómo se salva el estado actual y se ejecuta la rutina de servicio de interrupción. Explica las causas de interrupción en PIC16F84 y cómo funciona el registro INTCON.
Este documento describe la comunicación serial asíncrona mediante el módulo USART de los microcontroladores. Explica el protocolo RS-232, el funcionamiento del módulo USART incluyendo el generador de baudios, y los detalles de la transmisión y recepción asíncrona serial a través de los registros y bits de control asociados como TXREG, RXREG, SPBRG y TXSTA.
1) El documento describe las características y funcionamiento del módulo CCP y los timers TMR1 y TMR2 de los microcontroladores PIC16F84.
2) Incluye ejemplos de configuración de los timers para diferentes usos como temporización, conteo de eventos y generación de señales PWM.
3) Explica los registros asociados a cada elemento y cómo funcionan los modos de captura, comparación y PWM del módulo CCP.
Este documento describe un programa para un PIC que configura interrupciones por desborde de timers y por cambio de nivel en una entrada. El programa alterna el estado de LEDs usando timers y habilita/deshabilita las interrupciones de los timers cuando se presiona un botón, para alternar los LEDs a una frecuencia fija o variable.
El documento describe ejemplos de programación de microcontroladores PIC en C. Explica los componentes básicos necesarios para conectar y hacer funcionar un microcontrolador, como la alimentación, señal de reinicio y señal de reloj. Luego, presenta varios ejemplos de programas que ilustran el uso de funciones y periféricos comunes como temporizadores, E/S, comunicación serial y más.
Este documento proporciona información técnica detallada sobre el microcontrolador PIC16F84A, incluyendo sus características de CPU y periféricos, diagrama de bloques, pines de entrada/salida, organización de memoria de programa y datos, y descripción de los registros de propósito especial.
Este documento presenta las actividades de una práctica de laboratorio sobre el manejo de MPLAB, registros y rutinas lógico aritméticas. La práctica incluye crear un proyecto en MPLAB para sumar dos números guardados en registros y comprobar el resultado, y escribir una rutina para comparar dos números y establecer un valor y patrón en un puerto según el resultado de la comparación.
Este documento describe un programa para un PIC que usa interrupciones para alternar el estado de LEDs. Establece interrupciones por desborde de timers y por cambios en un pin de entrada. Al presionar el pin, se deshabilitan las otras interrupciones para atender la del pin, haciendo parpadear los LEDs cada 250ms. De lo contrario, solo parpadean por desborde de los timers.
Guía de ejercicios resueltos y propuestos tema 4Luis Zurita
Este documento presenta dos ejercicios resueltos sobre el uso del timer 0 y las interrupciones en microcontroladores PIC. El primer ejercicio muestra un programa que genera diferentes respuestas dependiendo de la causa de la interrupción, ya sea un pin, cambios en los bits del puerto B o un desbordamiento del timer 0. El segundo ejercicio genera una señal cuadrada de 200 Hz utilizando el desbordamiento del timer 0, presentando soluciones con y sin interrupciones.
El documento describe las herramientas de programación para microcontroladores. Explica instrucciones para manipular bits, explorar y probar bits, y el estado del registro. También cubre temas como seleccionar bancos de registros, configurar puertos como entrada o salida, leer y escribir valores en puertos, y tomar decisiones basadas en condiciones internas o externas.
Este documento describe las interrupciones y temporizadores en los microcontroladores. Explica los registros INTCON e INTCON que controlan las interrupciones clásicas y nuevas en los PIC16F87X. También describe el registro PIE1 y PIE2 que habilitan diferentes fuentes de interrupción. Además, explica el funcionamiento del temporizador TMR0 y el registro OPTION que lo configura. Finalmente, presenta ejemplos de código en lenguaje C para gestionar interrupciones.
Este documento presenta las normas y los pasos a seguir para la evaluación del proyecto final de Microcontroladores II. Los estudiantes deben diseñar un proyecto que incluya automatización, manejo de periféricos, estructuras de contadores, conversión analógica/digital y comunicación serial. El proyecto será evaluado en 5 pasos: enunciado, diagrama de bloques, diagramas de flujo, programación en C y simulación en Proteus.
Este documento proporciona información sobre el módulo CCP (Captura/Comparación/PWM) de los microcontroladores. Explica los diferentes modos de funcionamiento del módulo CCP como modo captura, comparación y PWM. Incluye diagramas de flujo y tablas sobre los recursos de timer y registros asociados a cada modo.
Este diagrama de flujo controla 4 motores encendiéndolos y apagándolos de forma secuencial mediante una rutina de interrupción cada 90 segundos. La rutina principal configura los puertos y registros, y luego en un bucle enciende los motores 1 y 2, luego los 3 y 4, repitiendo indefinidamente. La rutina de interrupción apaga y enciende los motores según su estado cada 90 segundos.
El documento proporciona información sobre la estructura de datos, sistemas de numeración, registros y bancos de memoria en microcontroladores. Explica la organización básica de un programa, incluyendo la declaración de variables, configuración de registros y cuerpo del programa. También describe las instrucciones comunes orientadas a registros, literales, control y bits.
Este documento presenta dos ejemplos resueltos de generación de señales cuadradas utilizando el Timer 0 e interrupciones en un PIC16F84A. El primer ejemplo genera una señal de 200 Hz y el segundo genera una señal que permanece en alto durante 100 ms y luego en bajo durante 2 segundos, repitiendo el ciclo. Se incluyen los cálculos, diagramas de flujo y código en lenguaje ensamblador para ambos ejemplos.
Uso de las tablas en lenguaje ensambladorLuis Zurita
Este documento presenta diagramas de flujo para rutinas de retardo de 1 a 60 minutos y explica el uso de tablas en lenguaje ensamblador. Incluye dos ejemplos de programas en ensamblador que usan tablas para mostrar números en displays sin necesidad de un decodificador, mostrando los valores binarios correspondientes a cada número.
El documento introduce los microcontroladores, describiendo que se encuentran presentes en muchos dispositivos cotidianos y áreas como la industria, telecomunicaciones y automóviles. Explica que los microcontroladores son una evolución de los microprocesadores que integran funciones electrónicas en un solo chip. Finalmente, describe la arquitectura interna típica de un microcontrolador, dividiéndola en núcleo, periféricos y características especiales.
MANEJO DE PERIFERICOS PARA MICROCONTROLADORES EN CLuis Zurita
Este documento describe el manejo de periféricos como displays, pantallas LCD, teclado matricial con microcontroladores. Explica cómo mostrar números en displays de 7 segmentos usando tablas en lugar de decodificadores. Luego detalla el funcionamiento y códigos de las pantallas LCD, incluyendo ejemplos de uso con lenguaje C. Finalmente introduce brevemente los teclados matriciales 3x4 y 4x4.
Este documento presenta tres exámenes tipo (A, B y C) para la asignatura de Microcontroladores I. Cada examen tipo propone un proyecto de automatización diferente que los estudiantes deben implementar utilizando un microcontrolador. Los proyectos incluyen temporizadores, displays multiplexados y control de motores. Los estudiantes serán evaluados en base a sus diagramas de flujo, declaración de variables, cálculos y programa escrito en lenguaje assembly.
Este documento contiene información sobre interrupciones y temporizadores en microcontroladores PIC16F84. Explica las causas de interrupción en el PIC16F84 como el pin RB0/INT, desbordamiento del temporizador TMR0 y cambios en los pines RB7-RB4. También describe los registros INTCON, PIE1, PIE2 y funciones para gestionar interrupciones en lenguaje C como enable_interrupts y disable_interrupts. Finalmente, incluye ejemplos de código para configurar interrupciones externas por el pin RB0/
Este documento describe el temporizador TMR0 y las interrupciones en el microcontrolador PIC16F84. Explica los registros asociados con el TMR0, cómo funciona como temporizador o contador, y cómo se pueden realizar cálculos y programas con él. También cubre el funcionamiento básico de las interrupciones, las causas de interrupción en el PIC16F84, y cómo estructurar programas que usen interrupciones.
El documento explica las interrupciones en microcontroladores. Define las interrupciones como desviaciones del flujo de control del programa causadas por eventos externos o internos. Describe cómo se salva el estado actual y se ejecuta la rutina de servicio de interrupción. Explica las causas de interrupción en PIC16F84 y cómo funciona el registro INTCON.
Este documento describe la comunicación serial asíncrona mediante el módulo USART de los microcontroladores. Explica el protocolo RS-232, el funcionamiento del módulo USART incluyendo el generador de baudios, y los detalles de la transmisión y recepción asíncrona serial a través de los registros y bits de control asociados como TXREG, RXREG, SPBRG y TXSTA.
1) El documento describe las características y funcionamiento del módulo CCP y los timers TMR1 y TMR2 de los microcontroladores PIC16F84.
2) Incluye ejemplos de configuración de los timers para diferentes usos como temporización, conteo de eventos y generación de señales PWM.
3) Explica los registros asociados a cada elemento y cómo funcionan los modos de captura, comparación y PWM del módulo CCP.
Este documento describe un programa para un PIC que configura interrupciones por desborde de timers y por cambio de nivel en una entrada. El programa alterna el estado de LEDs usando timers y habilita/deshabilita las interrupciones de los timers cuando se presiona un botón, para alternar los LEDs a una frecuencia fija o variable.
El documento describe ejemplos de programación de microcontroladores PIC en C. Explica los componentes básicos necesarios para conectar y hacer funcionar un microcontrolador, como la alimentación, señal de reinicio y señal de reloj. Luego, presenta varios ejemplos de programas que ilustran el uso de funciones y periféricos comunes como temporizadores, E/S, comunicación serial y más.
Este documento proporciona información técnica detallada sobre el microcontrolador PIC16F84A, incluyendo sus características de CPU y periféricos, diagrama de bloques, pines de entrada/salida, organización de memoria de programa y datos, y descripción de los registros de propósito especial.
Este documento presenta las actividades de una práctica de laboratorio sobre el manejo de MPLAB, registros y rutinas lógico aritméticas. La práctica incluye crear un proyecto en MPLAB para sumar dos números guardados en registros y comprobar el resultado, y escribir una rutina para comparar dos números y establecer un valor y patrón en un puerto según el resultado de la comparación.
Este documento describe un programa para un PIC que usa interrupciones para alternar el estado de LEDs. Establece interrupciones por desborde de timers y por cambios en un pin de entrada. Al presionar el pin, se deshabilitan las otras interrupciones para atender la del pin, haciendo parpadear los LEDs cada 250ms. De lo contrario, solo parpadean por desborde de los timers.
Este documento describe un proyecto para diseñar un órgano musical utilizando un microcontrolador PIC16F84A. El proyecto generará notas musicales usando el temporizador TMR0 para producir frecuencias entre 264-495 Hz correspondientes a las notas Do-Si. Cada nota se repetirá 16 veces. El botón RB0 controlará efectos en 3 LEDs y la corneta se controlará con el pin RA3. Se evaluará la teoría, cálculos con TMR0, diagramas de flujo y código en ensamblador.
Este documento describe un proyecto para diseñar un órgano musical utilizando un microcontrolador PIC16F84A. El proyecto generará notas musicales usando el temporizador TMR0 para producir frecuencias entre 264-495 Hz correspondientes a las notas Do-Si. Cada nota se repetirá 16 veces. El botón LUCES controlará 3 LEDs y un zumbador. Se evaluará la teoría, cálculos, diagramas de flujo y código en lenguaje ensamblador del proyecto.
El documento describe varios proyectos electrónicos, incluyendo un contador de personas hasta 100, un sistema empaquetador de botellas, un estacionamiento con sensores de entrada y salida, un registrador de visitas para otorgar un premio al visitante 500, y un reloj en formato hora militar de 00:00:00 a 23:59:59. También asigna proyectos a estudiantes específicos y les pide observar un video de un contador en un blog para diseñar y simular su funcionamiento.
El cronograma detalla las actividades semanales de la Sección 01. Cada semana se aborda un tema diferente relacionado con lógica digital y algoritmos booleanos. Las clases son los miércoles y viernes, donde se imparten contenidos teóricos y prácticos respectivamente. Los temas se evalúan a lo largo del semestre y al final se entregan las notas finales.
Este documento contiene 11 asignaciones diferentes para grupos de estudiantes. Cada asignación incluye una o dos preguntas relacionadas con la programación en lenguaje C de PIC microcontroladores. Las preguntas involucran tareas como generar señales, controlar sistemas automatizados, e implementar controles de acceso y alarmas.
Este documento presenta un resumen de las Normas APA (American Psychological Association) para la redacción de documentos de investigación. Describe conceptos básicos como el lenguaje formal, los márgenes, la paginación, la presentación de cuadros, gráficos y referencias. El objetivo es facilitar la transmisión válida y confiable de información entre los profesionales de investigación siguiendo un formato estandarizado.
This document contains PIC assembly code for displaying the score on a LED scoreboard for boliche criollo (a traditional Argentine game). It includes subroutines to:
1) Convert binary numbers representing the score to BCD for display on the LED scoreboard.
2) Read the state of buttons on the game controller and increment or decrement the score as appropriate.
3) Display the updated score on the LED scoreboard by turning on the appropriate LEDs while keeping others off.
Este documento presenta dos soluciones de diseño para contadores utilizando un microcontrolador PIC16F84A. La primera solución diseña un contador de 4 dígitos utilizando un decodificador 7448 y multiplexación de displays. La segunda solución diseña un contador ascendente de dos dígitos sin utilizar un decodificador, asignando los pines del microcontrolador y desarrollando la lógica y rutinas en lenguaje ensamblador. Ambas soluciones incluyen la delimitación del hardware, diagramas de flujo y conversión al código de
El documento presenta 6 asignaciones diferentes para diseñar sistemas secuenciales que controlan diversos procesos industriales. Cada asignación describe un proceso y sus actuadores, e indica que se debe diseñar un sistema secuencial para controlarlo, realizando una tabla de la verdad y simulando su funcionamiento.
El documento presenta 6 asignaciones diferentes para diseñar sistemas secuenciales que controlan diversos procesos industriales. Cada asignación describe un proceso y sus actuadores, e indica que se debe diseñar un sistema secuencial para controlarlo, realizando una tabla de la verdad y simulando su funcionamiento.
El documento presenta 5 grupos de estudiantes con propuestas de proyectos de sistemas embebidos controlados por microcontroladores. Los proyectos incluyen un semáforo, una máquina mezcladora de pintura, un sistema de protección para una línea de ensamblaje, un control de llenado de tanque y un sistema dosificador/clasificador. Todos los proyectos incluyen botones de parada de emergencia y reinicio que detienen y reinician el sistema respectivamente.
El documento describe la arquitectura de los microcontroladores. Explica que tienen las mismas partes básicas que un computador como la CPU, ALU y memoria. Luego describe dos tipos de arquitectura: la de Von Neumann, usada en microprocesadores, y la de Harvard, usada en microcontroladores modernos, la cual separa la memoria de instrucciones y datos. Finalmente, resalta las características de los microcontroladores PIC de Microchip que se usarán en el curso.
Estas asignaciones presentan diversos proyectos de automatización y control utilizando microcontroladores PIC y sensores como LM35, LM335, entre otros. Los proyectos incluyen sistemas de monitoreo y control de temperatura, humedad, corriente, distancia y presión, con interfaz visual mediante LEDs y displays.
Diagramas de flujo del examen del marcadorLuis Zurita
El documento describe los diagramas de flujo restantes para el examen del marcador, incluyendo uno para la conversión de números binarios a código binario decimal (BCD).
El documento presenta un programa que contiene varias interrupciones. Si la interrupción es causada por RB0, mostrará un 2 binario en el puerto A. Si es causada por un cambio en RB4:RB7, mostrará un 1 binario en el puerto A. Si es causada por un desbordamiento del TMR0, mostrará un 4 binario en el puerto A. El programa configura las interrupciones y los puertos y entra en un lazo infinito.
El documento describe el protocolo Modbus, desarrollado en 1984 para sistemas de control y supervisión de procesos. Explica que es ampliamente utilizado debido a su simplicidad y especificación abierta. Detalla las características del protocolo como su estructura maestro-esclavo, los tipos de mensajes, las funciones disponibles y la estructura de los mensajes intercambiados.
Mecanica de suelos en la Ingenieria Practica.---Karl Terzaghi y Realph bAlfonso Rodriguez Obando
Mecanica de suelos en la ingenieria practica de Terzaghi, padre de la Mecánica de Suelos, y Ralph es un libro para estudiantes de la Ingenieria Civil y cursan la asignatura Mecánica de Suelos
Este documento describe el método del mapa de Karnaugh (MK), el cual es una técnica gráfica para simplificar ecuaciones lógicas booleanas y resolver problemas lógicos combinatorios. Explica cómo los MK se construyen para 2, 3 y 4 variables y cómo cada celda representa el producto lógico de las variables de fila y columna. También describe las reglas de agrupamiento para simplificar los términos, formando grupos de 1, 2, 4, 8 o 16 celdas adyacentes.
Este documento describe las características del microcontrolador PIC16F877. Incluye información sobre su velocidad de operación, memoria, puertos de entrada/salida, periféricos, arquitectura interna y terminales físicas. También explica conceptos básicos de programación en C como tipos de datos, asignación de valores, registros de configuración de puertos y estructura de un programa básico.
Este documento describe los conceptos básicos de microprocesadores, microcontroladores y PICs. Explica que un microprocesador es una CPU en un solo circuito integrado, mientras que un microcontrolador es una microcomputadora en un solo circuito integrado. Luego describe que un PIC es un tipo de microcontrolador programable que contiene memoria FLASH, RAM y EEPROM, así como puertos I/O, timers y otros periféricos. Finalmente, resume las características y especificaciones de algunos modelos populares de PICs.
Este documento presenta las características generales y específicas del controlador digital de señales dsPIC30F4013. Resume que el dsPIC30F4013 tiene una arquitectura RISC de 16 bits con memoria flash hasta 48KB, RAM hasta 2KB y EEPROM 1KB. También incluye características DSP como multiplicador de 17x17 bits, dos acumuladores de 40 bits y modo de direccionamiento bit-reversed para FFT. El documento proporciona detalles sobre periféricos, conversor ADC, depuración y configuración de relo
El proyecto se resume en el desarrollo de un contador binario descendente de 14 bits, con un regulador de velocidad de conteo, se utilizo la tarjeta Arduino UNO con ATmega328P para el proyecto.
El documento describe los componentes incluidos en un kit de robótica educativa. Incluye tarjetas Arduino Uno, módulos de control de motores paso a paso, sensores como fotoresistencias, temperatura y ultrasonido, y efectores como servomotores y módulos de control de LED. El kit provee los elementos básicos para construir y programar diversos prototipos y proyectos de robótica.
La finalidad del proyecto consta en el desarrollo de un contador binario ascendente de 14 bits, con un regulador de velocidad de contador, se utilizo la tarjeta Arduino UNO con ATmega328P para el proyecto.
El documento describe el microcontrolador PIC16F877. Tiene memoria FLASH que permite reprogramación sin borrado, bajo consumo de potencia y es estático. Tiene 5 puertos de E/S y puede configurarse cada pin como entrada o salida. Incluye convertidor análogo a digital y puede usarse con oscilador de cristal o RC para fijar la frecuencia de operación.
ELECTRIC es una empresa dedicada a la venta y compra de partes electrónicas que ofrece productos de alta calidad a precios competitivos tanto de forma presencial como en línea. Su visión es convertirse en el líder de ventas de partes eléctricas en línea para 2014 ofreciendo variedad de productos y precios bajos. Su misión es ofrecer productos electrónicos de calidad a bajo costo de manera cómoda a través de compras en línea.
Este documento presenta los microcontroladores PIC16C84/F84. Explica sus terminales y funciones principales, como los puertos A y B que pueden configurarse como entradas o salidas, y la pata MCLR/Vpp que se usa para reset y programación. También describe circuitos externos comunes como el oscilador de cuarzo y el circuito de reset, necesarios para el funcionamiento básico de estos microcontroladores.
El documento proporciona información sobre los pines y funciones de un microprocesador PIC18F452. Describe los puertos de entrada y salida, incluyendo los puertos paralelos de E/S de 8 bits y el puerto E de 3 bits. También explica el tipo de encapsulado PLCC y TQFP usado en los microprocesadores.
⭐⭐⭐⭐⭐ (Práctica 2) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
El documento describe un curso sobre el desarrollo de aplicaciones con el microcontrolador PIC16F886. Incluye introducciones a los conceptos básicos, características del PIC16F886, programación, periféricos y 21 prácticas sobre entradas/salidas digitales y analógicas, sensores, actuadores y comunicaciones.
En la charla estaremos mostrando los puntos importantes a considerar en un proyecto de integración de componentes electrónicos para ser procesados por un sistema de alto nivel. Abordaremos la elección del micro-procesador, protocolos de comunicación, técnicas de ahorro de energía y estrategias de integración con el sistema del alto nivel utilizando Arduino, Raspberry PI y la plataforma Java. En la presentación estaremos mostrando un sistema embebido para procesar la temperatura de ambiente y su integración en una aplicación Web.
El proyecto consiste en un contador binario Ascendente – Descendente de 14 bits, el sentido del conteo es controlado mediante un selector, el cual puede ser modificado en cualquier momento respetando el número que se está mostrando en el contador al momento del cambio.
⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886Victor Asanza
✅ Objetivo: Aprender el funcionamiento del módulo Adaptador IDC LCD 2X16.
Conocer las diferentes funciones que tiene la librería LCD de MikroBasic.
✅ Duración: 30min
✅ Materiales:
⇨ Módulo de desarrollo PIC16F886
⇨ Módulo adaptador ICD LCD 2X16
✅ Descripción: El presente proyecto se basa en el módulo Adaptador IDC LCD 2X16.
Se va a conectar el módulo LCD en el conector IDC de 5X2 del modulo PIC16F886, en el cual se visualizará las cadenas de caracteres programadas.
Este documento presenta una variedad de controladores lógicos programables (PLCs) de diferentes tamaños y capacidades fabricados por lt-automation, incluyendo PLCs clásicos, PLCs con pantalla, PLCs con GPS, PLCs con Windows y SúperPLCs. También describe brevemente la historia de los PLCs desde los primeros modelos micro mini hasta los avanzados PLCs de hoy en día. La compañía ofrece una amplia gama de soluciones PLC ajustadas a diferentes necesidades industriales y educativas.
Este documento describe las características y arquitectura del microcontrolador PIC16F877, incluyendo sus características principales y periféricas, organización de memoria, registros de funciones especiales, configuración y conjunto de instrucciones.
El documento describe un data logger IoT para la monitorización de redes de aguas residuales. Realiza cálculos y archivos diarios de datos de caudales, volúmenes, estados de entradas y umbrales. Cuenta con entradas digitales, analógicas y un sensor de ultrasonidos. Se comunica de forma inalámbrica a través de 2G/3G y transmite alertas por SMS. Los datos se centralizan en aplicaciones web para su análisis.
Este documento proporciona información de contacto para Pacific Logging y describe varios de sus productos y servicios relacionados con la perforación de pozos petroleros, incluyendo DrillWay para el monitoreo de parámetros de perforación, RTSender para transmitir datos a un sistema de monitoreo web como RTDriller, el cual permite la visualización en tiempo real de datos de perforación desde múltiples taladros. El documento también describe brevemente los beneficios y configuraciones típicas de sus sistemas de adquisición de datos electrónicos.
28307034 La Familia De Micro Control Adores Piccarlos
El documento describe las características de los microcontroladores PIC de Microchip. Explica que los PIC se clasifican en tres gamas (base, media y mejorada) dependiendo de su capacidad de memoria y periféricos. La gama mejorada tiene las mayores capacidades, como memoria FLASH de hasta 128KB, memoria de datos de hasta 4KB y periféricos avanzados como CAN, ADC de 10 bits y comunicación I2C/SPI. Los PIC de 16 bits como el PIC24F ofrecen mayores prestaciones con memoria de hasta 8MB y bus de datos de 16
28307034 La Familia De Micro Control Adores Piccarlos
El documento describe las características de los microcontroladores PIC de Microchip. Explica que los PIC se clasifican en tres gamas (base, media y mejorada) dependiendo de su capacidad de memoria y periféricos. La gama mejorada tiene instrucciones de 16 bits, mayor memoria y periféricos avanzados como CAN, ADC de 10 bits y comunicaciones seriales. El documento también resume las características clave de varios modelos PIC24 de 16 bits.
Este documento proporciona una guía rápida para trabajar con una pantalla LCD y un teclado matricial utilizando un PIC16F877. Explica cómo conectar y configurar la LCD y el teclado, inicializarlos, crear mensajes estáticos y dinámicos en la LCD, y leer teclas del teclado para mostrarlas en la LCD. Incluye ejemplos de código para mostrar una tecla leída del teclado 4x3 y 4x4 en la LCD.
El documento presenta el cronograma de actividades de un taller sobre microcontroladores en C durante 10 semanas. Cada semana se cubrirá un tema teórico y práctico relacionado con microcontroladores, como introducción, simuladores, manejo de periféricos, timers, interrupciones y módulos especiales. Los estudiantes se dividirán en grupos para las prácticas. Deberán entregar varias partes de un proyecto a lo largo del taller y recibirán una calificación final.
El documento presenta el cronograma de actividades de un curso sobre microcontroladores en C. El curso está dividido en 13 semanas que cubren 6 temas principales. Cada semana se divide en días de teoría y práctica, donde los estudiantes son asignados a grupos para las sesiones prácticas. El curso culmina con la entrega de un proyecto en dos partes evaluado en diferentes fechas.
El documento presenta el cronograma de una capacitación sobre microcontroladores dividida en 13 semanas. Cada semana se dedica a la teoría los días lunes y a la práctica los martes. La capacitación cubre temas como introducción a microcontroladores, simuladores, automatizaciones varias, estructura de contadores, TMR0 e interrupciones. El proyecto final se entrega en 3 partes y es evaluado con diferentes porcentajes.
El documento presenta el cronograma de actividades de un taller sobre microcontroladores en C dividido en 10 semanas. Cada semana se abordarán diferentes temas relacionados con microcontroladores como introducción, simuladores, manejo de periféricos, timers, interrupciones, módulo CCP, A/D y USART. También se incluyen fechas para la entrega por parte de grupos de proyectos divididos en 4 partes que representan un porcentaje de la calificación final.
Este documento presenta un cronograma de 13 semanas para un curso sobre microcontroladores. Cubre temas teóricos los días 1 e introduce conceptos prácticos los días 2. Los temas incluyen introducción a microcontroladores, simuladores, automatizaciones varias, estructura de contadores y TMR0 e interrupciones. Los estudiantes entregarán un proyecto en partes evaluadas y habrá dos evaluaciones enviadas por correo.
Manejo de perifericos para microcontroladoreLuis Zurita
Este documento describe el manejo de periféricos como displays, pantallas LCD y EEPROM con microcontroladores. Explica cómo mostrar números en displays de 7 segmentos sin usar decodificadores mediante tablas de códigos binarios. También cubre el uso de pantallas LCD, incluyendo sus pines de conexión, librerías de C para inicializar y escribir en ellas, y cómo modificar el puerto de datos.
El documento presenta el cronograma de actividades de una asignatura sobre microcontroladores en C. La asignatura se divide en 13 semanas con temas teóricos los días lunes y prácticos los miércoles. Los temas incluyen introducción a microcontroladores, simuladores, manejo de periféricos, timers e interrupciones, módulo CCP, A/D y USART. También incluye la entrega de un proyecto en dos partes y la evaluación final.
Este documento presenta los resultados de evaluación de varios estudiantes en diferentes asignaturas. Los estudiantes son evaluados en función de su desempeño en diagramas de flujo, lenguaje ASM, simulaciones, montajes y asistencia. Algunos estudiantes obtuvieron las calificaciones máximas en todas las categorías, mientras que otros no completaron algunas tareas y recibieron calificaciones más bajas como resultado. El documento también enumera varios proyectos de automatización realizados por grupos de estudiantes.
Este documento presenta los resultados de varios proyectos de estudiantes. Incluye tablas con los nombres de los estudiantes, los proyectos realizados, las calificaciones obtenidas en diferentes categorías y el porcentaje final. Algunos proyectos incluyen sistemas de control de nivel de agua, mezcladoras de pintura, envasadoras y contadores. El documento también explica los criterios de evaluación utilizados como diagrama de flujo, lenguaje ASM, hardware y asistencia.
El documento presenta el cronograma de actividades de un curso sobre microcontroladores dividido en 13 semanas. Cada semana se cubrirán uno o dos temas teóricos como introducción a microcontroladores, simuladores de programación, automatizaciones varias, estructura de contadores, TMR0 e interrupciones. Los temas tendrán un peso teórico y práctico diferente y algunas semanas incluirán entrega de proyectos.
Este documento presenta los resultados de evaluación de varios estudiantes en una asignatura. Incluye las calificaciones de cada estudiante en diferentes categorías como diagrama de flujo, lenguaje ASM, simulación, montaje, teoría y práctica. También enumera varios proyectos desarrollados por los estudiantes como automatizaciones de procesos industriales, sistemas de riego y monitoreo de locales.
El documento describe un sistema de llenado y envasado automático que funciona de la siguiente manera: cuando se presiona "MARCHA", se activa el motor de la cinta transportadora hasta detectar una lata, luego se abre la válvula de llenado hasta que el sensor de llenado se activa, y así sucesivamente. Si pasan 5 segundos sin detectar una lata o llenarla, el sistema se detiene y enciende una alarma. Adicionalmente, cada 50 ms se monitorean el nivel del tanque y el peso en el pistón de envas
Este documento proporciona una guía rápida sobre el temporizador 0 (TMR0) y sus interrupciones en microcontroladores. Explica los registros asociados a TMR0, cómo funciona como temporizador y contador, cómo se calculan los tiempos de temporización utilizando el prescaler y cómo configurar TMR0 para generar interrupciones periódicas.
El cronograma detalla el plan de estudios semanal para un curso de microcontroladores. Durante las primeras 4 semanas se cubrirá el Tema 1 sobre registros, memoria y puertos en lenguaje ensamblador. En las semanas siguientes se abordarán los Temas 2, 3 y 4 sobre automatizaciones, rutinas, contadores, timer y interrupciones. Cada tema incluye clases teóricas y prácticas, así como proyectos. El peso de cada tema en la evaluación teórica va del 10% al 30%.
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...Juan Martín Martín
Criterios de corrección y soluciones al examen de Geografía de Selectividad (EvAU) Junio de 2024 en Castilla La Mancha.
Soluciones al examen.
Convocatoria Ordinaria.
Examen resuelto de Geografía
conocer el examen de geografía de julio 2024 en:
https://blogdegeografiadejuan.blogspot.com/2024/06/soluciones-examen-de-selectividad.html
http://blogdegeografiadejuan.blogspot.com/
Ofrecemos herramientas y metodologías para que las personas con ideas de negocio desarrollen un prototipo que pueda ser probado en un entorno real.
Cada miembro puede crear su perfil de acuerdo a sus intereses, habilidades y así montar sus proyectos de ideas de negocio, para recibir mentorías .
DESARROLLO DE LAS RELACIONES CON LOS STAKEHOLDERS.pdf
Clase 2
1. 26/06/2012
MICROCONTROLADORES II
(FAMILIA PIC16F87X)
LENGUAJE C PARA PICS
TEMA 1
PROF. LUIS ZURITA
CARACTERÍSTICAS PIC16F87X
• Velocidad de operación: hasta 20 MHz de reloj.
• 8K x 14 bits por palabra de memoria de programa FLASH.
• 368 x 8 bytes de memoria de datos (RAM)
• 256 x 8 bytes de memoria de datos EEPROM.
• 14 fuentes de interrupciones.
• Memoria de pila (stack) de 8 niveles de profundidad.
• Protecciones:
– Power-on Reset (POR)
– Power-up Timer (PWRT)
– Oscillator Start-up Timer (OST)
– Watchdog Timer (WDT) independiente del cristal.
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
1
2. 26/06/2012
REGISTROS Y BANCOS
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
2
3. 26/06/2012
PUERTOS DE ENTRADA Y SALIDA
• PORTA ( RA5, RA4, RA3, RA2, RA1, RA0 )
• PORTB ( RB7, RB6, RB5, RB4, RB3, RB2, RB1, RB0 )
• PORTC ( RC7, RC6, RC5, RC4, RC3, RC2, RC1, RC0 )
• PORTD ( RD7, RD6, RD5, RD4, RD3, RD2, RD1, RD0 )
• PORTE ( RE2, RE1, RE0 )
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
IUT Cumaná
Prof. Luis Zurita Microcontroladores II
3
4. 26/06/2012
CARACTERÍSTICAS (PERIFÉRICOS)
• Timer 0: timer/counter de 8 bits con un pre-
escalador de 8 valores.
• Timer 1: 16-bit timer/counter con pre-escalador
• Timer 2: 8-bit timer/counter con registro de estado
de 8-bit, pre-escalador y post-escalador
• Dos módulos de Captura, Comparación y PWM
(Modulación por anchura de pulso)
– Capture es de 16-bit, max. resolución es 12.5 ns
– Compare es de 16-bit, max. resolución es 200 ns
– PWM max. resolución de 10-bit
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
CARACTERÍSTICAS (PERIFÉRICOS )
• Convertidor analógico a digital de 10-bit multi-
canal
• Puerto serial síncrono (SSP) con SPI. (modo
maestro) e I2C (maestro/esclavo)
• Transmisor-Receptor síncrono-asíncrono
universal (USART/SCI) con 9-bit
• Puerto paralelo esclavo (PSP) con 8-bits de
ancho, con terminales de control RD, WR y CS
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
4
5. 26/06/2012
ARQUITECTURA INTERNA
• Arquitectura HARVARD.
• Buses separados (datos e instrucciones).
• Memoria de programa : 14 bits.
• Memoria de datos: 8 bits.
• Recursos mapeados en memoria de datos.
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
FUNCIONES PORTA
Terminal Funciones
RA0 Ent. Digital Sal. Digital Ent. Analógica
RA1 Ent. Digital Sal. Digital Ent. Analógica
RA2 Ent. Digital Sal. Digital Ent. Analógica VREF -
RA3 Ent. Digital Sal. Digital Ent. Analógica VREF +
RA4 Ent. Digital Sal. Digital Ent. contador 1
RA5 Ent. Digital Sal. Digital Ent. Analógica
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
5
6. 26/06/2012
FUNCIONES PORTB
Terminal Funciones
RB0 Ent. Digital Sal. Digital Ent. Interrupción 0
RB1 Ent. Digital Sal. Digital
RB2 Ent. Digital Sal. Digital
RB3 Ent. Digital Sal. Digital PGM ( función LVP )
RB4 Ent. Digital Sal. Digital
RB5 Ent. Digital Sal. Digital
RB6 Ent. Digital Sal. Digital PGC ( función LVP )
RB7 Ent. Digital Sal. Digital PGD ( función LVP )
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
FUNCIONES PORTC
Terminal Funciones
Ent. Digital Sal. Digital Sal. Osc timer 1 Ent. Contador 1
RC0
Ent. Digital Sal. Digital Ent. Osc Timer 1 Captura/Comp/PWM 1
RC1
Ent. Digital Sal. Digital Captura/Comp/PWM 2
RC2
Ent. Digital Sal. Digital Reloj sincrono SPI Reloj síncrono I2C
RC3
Ent. Digital Sal. Digital Datos entrada SPI Datos I2C
RC4
Ent. Digital Sal. Digital Datos salida SPI
RC5
Ent. Digital Sal. Digital Transmisión USART
RC6
Ent. Digital Sal. Digital Recepción USART
RC7
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
6
7. 26/06/2012
FUNCIONES PORTD
Terminal Funciones
RD0 Ent. Digital Sal. Digital Bit 0 puerto paralelo esclavo
RD1 Ent. Digital Sal. Digital Bit 1 puerto paralelo esclavo
RD2 Ent. Digital Sal. Digital Bit 2 puerto paralelo esclavo
RD3 Ent. Digital Sal. Digital Bit 3 puerto paralelo esclavo
RD4 Ent. Digital Sal. Digital Bit 4 puerto paralelo esclavo
RD5 Ent. Digital Sal. Digital Bit 5 puerto paralelo esclavo
RD6 Ent. Digital Sal. Digital Bit 6 puerto paralelo esclavo
RD7 Ent. Digital Sal. Digital Bit 7 puerto paralelo esclavo
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
FUNCIONES PORTE
Terminal Funciones
RE0 Ent. Digital Sal. Digital Ent. Analógica Lectura PSP
RE1 Ent. Digital Sal. Digital Ent. Analógica Escritura PSP
RE2 Ent. Digital Sal. Digital Ent. Analógica Habilitación PSP
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
7
8. 26/06/2012
LENGUAJE C. TIPOS DE DATOS.
El compilador CCS acepta los siguientes tipos de variables:
Especificación Significado Tamaño Rango
char carácter 8 bits 0 a 255 (sin signo)
Int entero 8 bits 0 a 255 (sin signo)
float Coma flotante 32 bits 6 bits de precisión
double Float doble No soportado No para PCM
precisión
void Sin valor nulo Ninguno
int1 Entero de 1 bit 1 bit 0a1
int8 Entero de 8 bits 8 bits 0 a 255 (sin signo)
int16 Entero de 16 bits 16 bits 0 a 65535
int32 Entero de 32 bits 32 bits 0 a (232-1)
Short Entero de 1 bit 1 bit 0a1
long Entero de 16 bits 16 bits 0 a 65535 (sin signo)
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
LENGUAJE C. TIPOS DE DATOS
Todos los tipos de datos son por defecto sin signo (unsigned)
salvo los de tipo float.
Para almacenar datos con signo, hay que introducir el
modificador signed delante del tipo. El efecto que se consigue es el
recogido en la siguiente tabla.
Especificación Significado Tamaño Rango
Signed char caractér con 8 bits -128 a 128
signo
Signed int Entero con signo 8 bits -128 a 128
Signed long Coma flotante 16 bits -32768 a 32768
Los números negativos se codifican en complemento a 2.
Cuando se opera con distintos grupos de datos en una misma
expresión, se aplican una serie de reglas para resolver las
diferencias.
En general se produce una “promoción” hacia los tipos de datos
de mayor longitud presentes en la expresión.
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
8
9. 26/06/2012
LENGUAJE C. CONSTANTES
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
OPERADORES ARITMÉTICOS
OPERADORES RELACIONALES
!=
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
9
10. 26/06/2012
OPERADORES LÓGICOS
OPERADORES A NIVEL DE BITS
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
OPERADORES DE INCREMENTO Y
DECREMENTO
OPERADORES DE CORRIMIENTO
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
10
11. 26/06/2012
VARIABLES
• Las variables se utilizan para nombrar posiciones de memoria
RAM; se deben declarar, obligatoriamente, antes de
utilizarlas; para ello se debe indicar el nombre y el tipo de
dato que se manejará. Se definen de la siguiente forma:
• TIPO NOMBRE_VARIABLE[=VALOR INICIAL]
– TIPO hace referencia a cualquiera de los tipos de datos
– NOMBRE_VARIABLE puede ser cualquiera y el valor inicial es opcional.
Ejemplos:
byte k = 5;
byte const SEMANAS = 52;
float temp_limit=500.0;
char k, kant=‘0’;
int x,y,z;
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
VARIABLES
• Las variables pueden ser de tipo LOCAL o GLOBAL.
• Las variables locales sólo se utilizan en la función
donde se encuentran declaradas; las variables
globales se pueden utilizar en todas las funciones del
programa. Ambas deben declararse antes de ser
utilizadas y las globales deben declararse antes de
cualquier función y fuera de ellas. Las variables
globales son puestas a cero cuando se inicia la
función principal main().
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
11
12. 26/06/2012
EJEMPLO DE VARIABLES LOCALES Y
GLOBALES
int16 counter; //Variable global
Void FUNCION ( )
{
int dato1, dato2=34; //Variables locales
}
void main()
{
int8 suma; //Variable local
}
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
FUNCIONES
Las funciones son los bloques constructivos
fundamentales en C.
Todas las sentencias deben encontrarse dentro de
funciones.
Las funciones deben ser definidas antes de ser utilizadas.
Formato general de definición de una función:
Tipo_dato nombre_función (tipo param1, tipo param2, …)
{
cuerpo de la función (sentencias);
}
El tipo de dato devuelto se indica mediante tipo_dato. Si
no se indica nada, se entiende que devuelve un entero. Si
no devuelve nada debe incluirse una especificación tipo
void.
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
12
13. 26/06/2012
La manera que tiene una función para devolver un
valor es mediante la sentencia return:
return (expresión); ó return expresión;
La expresión debe proporcionar el mismo tipo de
dato que el especificado en la función. Si no debe
devolver nada, se finaliza con:
return;
Cuando una función se encuentra con una sentencia
return se vuelve a la rutina de llamada inmediatamente y
las sentencias posteriores a return no se ejecutan.
Además de con las sentencia return, las funciones
terminan su ejecución y vuelven al lugar desde donde se
les llamó cuando alcanzan la llave de cierre de función }
tras ejecutar la última sentencia de la misma.
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
Además de devolver valores, una función también puede
recibir parámetros (denominados argumentos) según se indicó
en su definición.
Por ejemplo:
int suma(int a, int b) Parámetros
{ formales
return(a+b);
}
main()
{
int c; Argumentos
c= suma(10 , 23); de llamada
}
Los argumentos se pueden pasar a las funciones por valor o
por referencia.
La llamada por valor copia el argumento de llamada en el
parámetro formal de la función y no modifica su valor en la
función de partida.
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
13
14. 26/06/2012
DECLARACIONES DE CONTROL
If-else
Cuando la expresión evaluada es verdadera, Las
instrucciones de la sentencia 1 son ejecutadas. Si la expresión es
falsa, las instrucciones de la sentencia 2 son ejecutadas. La
expresión debe ser evaluada a un valor entero. Los paréntesis
que encierra la expresión son obligatorios.
La palabra especial “else sentencia 2” es opcional.
If – else: If – else:
if (expresión) if (expresión) {
sentencia1; sentencia1;}
else else {
sentencia2; sentencia2;}
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
Sentencia if.
Se ejecuta una sentencia o bloque de código si la expresión que
acompaña al if tiene un valor distinto a cero (verdadero). Si es cero
(falso) continúa sin ejecutar la sentencia o bloque de sentencias.
if (expresión) ó if (expresión)
sentencia; {
sentencia 1;
sentencia 2;
…
}
Sentencia if-else
Se evalúa una expresión y, si es cierta se ejecuta el primer bloque
de código o sentencia 1. Si es falsa, se ejecuta el segundo.
if (expresión) NOTA: Se pueden combinar varios
sentencia 1; if-else para establecer múltiples
else caminos de decisión
sentencia 2;
Abreviatura: (expresión)?(sentencia 1): (sentencia 2);
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
14
15. 26/06/2012
NO
A=0? C=5
If (A==0) B=10;
SI Else C=5;
B=10
If (A!=1) B=10;
Else C=5;
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
NO
A>10? If (A>10)
{IF(A>20) B=5;
SI Else B=15;}
NO
A>20? B=15
SI
B=5
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
15
16. 26/06/2012
NO
A>10? if (A>10)
{IF(A>20) B=15;}
SI else B=5;
B=5
SI
A>20? B=15
NO
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
Sentencia switch
Sustituye a if-else cuando se realiza una selección múltiple que
compara una expresión con una lista de constantes enteras o
caracteres. Cuando se da una coincidencia, el cuerpo de sentencias
asociadas a esa constante se ejecuta hasta que aparezca break.
switch (expresión)
Nota: break es opcional. Si
{ no aparece se sigue con el
case constante 1: case siguiente.
grupo de sentencias;
break; default es opcional y el
case constante 2: bloque asociado se ejecuta
grupo de sentencias; sólo si no hay ninguna
break; coincidencia con las
constantes especificadas.
…
default: No puede haber dos
grupo n de sentencias; constantes iguales en dos
} case de la misma sentencia
switch.
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
16
17. 26/06/2012
SI
switch (A){
A=0? B=1 case 0:
B=1;
NO break;
case 2:
SI B=2;
A=2? B=2
break;
case 3:
NO
B=3;
break;
SI
A=3? B=3 default:break;
}
NO
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
Sentencia de bucle for.
Se emplea para repetir una sentencia o bloque de
sentencias:
for (inicialización; condición; incremento)
{
sentencia(s);
}
En la inicialización se le asigna un valor inicial a una
variable que se emplea para el control de la repetición del
bucle.
La condición se evalúa antes de ejecutar la sentencia.
Si es cierta, se ejecuta el bucle. Si no, se sale del mismo.
El incremento establece cómo cambia la variable de
control cada vez que se repite el bucle.
Es posible anidar bucles for para modificar dos o más
variables de control.
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
17
18. 26/06/2012
For(N=1;N<=10;N++)
N=1 {
NO Printf(“%u”,N);
}
NO
N<=10?
SI
IMPRIMIR N
N=N+1 SI
NO
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
Sentencia de bucle while:
La repetición se lleva a cabo mientras sea cierta una expresión.
while (expresión)
{
sentencia(s);
}
La expresión se evalúa antes de cualquier iteración. Si es falsa, ya no
se ejecuta la sentencia o bloque de sentencias.
Sentencia de bucle do-while:
do
{
sentencia(s);
}
while (expresión)
Las sentencias se ejecutan antes de que se evalúe la expresión, por
lo que el bucle se ejecuta siempre al menos una vez.
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
18
19. 26/06/2012
Figure 2.3.1 Comparison of While and Do..While Loop
Condition
True? Statement
Block
Statement
Block Condition
True?
(a) While loop (b) Do..While loop
Listing 2.9 DOWHILE.C contains both types of ‘while’ loop
// DOWHILE.C
// Comparison of WHILE and DO WHILE loops
#include "16F877A.H"
main()
{
int outbyte1=0;
int outbyte2=0;
int count;
count=0; // This loop is not
while (count!=0) // executed
{ output_C(outbyte1);
outbyte1++;
count--;
}
count=0; // This loop is
do // executed
{ output_C(outbyte2);
outbyte2++;
count--;
} while (count!=0);
while(1){};
}
19
21. 26/06/2012
COMENTARIOS
Los comentarios se incluyen en el código fuente para documentar y
orientar al programador sobre el código que se diseña.
Son ignorados por el compilador y no afectan a la longitud ni
rapidez de ejecución del código final.
Un comentario se puede colocar en cualquier lugar del programa y
pueden tener la longitud y el número de líneas que se quiera.
Hay dos formatos posibles para los comentarios:
Formato 1. Empiezan por // y llegan hasta el final de la línea.
// Esto es un comentario.
Formato 2. Empiezan por /* y finalizan por */. No es posible anidar
comentarios con este formato. Ejemplos:
/*Esto también es
un comentario*/
/*Pero esto que /*parece un comentario válido*/ no lo es*/
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
OTRAS SENTENCIAS
• Return: se emplea para devolver datos en las
funciones.
• Break: permite salir de un bucle, se utiliza
para While, For, Do y Switch.
• Goto: provoca un salto incondicional.
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
21
22. 26/06/2012
DIRECTIVAS
• Las directivas de pre-procesado comienzan
con el símbolo # y continúan con un comando
específico. La sintaxis depende del comando.
Algunos comandos no permiten otros
elementos sintácticos en la misma expresión.
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
DIRECTIVAS DE INTERÉS
# DEVICE chip: permite definir el PIC con el que se
realizará la compilación. Ejemplo:
#device PIC16F877
#FUSES options: permite definir la palabra de
configuración para programar un PIC. Ejemplo:
#fuses XT,NOWDT,PUT,NOPROTECT, NOLVP
#INCLUDE <archivo>: permite incluir un fichero en
el programa. Ejemplo:
#INCLUDE <16f877.h>
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
22
23. 26/06/2012
DIRECTIVAS DE INTERÉS
#USE DELAY (CLOCK=SPEED): permite definir las frecuencias
del oscilador del PIC, el compilador lo utiliza para realizar
cálculos de tiempo. Se puede utilizar M, MHZ, K y KHZ para
definir la frecuencia. Ejemplo:
#use delay(clock=4000000)
Luego de definida en las declaraciones se pueden utilizar
las funciones:
delay_ms(tiempo en milisegundos)
delay_us(tiempo en microsegundos)
delay_cycles(tiempo en base a los ciclos de máquina)
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
FUNCIONES
• El compilador CCS suministra una serie de funciones
predefinidas para acceder y utilizar el PIC y sus
periféricos. Estas funciones facilitan la configuración
del PIC sin entrar en el nivel de los registros
especiales.
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
23
24. 26/06/2012
ESTRUCTURA DE UN PROGRAMA
Encabezado En general un programa está
estructurado en tres grandes partes:
a) Encabezado: Define el tipo de PIC con
Configuración, que se está trabajando, Bloque de
Declaración de declaraciones de variables y
Registros, Datos, constantes,
Constantes y
funciones. b) Configuración de registros especiales:
Registro OPTION, INTCON, TMR0,
puertos A y B, EECON, STATUS.
org C) Cuerpo del programa: Aquí están
contenidas todas las instrucciones
Cuerpo del
relacionadas a la ejecución de un
Programa
programa bajo un diseño individual,
end realizado por el programador.
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
ESTRUCTURA DE UN PROGRAMA EN C
( ciclo while )
// Definición de variables globales
// Definición de funciones
void main(void)
{
// Definición de variables locales
// Configuración de registros (recursos y puertos)
// ciclo infinito
while ( 1 )
{
// Programa de usuario
}
}
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
24
25. 26/06/2012
ESTRUCTURA DE UN PROGRAMA EN C
( ciclo for )
// Definición de variables globales
// Definición de funciones
void main(void)
{
// Definición de variables locales
// Configuración de registros (recursos y puertos)
// ciclo infinito
for ( ; ; )
{
// Programa de usuario
}
}
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
ESTRUCTURA DE UN PROGRAMA EN C
( ciclo do - while )
// Definición de variables globales
// Definición de funciones
void main(void)
{
// Definición de variables locales
// Configuración de registros (recursos y puertos)
// ciclo infinito
do
{
// Programa de usuario
} while ( 1 ) ;
}
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
25
26. 26/06/2012
CONFIGURANDO UN PUERTO EN ASM
La configuración de puertos es muy fácil:
1. Se selecciona el banco 1
• Aquí se encuentran los registros que manipulan mediante software a
los circuitos triestados que determinan que un pin o puerto trabaje
como entrada o salida.
2. Se configuran mediante los registros asociados a los puertos (TRISA y
TRISB), los pines de un puerto como entrada o salida.
• Si coloco un uno (1) en un bit asociado a un puerto (RA0, RA1, RB5,
RB7,etc), éste se comportará como una entrada y solamente podremos
leer por esta entrada.
• Si coloco un cero (0) en un bit asociado a un puerto, éste se comportará
como una salida y solamente podremos escribir por esta entrada.
• Podemos hacer analogía de la siguiente forma:
1 = In = Entrada = Solo lectura
0 = Out = Salida = Solo escritura
Microcontroladores Prof. Luis Zurita
CONFIGURANDO UN PUERTO EN ASM
La configuración de puertos es muy fácil:
3. Se selecciona o se regresa al banco 0, para trabajar con los puertos
que han sido previamente configurados.
• Si un puerto (o pin) ha sido configurado como salida, entonces se podrá
escribir sobre él, para sacar datos.
• Si un puerto (o pin) ha sido configurado como entrada, entonces se
podrá leer los datos que están ingresando por él.
• Nota: Escribir sobre un puerto (o pin) configurado como entrada, no
tiene ningún efecto. Si se desea escribir sobre él, es necesario que el
mismo sea habilitado como salida.
Microcontroladores Prof. Luis Zurita
26
27. 26/06/2012
MANEJO DE LOS PUERTOS
• En lenguaje C se pueden gestionar los puertos de dos
formas:
– Se declaran los registros TRISX y PORTX definiendo
su posición en la memoria RAM como variables de
C.
– Utilizando las directivas específicas del compilador
(#USE FAST_IO,#USE STANDARD_IO)
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
MANEJO DE LOS PUERTOS
• A través de la RAM:
#BYTE variable=constante. Ejemplo:
#BYTE TRISA=0x85 //variable TRISA en 85h
#BYTE PORTA=0x05 //variable PORTA en 05h
#BYTE TRISB=0x86 //variable TRISB en 86h
#BYTE PORTB=0x06 //variable PORTB en 06h
#BYTE TRISC=0x87 //variable TRISC en 87h
#BYTE PORTC=0x07 //variable PORTC en 07h
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
27
28. 26/06/2012
MANEJO DE LOS PUERTOS
• Una vez definidas estas variables se pueden
configurar y controlar los puertos a través de los
comandos de asignación.
TRISA= 0xFF;
TRISB= 0x00;
TRISC=0x0F;
• Escritura en los puertos:
PORTC=0x0A;
• Lectura de puertos:
dato=PORTA; // Asigna el valor del puerto A a la
// variable dato.
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
MANEJO DE LOS PUERTOS
Existen unas funciones de C que permiten trabajar
bit a bit con los registros o variables definidas
previamente. Estas funciones son las siguientes:
bit_clear(var,bit);
bit_set(var,bit);
Bit_test(var,bit);
Swap(var);
Ejemplos:
bit_set(PORTC,4);
If (bit_test(PORTB,0)==1) bit_clear(PORTB,1);
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
28
29. 26/06/2012
MANEJO DE LOS PUERTOS
• Se puede declarar un bit de un registro mediante la
directiva #BIT, lo que permite trabajar directamente
con el terminal:
#BIT nombre = posición.bit. Ejemplo:
#BIT RB4=0x06.4 //PORTB=0x06
RB4=0;
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
MANEJO DE LOS PUERTOS
#include <16F877.h>
#fuses XT,NOWDT,NOLVP
#use delay (clock=4000000)
#BYTE TRISB=0x86
#BYTE PORTB=0x06
#BYTE OPTION_REG=0x81
void main ( ) {
bit_clear (OPTION_REG,7);
bit_set (TRISB,0);
bit_clear (TRISB,1);
bit_clear (PORTB,1);
while (1){
if (bit_test(PORTB,0)==1)
bit_clear(PORTB,1);
else
bit_set(PORTB,1);
}
}
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
29
30. 26/06/2012
MANEJO DE PUERTOS
• A través de las directivas
El compilador ofrece funciones predefinidas para trabajar con
los puertos. Estas funciones son:
output_X(valor);
input_X( );
set_tris_X(valor);
port_b_pullups (valor); //True o FALSE
get_tris( );
Ejemplo:
output_A(0xFF);
valor=input_B( );
set_tris_C(0x0F);
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
MANEJO DE PUERTOS
• Existen una serie de funciones asociadas a un pin*. El
parámetro pin se define en el fichero include con un formato
del tipo PIN_Xn, donde X es el puerto y n es el número de pin.
#define PIN_A0 40
#define PIN_A1 41
Las funciones son:
output_low (pin*);
output_high (pin*);
output_bit (pin*,valor);
output_toggle (pin*);
output_float (pin*); // pin de entrada a tensión flotante
input_state (pin*);
Input (pin*);
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
30
31. 26/06/2012
MANEJO DE PUERTOS
• Las funciones output_x() e input_x()
dependen de la directiva tipo #USE_IO que
esté activa. Directivas:
#USE FAST_IO(PUERTO)
Con la función output_x() se saca el valor al
puerto y con la función input_x() se lee el
puerto. La directiva no modifica previamente
el registro TRIS correspondiente.
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
MANEJO DE PUERTOS
#include <16F877.h>
#fuses XT,NOWDT,NOLVP
#use delay (clock=4000000)
#use fast_io(B)
void main ( ) {
port_B_pullups (TRUE);
set_tris_B(0x01);
output_low(PIN_B1);
while (1){
if (input(PIN_B0)==1)
output_low(PIN_B1);
else
output_high (PIN_B1);
}
}
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
31
32. 26/06/2012
MANEJO DE PUERTOS
#USE STANDARD_IO(PUERTO)
Con la función output_x() el compilador se
asegura de que el terminal, o terminales
correspondientes sean de salida mediante la
modificación del TRIS correspondiente. Con la
función input_x() ocurre lo mismo pero
asegurando el terminal o terminales como
entrada. Es la directiva por defecto. Entonces,
el ejemplo anterior quedaría:
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
MANEJO DE PUERTOS
#include <16F877.h>
#fuses XT,NOWDT,NOLVP
#use delay (clock=4000000)
#use standard_io(B)
void main ( ) {
port_b_pullups (TRUE);
output_low(PIN_B1);
while (1){
if (input(PIN_B0)==1)
output_low(PIN_B1);
else
output_high (PIN_B1);
}
}
PROF. LUIS ZURITA DIGITALES. ING. INSTRUMENTACIÓN Y CONTROL.
32