El documento describe el bus I2C, incluyendo sus características, formatos de transferencia de datos y dispositivos compatibles. Explica que el bus I2C es un bus serie de dos líneas (SDA y SCL) más la línea de masa que permite conectar múltiples dispositivos. También describe el funcionamiento del periférico PCF8574A, un dispositivo de entrada/salida digital que se puede conectar al bus I2C para ampliar los puertos de un microcontrolador.
El documento describe el funcionamiento del puerto MSSP en modo I2C. El puerto MSSP puede funcionar como maestro o esclavo en el bus I2C, utilizando direcciones de 7 u 10 bits. En modo esclavo, recibe datos y direcciones del maestro y genera señales de acknowledgment, mientras que en modo maestro controla las líneas de datos y clock para comunicarse con los esclavos. El puerto utiliza varios registros para controlar la comunicación y almacenar datos de entrada y salida.
El documento describe el módulo transmisor USART (Universal Synchronous Asynchronous Receiver Transmitter) que se encuentra en los microcontroladores PIC16F87X. El USART puede configurarse en modo asíncrono o síncrono para comunicarse con dispositivos periféricos. Incluye generador de baudios, circuitos de transmisión y recepción, y registros para configurar el modo, velocidad y flujo de datos.
El documento describe el módulo de comunicaciones serie síncrona (MSSP) de un microcontrolador PIC, el cual permite la comunicación con periféricos externos a través de los protocolos SPI e I2C. El MSSP puede operar como maestro o esclavo y transferir datos de 8 bits de forma síncrona. Se explican los registros de configuración y estado asociados al módulo, así como los modos de operación maestro y esclavo.
El documento describe el módulo TIMER2 del PIC16F87X. El TIMER2 es un temporizador-contador ascendente de 8 bits que puede usarse como base de tiempo para otros módulos. Tiene un registro de periodo PR2 que, cuando coincide con el valor del contador TMR2, genera una interrupción. El preescaler y postescaler permiten dividir la señal de reloj y la interrupción respectivamente.
Este documento describe el módulo CCP (Captura/Comparación/PWM) de los microcontroladores PIC16F87X. El módulo CCP contiene dos registros de 16 bits que pueden funcionar como registros de captura, comparación o PWM. El módulo CCP1 y CCP2 son idénticos excepto por el modo de disparo especial de CCP2. El documento explica en detalle los modos de funcionamiento de captura, comparación y PWM, así como la configuración y uso de los registros asociados.
El documento describe un circuito y programa bootloader que permiten programar PIC16F87X de forma más rápida. El circuito incluye un PIC16F876, cristal, MAX232 y conector DB-9 para conectar al PC. El programa bootloader carga el código hexadecimal del programa de usuario a través de la USART, reduciendo el tiempo de programación. Al pulsar el reset, el bootloader recibe el código; de lo contrario ejecuta el programa de usuario.
El documento describe los registros PCL y PCLATH que almacenan la dirección del programa counter (PC). También describe la pila de 8 niveles que almacena el valor de PC para las instrucciones CALL y las interrupciones. Finalmente, explica cómo la memoria de programa de 8Kb está paginada en bloques de 2Kb a través de los bits PCLATH<4:3>.
El documento describe la organización de la memoria en los microcontroladores PIC16F87X. Estos dispositivos tienen tres bloques de memoria: memoria de programa, memoria RAM y memoria EEPROM. La memoria RAM se divide en cuatro bancos que contienen registros de propósito general y registros de funciones especiales. Los bits del registro STATUS seleccionan qué banco está activo.
El documento describe el funcionamiento del puerto MSSP en modo I2C. El puerto MSSP puede funcionar como maestro o esclavo en el bus I2C, utilizando direcciones de 7 u 10 bits. En modo esclavo, recibe datos y direcciones del maestro y genera señales de acknowledgment, mientras que en modo maestro controla las líneas de datos y clock para comunicarse con los esclavos. El puerto utiliza varios registros para controlar la comunicación y almacenar datos de entrada y salida.
El documento describe el módulo transmisor USART (Universal Synchronous Asynchronous Receiver Transmitter) que se encuentra en los microcontroladores PIC16F87X. El USART puede configurarse en modo asíncrono o síncrono para comunicarse con dispositivos periféricos. Incluye generador de baudios, circuitos de transmisión y recepción, y registros para configurar el modo, velocidad y flujo de datos.
El documento describe el módulo de comunicaciones serie síncrona (MSSP) de un microcontrolador PIC, el cual permite la comunicación con periféricos externos a través de los protocolos SPI e I2C. El MSSP puede operar como maestro o esclavo y transferir datos de 8 bits de forma síncrona. Se explican los registros de configuración y estado asociados al módulo, así como los modos de operación maestro y esclavo.
El documento describe el módulo TIMER2 del PIC16F87X. El TIMER2 es un temporizador-contador ascendente de 8 bits que puede usarse como base de tiempo para otros módulos. Tiene un registro de periodo PR2 que, cuando coincide con el valor del contador TMR2, genera una interrupción. El preescaler y postescaler permiten dividir la señal de reloj y la interrupción respectivamente.
Este documento describe el módulo CCP (Captura/Comparación/PWM) de los microcontroladores PIC16F87X. El módulo CCP contiene dos registros de 16 bits que pueden funcionar como registros de captura, comparación o PWM. El módulo CCP1 y CCP2 son idénticos excepto por el modo de disparo especial de CCP2. El documento explica en detalle los modos de funcionamiento de captura, comparación y PWM, así como la configuración y uso de los registros asociados.
El documento describe un circuito y programa bootloader que permiten programar PIC16F87X de forma más rápida. El circuito incluye un PIC16F876, cristal, MAX232 y conector DB-9 para conectar al PC. El programa bootloader carga el código hexadecimal del programa de usuario a través de la USART, reduciendo el tiempo de programación. Al pulsar el reset, el bootloader recibe el código; de lo contrario ejecuta el programa de usuario.
El documento describe los registros PCL y PCLATH que almacenan la dirección del programa counter (PC). También describe la pila de 8 niveles que almacena el valor de PC para las instrucciones CALL y las interrupciones. Finalmente, explica cómo la memoria de programa de 8Kb está paginada en bloques de 2Kb a través de los bits PCLATH<4:3>.
El documento describe la organización de la memoria en los microcontroladores PIC16F87X. Estos dispositivos tienen tres bloques de memoria: memoria de programa, memoria RAM y memoria EEPROM. La memoria RAM se divide en cuatro bancos que contienen registros de propósito general y registros de funciones especiales. Los bits del registro STATUS seleccionan qué banco está activo.
El documento describe la comunicación serial asíncrona mediante el módulo USART en los microcontroladores. El USART permite la transmisión y recepción de datos de forma asíncrona utilizando el protocolo RS-232 de 8 o 9 bits. El USART incluye un generador de baudios cuya frecuencia depende del registro SPBRG y el bit BRGH. Para la transmisión, los datos se cargan en el registro TXREG y se envían de forma secuencial utilizando el registro de desplazamiento TSR. Para la recepción, los datos se introducen en
Este documento describe el módulo TIMER0 del PIC16F87X. El TIMER0 es un temporizador/contador de 8 bits con interrupción por desbordamiento. Tiene un preescaler programable de 8 bits y puede trabajar con el reloj interno o externo. Se proporciona un ejemplo de programa que muestra números de 0 a 9 en un display cada segundo usando la interrupción del TIMER0.
Este documento presenta un curso sobre los microcontroladores PIC16F87X. Explica que el curso se basa en cuatro microcontroladores de la familia PIC16F87X con diferentes números de pines y capacidades de memoria. También proporciona detalles sobre las características principales y periféricos de los PIC16F87X y concluye con un ejercicio práctico para configurar las entradas y salidas digitales.
Este documento describe cómo configurar y usar la transmisión y recepción serial en un PIC16F877. Explica cómo configurar la velocidad a 9600 bps, habilitar la transmisión y recepción, y transmitir y recibir datos individuales.
El documento describe el módulo USART (Universal Synchronous/Asynchronous Receiver/Transmitter) que permite la comunicación serie asíncrona y síncrona en los microcontroladores PIC. El módulo USART incluye registros para la transmisión y recepción de datos así como para la configuración de parámetros como la velocidad de transmisión. Se explican los protocolos asíncronos con bits de inicio y parada y la posibilidad de usar 9 bits de dirección. También se incluyen ejemplos de código para la transmisión y recepción
Este documento describe el chip USART/UART, el cual convierte datos paralelos a seriales y viceversa para permitir la comunicación entre sistemas. Explica que el transmisor envía datos serialmente usando un buffer y registro de desplazamiento, mientras que el receptor es más complejo e incluye un chequeador de paridad y buffer de recepción. También cubre los formatos de caracteres, tipos de UART, palabra de control, terminales y ventajas de comunicación serial.
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.
Este documento describe cómo configurar y usar el módulo EUSART en el microcontrolador PIC16F887 para comunicaciones serie asíncronas. Explica que el EUSART puede configurarse para comunicaciones asíncronas bidireccionales usando dos líneas TX y RX, y describe los pasos para configurar la transmisión y recepción asíncrona, incluyendo la configuración de registros como TXSTA, RCSTA y BAUDCTL para establecer la velocidad de baudios.
Este documento describe los registros y modos de operación de los sistemas operativos. Describe los registros de datos, direcciones, punteros de pila y estado disponibles en los modos de usuario y supervisor. También explica los registros de control de la caché y los niveles de interrupción.
El documento describe un circuito digital que realiza sumas y restas de números binarios de 4 bits utilizando registros como flip-flops y latches para almacenar y transferir datos. El circuito incluye un sumador completo de 4 bits, registros conectados a un bus de datos para leer y escribir los números, y señales de control para gestionar la transferencia de datos y realizar las operaciones. Se muestra un diagrama de flujo del proceso de realizar la operación 2A utilizando el circuito.
El documento describe el uso de timers en PIC18, incluyendo timers 0-3. Explica cómo funcionan como contadores o temporizadores, y proporciona un ejemplo de código que configura el timer0 para generar interrupciones cada 5 milisegundos usando un prescaler de 16, generando un parpadeo en un LED.
El documento describe cómo crear una matriz LED de 8x8 controlada por un microcontrolador PIC18F2550. Explica que las matrices LED se usan comúnmente para mostrar mensajes publicitarios o informativos de manera dinámica. Luego detalla los pasos para construir el circuito, que incluye el microcontrolador, un registro de desplazamiento 74HC164 para multiplexar las filas y columnas de la matriz, y otros componentes. También incluye el código del programa para el microcontrolador para mostrar letras u otros patrones en la matriz LED.
1) El módulo posee 5 entradas analógicas y convierte la señal de entrada a un número binario de 10 bits, pudiendo configurarse para diferentes combinaciones de voltajes de referencia.
2) Puede operar en modo dormido usando el oscilador RC interno, permitiendo conversiones con el microcontrolador en este modo para ahorrar energía.
3) Cuenta con 4 registros de control y resultado, configurables por software para seleccionar el canal, reloj y formato de conversión, y almacenar el resultado.
Este documento describe varios proyectos prácticos con el microcontrolador PIC16F84, incluyendo la conexión de LED y dipswitch, el manejo de un display de siete segmentos para hacer un contador decimal, y la técnica de multiplexaje para leer teclados y mostrar datos en displays utilizando menos líneas de entrada/salida del microcontrolador. Se incluyen diagramas esquemáticos, diagramas de flujo y código de programa para cada proyecto.
Este documento describe varios proyectos prácticos con el microcontrolador PIC16F84, incluyendo la conexión de LED y dipswitch, el manejo de un display de siete segmentos para hacer un contador decimal, y la técnica de multiplexaje para leer teclados y mostrar datos en displays utilizando menos líneas de E/S. También se incluyen diagramas esquemáticos, diagramas de flujo y código de programa para cada proyecto.
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.
Los registros son circuitos secuenciales construidos con biestables en cascada que se utilizan para almacenar y transferir datos. Se pueden usar para convertir entre formatos serie y paralelo, contar, generar secuencias y más. Algunos ejemplos son registros de 4 bits para comparación, cerraduras codificadas y control remoto. Existen diferentes tipos de registros según sus características como dirección de desplazamiento y carga.
El documento describe los diferentes modos en que puede configurarse el módulo CCP de un microcontrolador, incluyendo modo comparador, captura y PWM. Explica cómo usar el módulo CCP en modo captura para medir el ancho de pulso de una señal PWM, y en modo PWM para generar una señal PWM. Incluye ejemplos de código para medir el ancho de pulso usando dos canales CCP y para generar una señal PWM de 1 kHz usando un solo canal CCP.
Este documento describe los circuitos secuenciales, específicamente contadores y registros. Explica qué son los contadores, cómo se clasifican y cómo se usan como divisores de frecuencia. Luego describe los registros, su clasificación en función de las entradas y salidas, y ejemplos de registros con entrada serie/salida serie, entrada serie/salida paralelo y entrada paralelo/salida serie.
El documento explica el funcionamiento de los transformadores eléctricos. 1) Los transformadores usan la inducción electromagnética para aumentar o disminuir voltajes mediante la variación del número de espiras en los bobinados primario y secundario. 2) La relación de transformación depende directamente de la proporción entre el número de espiras de cada bobinado. 3) Los transformadores se usan comúnmente para adaptar altos voltajes de la red eléctrica a los bajos voltajes requeridos por dispositivos electrónicos.
Este documento explica las Leyes de Kirchhoff para circuitos eléctricos. La primera ley establece que la corriente entrante a un nodo es igual a la corriente saliente. La segunda ley establece que la suma de las tensiones de las baterías en un circuito cerrado es igual a la suma de las caídas de tensión en los resistores. El documento provee ejemplos para ilustrar cómo aplicar estas leyes a circuitos simples y cómo verificar los resultados usando un simulador de circuitos.
El documento describe la comunicación serial asíncrona mediante el módulo USART en los microcontroladores. El USART permite la transmisión y recepción de datos de forma asíncrona utilizando el protocolo RS-232 de 8 o 9 bits. El USART incluye un generador de baudios cuya frecuencia depende del registro SPBRG y el bit BRGH. Para la transmisión, los datos se cargan en el registro TXREG y se envían de forma secuencial utilizando el registro de desplazamiento TSR. Para la recepción, los datos se introducen en
Este documento describe el módulo TIMER0 del PIC16F87X. El TIMER0 es un temporizador/contador de 8 bits con interrupción por desbordamiento. Tiene un preescaler programable de 8 bits y puede trabajar con el reloj interno o externo. Se proporciona un ejemplo de programa que muestra números de 0 a 9 en un display cada segundo usando la interrupción del TIMER0.
Este documento presenta un curso sobre los microcontroladores PIC16F87X. Explica que el curso se basa en cuatro microcontroladores de la familia PIC16F87X con diferentes números de pines y capacidades de memoria. También proporciona detalles sobre las características principales y periféricos de los PIC16F87X y concluye con un ejercicio práctico para configurar las entradas y salidas digitales.
Este documento describe cómo configurar y usar la transmisión y recepción serial en un PIC16F877. Explica cómo configurar la velocidad a 9600 bps, habilitar la transmisión y recepción, y transmitir y recibir datos individuales.
El documento describe el módulo USART (Universal Synchronous/Asynchronous Receiver/Transmitter) que permite la comunicación serie asíncrona y síncrona en los microcontroladores PIC. El módulo USART incluye registros para la transmisión y recepción de datos así como para la configuración de parámetros como la velocidad de transmisión. Se explican los protocolos asíncronos con bits de inicio y parada y la posibilidad de usar 9 bits de dirección. También se incluyen ejemplos de código para la transmisión y recepción
Este documento describe el chip USART/UART, el cual convierte datos paralelos a seriales y viceversa para permitir la comunicación entre sistemas. Explica que el transmisor envía datos serialmente usando un buffer y registro de desplazamiento, mientras que el receptor es más complejo e incluye un chequeador de paridad y buffer de recepción. También cubre los formatos de caracteres, tipos de UART, palabra de control, terminales y ventajas de comunicación serial.
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.
Este documento describe cómo configurar y usar el módulo EUSART en el microcontrolador PIC16F887 para comunicaciones serie asíncronas. Explica que el EUSART puede configurarse para comunicaciones asíncronas bidireccionales usando dos líneas TX y RX, y describe los pasos para configurar la transmisión y recepción asíncrona, incluyendo la configuración de registros como TXSTA, RCSTA y BAUDCTL para establecer la velocidad de baudios.
Este documento describe los registros y modos de operación de los sistemas operativos. Describe los registros de datos, direcciones, punteros de pila y estado disponibles en los modos de usuario y supervisor. También explica los registros de control de la caché y los niveles de interrupción.
El documento describe un circuito digital que realiza sumas y restas de números binarios de 4 bits utilizando registros como flip-flops y latches para almacenar y transferir datos. El circuito incluye un sumador completo de 4 bits, registros conectados a un bus de datos para leer y escribir los números, y señales de control para gestionar la transferencia de datos y realizar las operaciones. Se muestra un diagrama de flujo del proceso de realizar la operación 2A utilizando el circuito.
El documento describe el uso de timers en PIC18, incluyendo timers 0-3. Explica cómo funcionan como contadores o temporizadores, y proporciona un ejemplo de código que configura el timer0 para generar interrupciones cada 5 milisegundos usando un prescaler de 16, generando un parpadeo en un LED.
El documento describe cómo crear una matriz LED de 8x8 controlada por un microcontrolador PIC18F2550. Explica que las matrices LED se usan comúnmente para mostrar mensajes publicitarios o informativos de manera dinámica. Luego detalla los pasos para construir el circuito, que incluye el microcontrolador, un registro de desplazamiento 74HC164 para multiplexar las filas y columnas de la matriz, y otros componentes. También incluye el código del programa para el microcontrolador para mostrar letras u otros patrones en la matriz LED.
1) El módulo posee 5 entradas analógicas y convierte la señal de entrada a un número binario de 10 bits, pudiendo configurarse para diferentes combinaciones de voltajes de referencia.
2) Puede operar en modo dormido usando el oscilador RC interno, permitiendo conversiones con el microcontrolador en este modo para ahorrar energía.
3) Cuenta con 4 registros de control y resultado, configurables por software para seleccionar el canal, reloj y formato de conversión, y almacenar el resultado.
Este documento describe varios proyectos prácticos con el microcontrolador PIC16F84, incluyendo la conexión de LED y dipswitch, el manejo de un display de siete segmentos para hacer un contador decimal, y la técnica de multiplexaje para leer teclados y mostrar datos en displays utilizando menos líneas de entrada/salida del microcontrolador. Se incluyen diagramas esquemáticos, diagramas de flujo y código de programa para cada proyecto.
Este documento describe varios proyectos prácticos con el microcontrolador PIC16F84, incluyendo la conexión de LED y dipswitch, el manejo de un display de siete segmentos para hacer un contador decimal, y la técnica de multiplexaje para leer teclados y mostrar datos en displays utilizando menos líneas de E/S. También se incluyen diagramas esquemáticos, diagramas de flujo y código de programa para cada proyecto.
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.
Los registros son circuitos secuenciales construidos con biestables en cascada que se utilizan para almacenar y transferir datos. Se pueden usar para convertir entre formatos serie y paralelo, contar, generar secuencias y más. Algunos ejemplos son registros de 4 bits para comparación, cerraduras codificadas y control remoto. Existen diferentes tipos de registros según sus características como dirección de desplazamiento y carga.
El documento describe los diferentes modos en que puede configurarse el módulo CCP de un microcontrolador, incluyendo modo comparador, captura y PWM. Explica cómo usar el módulo CCP en modo captura para medir el ancho de pulso de una señal PWM, y en modo PWM para generar una señal PWM. Incluye ejemplos de código para medir el ancho de pulso usando dos canales CCP y para generar una señal PWM de 1 kHz usando un solo canal CCP.
Este documento describe los circuitos secuenciales, específicamente contadores y registros. Explica qué son los contadores, cómo se clasifican y cómo se usan como divisores de frecuencia. Luego describe los registros, su clasificación en función de las entradas y salidas, y ejemplos de registros con entrada serie/salida serie, entrada serie/salida paralelo y entrada paralelo/salida serie.
El documento explica el funcionamiento de los transformadores eléctricos. 1) Los transformadores usan la inducción electromagnética para aumentar o disminuir voltajes mediante la variación del número de espiras en los bobinados primario y secundario. 2) La relación de transformación depende directamente de la proporción entre el número de espiras de cada bobinado. 3) Los transformadores se usan comúnmente para adaptar altos voltajes de la red eléctrica a los bajos voltajes requeridos por dispositivos electrónicos.
Este documento explica las Leyes de Kirchhoff para circuitos eléctricos. La primera ley establece que la corriente entrante a un nodo es igual a la corriente saliente. La segunda ley establece que la suma de las tensiones de las baterías en un circuito cerrado es igual a la suma de las caídas de tensión en los resistores. El documento provee ejemplos para ilustrar cómo aplicar estas leyes a circuitos simples y cómo verificar los resultados usando un simulador de circuitos.
El documento describe el diseño de un amplificador de radiofrecuencia (RF) utilizando un transistor bipolar. Explica cómo polarizar el transistor NPN en una configuración de emisor común para funcionar como un amplificador de tensión. Luego, mide las características del amplificador, como su ganancia de 10 veces a 1 kHz y su ancho de banda de hasta 40 MHz, lo que es suficiente para amplificar señales de menos de 2 MHz necesarias para una radio.
Este documento introduce los conceptos básicos de electricidad estática y dinámica. Explica que la electricidad estática ocurre cuando los objetos se cargan temporalmente al ganar o perder electrones, mientras que la electricidad dinámica implica una circulación permanente de electrones impulsada por una fuente como una pila o dinamo. También define los términos de aislador, conductor y corriente eléctrica, estableciendo las bases para el estudio de la electrónica.
El documento describe el módulo convertidor analógico/digital (A/D) de los microcontroladores PIC16F87X. Incluye cinco o ocho entradas analógicas dependiendo del dispositivo. La señal analógica se aplica a un condensador de muestreo y luego al convertidor A/D de aproximaciones sucesivas que produce una palabra de 10 bits. El convertidor A/D puede seleccionar la tensión de referencia interna o externa y tiene cuatro registros asociados: ADRESH, ADRESL, ADCON0 y AD
El documento describe el funcionamiento de un receptor de radio AM/FM que utiliza un circuito integrado LA1828. El LA1828 contiene todos los componentes necesarios para un receptor superheterodino, incluyendo amplificadores de RF, mezcladores, osciladores, amplificadores de FI, detectores, y un decodificador estéreo. Solo se requiere agregar un amplificador de audio para completar el receptor. El documento explica las funciones de cada sección del LA1828 para AM y FM.
El documento describe los diferentes tipos de resistores, incluyendo resistores de carbón depositado y resistores especiales. Explica que los resistores transforman la energía eléctrica en energía térmica y se calientan como resultado de la corriente eléctrica que circula a través de ellos. También cubre conceptos como la tolerancia de los componentes electrónicos y las series de valores de resistores.
Este documento describe los diferentes tipos de diodos y sus aplicaciones. Explica que el diodo es el componente activo más elemental y describe su comportamiento a través de curvas características. También analiza circuitos rectificadores de corriente alterna a corriente continua usando diodos y capacitores electrolíticos, y menciona otros tipos especiales de diodos como los diodos rápidos y Schottky.
1) El documento describe cómo generar tonos de audio usando el programa Audacity para probar un amplificador. También explica cómo medir correctamente la potencia de salida de un amplificador de audio usando una carga resistiva, un generador de tonos y un medidor.
2) Se explican los pasos para probar individualmente placas amplificadoras antes de conectarlas en un puente doble para probar el sistema completo.
3) Finalmente, se describen pruebas adicionales como medir la respuesta en baja frecuencia y cómo ajustar los capacitores para
Este documento describe los componentes básicos de un parlante y cómo funciona, incluyendo la interacción entre el campo magnético de la bobina móvil y el circuito magnético fijo. También explica cómo calcular la potencia máxima que puede entregar un amplificador en función de su tensión de fuente y la impedancia del parlante, y describe una etapa de excitación básica de un parlante usando un potenciómetro y una fuente de tensión continua.
El documento describe un amplificador en puente para automóviles que ofrece mayor potencia que un amplificador convencional. Explica cómo dos amplificadores conectados en puente permiten doblar la tensión de salida aplicada al parlante. También aborda mejoras como el uso de transistores Darlington para mejorar la excitación de la etapa de salida y así maximizar la potencia obtenida. Finalmente, incluye un circuito con un inversor y control de volumen para la señal de entrada.
Marketing Inetnship at Pepsico (Jamshedpur)nawaz7862013
This document provides an overview of distribution channels and promotional activities. It defines distribution channels as the chain of intermediaries that a product passes through to reach the end consumer, including wholesalers, retailers, and distributors. Direct channels involve selling directly to consumers, while indirect channels involve selling through other businesses first. The document then discusses important factors in determining distribution channels, such as buyer behavior, needs for product information and support, willingness of intermediaries to market products, and costs of using intermediaries. It also covers producers' considerations around maintaining control over sales and having the internal resources to perform distribution functions.
Measurement of dielectric properties of textile materials and their applicationsAbdullah Al Mahfuj
This document discusses the properties of textile materials and their applications. It begins by explaining that textile materials like fabrics and yarns are assemblies of fibers made of long chain polymers. Their dielectric behavior depends on the properties of the constituent fibers and polymers. It then discusses different types of molecular motion that influence dielectric relaxation in polymers. Various methods for measuring dielectric properties of fibers and textiles are also presented. Factors that can affect these measurements like frequency, temperature, and moisture are outlined. Finally, some applications of dielectric properties in textiles like moisture content measurement, evenness measurement, dielectric heating, and sensor applications are briefly mentioned.
This document summarizes Abdullah Al Mahfuj's profile and presentation on heat transfer. It introduces Abdullah, a Textile Engineering student at Green University of Bangladesh. It then discusses the three methods of heat transfer: conduction, which occurs through direct contact; convection, which occurs in fluids; and radiation, which can occur through a vacuum using electromagnetic waves. Specific examples are provided to illustrate each type of heat transfer.
Un switch de datos es un dispositivo que conecta múltiples enlaces de red para formar redes más grandes. Recibe paquetes de datos entrantes en un puerto y los envía al puerto de salida apropiado basado en la dirección de destino. Los switches permiten construir redes escalables al interconectar grandes áreas geográficas y soportar un gran número de nodos. Existen diferentes enfoques para la conmutación de paquetes como conmutación no orientada a conexión, orientada a conexión y source routing.
Este documento presenta una introducción a los buses de comunicación I2C y SPI. Explica que I2C utiliza dos líneas (SDA y SCL) para la transmisión síncrona de datos entre dispositivos maestros y esclavos conectados a un bus común, mientras que SPI utiliza tres líneas (SCLK, MOSI, MISO) y una línea de selección individual (CS) para cada dispositivo esclavo. También describe los protocolos básicos de cada bus, incluyendo condiciones de inicio, parada y transmisión de datos
El documento describe los conceptos fundamentales de la comunicación serial, incluyendo que transmite los datos de forma secuencial un bit a la vez, utilizando dos niveles lógicos (marca/espacio). Explica que la comunicación serial es más simple y puede alcanzar mayores distancias que la comunicación en paralelo. También cubre temas como los estándares TTL y RS-232, el uso de optoacopladores, y las características clave de la transmisión de datos como la velocidad, líneas de comunicación, y detección de erro
El I2C es un sistema de comunicación serial que utiliza dos líneas (SDA y SCL) para transmitir datos entre dispositivos como memorias y sensores. Permite conectar hasta 112 dispositivos utilizando direcciones únicas. Un dispositivo maestro se comunica con uno o más esclavos a velocidades entre 100-400 kHz siguiendo un protocolo de inicio, transmisión y fin de la comunicación basado en los niveles de voltaje de las líneas SDA y SCL.
Conexiones en-serie-microcontroladoresDanny Tierra
Este documento describe diferentes protocolos de comunicación serial entre microcontroladores, incluyendo SPI, I2C y RS-232. SPI es un protocolo síncrono que utiliza 3 cables y un maestro genera la señal de reloj. I2C es también síncrono y permite más de un maestro utilizando dos líneas (SCL, SDA) y un cable de tierra. RS-232 es asíncrono y requiere un convertidor como MAX232 para equilibrar los niveles de voltaje entre dispositivos.
El documento describe el protocolo RS-485, incluyendo sus ventajas como bajo costo, gran capacidad de interconexión, largas distancias y alta velocidad. Explica cómo RS-485 usa líneas balanceadas para transmitir señales diferenciales que son inmunes al ruido. También cubre los requerimientos de voltaje para transmisores y receptores RS-485 y cómo la comunicación puede ocurrir en modo half-duplex o full-duplex. Finalmente, detalla el uso de circuitos integrados como el SN75176 para convertir entre
Capitulo n2 redundancia de lan hoy ccna 2Diego Caceres
Este documento describe la redundancia de capa 2 y los protocolos utilizados para administrarla. La redundancia de enlaces físicos entre dispositivos proporciona rutas alternativas para que la red continúe funcionando si falla un enlace. Sin embargo, la redundancia puede causar bucles de capa 2 a menos que se implementen protocolos como STP. STP bloquea rutas redundantes para asegurar una única ruta lógica entre destinos y evitar bucles, mejorando la confiabilidad y disponibilidad de la red.
1. El documento habla sobre la conmutación de Ethernet y cómo los puentes y switches segmentan las redes para mejorar el rendimiento al reducir las colisiones. 2. Los puentes aprenden las direcciones MAC de los dispositivos en la red y envían los paquetes a través de los puertos correctos. 3. Los switches son como puentes multipuerto que crean dominios de colisión individuales para cada puerto, mejorando aún más el rendimiento de la red.
Este documento describe el diseño de un módulo RS-232 que permite la comunicación serial entre un microcontrolador y otros dispositivos compatibles con RS-232. Explica el estándar RS-232, el chip conversor MAX232 utilizado, y el diseño esquemático del módulo que incluye el chip conversor, condensadores, resistencias, LEDs y un conector DB-9 para la interfaz. El módulo permite la transmisión y recepción de datos seriales así como el control de flujo de datos entre dispositivos.
El algoritmo STP se utiliza para evitar bucles en la red mediante el bloqueo estratégico de puertos redundantes. Determina un switch raíz y calcula las mejores rutas hacia él, bloqueando puertos para asegurar una sola ruta sin bucles. Intercambia tramas BPDU para coordinar esta función en toda la red. Asigna funciones de puerto como raíz, designado o no designado para controlar el tráfico según la posición relativa al switch raíz.
Este documento describe el puerto serial USART (Universal Synchronous Asynchronous Receiver Transmitter) en los microcontroladores. El puerto USART permite la comunicación bidireccional asincrónica simultánea a través de los registros TXREG y RCREG. Puede operar en modo asincrónico o sincrónico. En modo asincrónico es más común y permite comunicaciones a mayor distancia, aunque más lentas. Se requiere un circuito MAX232 para adaptar los niveles lógicos RS-232 del PC a los niveles TTL del microcontrolador.
Este documento describe la operación maestro/esclavo del SERIPLEX. En este modo, una tarjeta de interfaz emite dos impulsos de reloj por dirección en la línea de reloj, separando las señales de entrada y salida. Durante el primer impulso, los datos de entrada son transmitidos al sistema central y durante el segundo impulso, el sistema central transmite datos de salida a los dispositivos remotos. Este modo permite que el sistema central controle todas las señales de salida y tome decisiones de control.
El documento describe la operación maestro/esclavo del sistema SERIPLEX. En este modo, una tarjeta de interfaz emite dos impulsos de reloj por dirección en la línea de reloj, separando las señales de entrada y salida. Durante el primer impulso, los datos de entrada son transmitidos al sistema central y durante el segundo impulso, el sistema central transmite datos de salida a los dispositivos remotos. Esto permite al sistema central controlar el estado de todas las señales de salida del bus.
El documento describe cómo configurar y operar un switch de red. Explica que un switch aprende las direcciones MAC de los dispositivos conectados y envía paquetes solo al puerto correspondiente para mejorar el rendimiento de la red. También cubre cómo configurar la seguridad básica y los modos de funcionamiento de un switch como half-duplex y full-duplex.
Tabla de Contenido:
Protocolos y el modelo OSI
LANs y WANs
Dispositivo de Red
Introducción a la suite TCP / IP
Enrutamiento
Direccionamiento
Tipos de conmutación
Spanning Tree Protocol
LAN virtuales
El documento resume los conceptos clave de la transmisión de datos digitales a través de interfaces y modems. Explica que la transmisión puede ser paralela o serie, y que la serie puede ser asíncrona o síncrona. También describe la interfaz DTE-DCE, los estándares EIA-232 y los componentes de un modem, incluidas las tasas de transmisión posibles según la modulación utilizada.
Este documento describe la comunicación entre Arduinos utilizando el protocolo I2C. Explica qué es I2C, cómo funciona, incluyendo las líneas SDA y SCL, el diagrama, y el protocolo de comunicación. También describe un circuito de ejemplo con un Arduino maestro controlando 5 LEDs en un Arduino esclavo a través de I2C, incluyendo el código para cada uno.
El documento describe los puertos de entrada y salida del microcontrolador PIC16F84. Tiene dos puertos paralelos, el Puerto A de 4 bits y el Puerto B de 8 bits, que se pueden configurar como entradas o salidas. También especifica los límites de corriente que pueden manejar cada puerto y línea individual para evitar dañar el microcontrolador.
El documento describe el estándar RS-232 para la comunicación serial entre dispositivos de terminal de datos y equipos de comunicaciones de datos. Define los niveles de voltaje, pines, formato de bits y otros parámetros para la transmisión asincrónica de datos entre dos dispositivos a través de un puerto serial RS-232. También cubre el control de flujo, representación de caracteres, conectores y otros aspectos de la interfaz RS-232.
Este documento describe formas de aumentar la velocidad y el paralelismo en computadores de alto rendimiento. Menciona que el procesamiento paralelo es necesario para aplicaciones que requieren grandes cantidades de datos, como procesamiento de imágenes en tiempo real. Luego detalla algunas estrategias como usar tecnologías más rápidas, reducir los niveles de puertas lógicas, aumentar la complejidad de circuitos combinatorios, mejorar el diseño de memorias y sustituir parte del sistema lógico por hardware dedicado.
Similar a Curso de microcontroladores capitulo 11 (20)
El documento presenta una guía para instalar y configurar Ubuntu de forma amena y divertida. Explica brevemente qué es Ubuntu, su popularidad como sistema operativo libre, e incluye un resumen del contenido del libro que contiene 7 capítulos sobre introducción a Linux, instalación, primeras sesiones, aplicaciones de uso cotidiano, comunicación, personalización y uso de la consola, además de un apéndice sobre otras distribuciones LiveCD.
Compilador CCS y simulador proteus para microcontroladores PICHamiltonn Casallas
El documento habla sobre la importancia de resumir textos de forma concisa para captar la idea principal. Explica que un buen resumen debe identificar la idea central y los detalles más relevantes del documento original en una o dos oraciones como máximo.
Este documento presenta una unidad didáctica sobre electricidad básica y sus aplicaciones. Explica conceptos clave como la generación, transmisión y distribución de la electricidad, así como los componentes de los circuitos eléctricos generales y de viviendas. El objetivo es que los estudiantes aprendan a diseñar, analizar y construir circuitos eléctricos y comprendan cómo funcionan dispositivos comunes. Incluye contenidos, objetivos, índice, preguntas iniciales y actividades prácticas sobre electricidad estática.
1) El documento proporciona instrucciones para diseñar e implementar circuitos impresos para amplificadores de audio, incluyendo cómo dibujar el circuito en Live Wire y transferirlo a PCB Wizard, colocar componentes, trazar pistas y medidas de la placa.
2) Se explican detalles como el uso de disipadores para los transistores y la fabricación de las placas de circuito impreso a partir de los diseños provistos.
3) El objetivo es producir placas de circuito impreso personalizadas para amplificadores de diferentes potencias (2W,
El documento explica la importancia de medir los parámetros térmicos de los componentes electrónicos, como la temperatura del chip de los transistores de salida, ya que las altas temperaturas pueden dañarlos. También describe cómo se pueden realizar cálculos para determinar la resistencia térmica requerida para un disipador y así mantener seguras las temperaturas del chip. Finalmente, ofrece ejemplos del cálculo de temperaturas usando la ley de Ohm térmica.
Este documento proporciona instrucciones para medir la potencia de salida de un amplificador de audio utilizando componentes básicos en lugar de equipos de prueba caros. Describe cómo construir una carga resistiva estéreo de 8 ohmios y 200W usando alambre de cobre esmaltado, y cómo usar un centro musical o DVD como generador de señales de audio junto con un divisor de voltaje para controlar el nivel de entrada. También explica cómo medir la tensión de recorte del amplificador usando un diodo y capacitor en lugar de un oscil
Este documento describe un amplificador de audio push-pull básico con dos transistores. Explica que la distorsión por cruce se produce cuando ningún transistor conduce cerca de 0V, y que esto se corrige agregando una batería o transistor entre las bases. También describe cómo el capacitor de bootstrap permite que la tensión de salida alcance los valores máximos de la fuente de alimentación saturando completamente los transistores de salida.
El documento describe cómo construir bobinas ajustables, las cuales son importantes para reparaciones cuando los componentes originales no están disponibles. Explica cómo desarmar una bobina existente para reutilizar sus materiales en la construcción de nuevas bobinas. Proporciona detalles sobre el cálculo del número de espiras requeridas y los pasos para bobinar y probar las nuevas bobinas.
El documento describe el diseño de un circuito de radio AM con un solo transistor. Explica el teorema de la máxima transferencia de energía y cómo diseñar una antena y un circuito resonante para maximizar la transferencia de energía entre la antena y la base del transistor. También cubre conceptos como el factor de mérito Q, la resistencia equivalente y las derivaciones de bobinas para cumplir con el teorema de la máxima transferencia.
La radio comenzó de forma industrial y comercial con la primera transmisión comercial y el receptor de radio del siglo pasado. Las primeras transmisiones de radio fueron telegráficas usando código Morse, transmitiendo señales digitales. Más tarde se desarrolló la modulación de amplitud (AM) para transmitir audio modulando la amplitud de la onda portadora de radiofrecuencia, permitiendo que el oído humano escuche la información.
El documento explica el principio de resonancia en un circuito RLC serie y cómo se deduce la fórmula de resonancia de Thomson. Luego, detalla los pasos para construir un generador de RF utilizando un circuito RLC resonante excitado por un generador de ondas cuadradas. Incluye cálculos para determinar los valores requeridos de la bobina inductora para lograr la frecuencia deseada basándose en los valores del capacitor del tande disponible. Finalmente, muestra simulaciones del circuito RLC resonante en diferentes configuraciones.
El documento explica los conceptos de corriente continua (CC), corriente alterna (CA), resistencia, reactancia capacitiva y reactancia inductiva. Describe cómo los capacitores y inductores se comportan de manera diferente cuando se conectan a fuentes de CA versus CC, presentando una reactancia en lugar de una resistencia con CA. También introduce diferentes formas de onda como senoidal, cuadrada y triangular que pueden generarse usando un generador de funciones.
Equipo 4. Mezclado de Polímeros quimica de polimeros.pptxangiepalacios6170
Presentacion de mezclado de polimeros, de la materia de Quimica de Polímeros ultima unidad. Se describe la definición y los tipos de mezclado asi como los aditivos usados para mejorar las propiedades de las mezclas de polimeros
1. E
l bus I2
C es un bus serie, for-
mado por dos hilos (SDA y
SCL) mas la línea de masa, que
puede conectarse varios dispo-
sitivos mediante un hardware
tan sencillo como el que se muestra en
la figura 1. Aunque los buses serie no
tienen la capacidad de los buses para-
lelo, requieren menos cableado y me-
nos terminales de conexión.
La línea SDA (Sereial Data) es la
línea para la transferencia de datos se-
rie, mientras que la línea SCL (Serial
Clock) es la línea de reloj que se utili-
za para la sincronización de datos. Es-
tas líneas son de drenador o de colec-
tor abierto y deben conectarse a posi-
tivo de la alimentación a través de una
resistencia externa, formando una es-
tructura deAND cableada (como pue-
de verse en la figura 2) de tal manera
que dependiendo del transistor de sa-
lida de cada dispositivo pueden ocu-
rrir alguno de los siguientes casos:
q Que el transistor esté saturado, lo que
provocará un nivel bajo en la línea
correspondiente, independientemente
del estado de los otros transistores.
Indicando en este caso que el bus es-
tá ocupado.
q Que el transistor esté en corte, por lo
tanto está en estado de alta impe-
dancia, es decir, el estado de la línea
depende de los otros transistores. En
CURSO DE
MICROCONTROLADORES
PIC16F87X (...y XI)
CURSO DE
MICROCONTROLADORES
PIC16F87X (...y XI)
Fernando Remiro Domínguez
Profesor de Sistemas Electrónicos
IES. Juan de la Cierva
www.terra.es/personal/fremiro
MICROCONTROLADORES
50RESISTOR
En el número
anterior prometiamos que
conectaríamos algún
dispositivo I2
C a los
PIC16F87X, pero antes de
empezar queremos recordar
brevemente en que consiste
el bus serie I2
C (IIC, Inter
Integrated Circuit Bus).
Figura 1.- Configuración típica del bus I2C
50-64 MICROCONTROLADORES2 26/4/04 10:50 Página 50
2. MICROCONTROLADORES
51RESISTOR
estas condiciones la línea corres-
pondiente estará a nivel alto a través
de la resistencia de pull-up.
Se pueden transferir datos por el
bus a una velocidad máxima de 100
Kbits/seg en el modo estándar (Stan-
dard Mode), 400 Kbits en el modo rá-
pido (Flast Mode) y a 3,4Mb/s en el
caso de alta velocidad (High-Speed
Mode). El número de dispositivos co-
nectados al bus viene limitado por la
capacidad máxima admitida en el bus,
que es de 400 pF. El valor de Rp de-
pende de la tensión de alimentación y
de la capacidad del bus y del número
de periféricos conectados, valores típi-
cos están entre 4K7 y 2K2.
Los dispositivos conectados al bus
I2
C pueden ser tanto Maestros como
Esclavos. Debemos de tener en cuenta,
que un Maestro ( Master )es un circui-
to integrado que determina la tempo-
rización y la dirección de la transfe-
rencia de datos. Este circuito integra-
do es el único que aplica los pulsos de
reloj a la línea SCL. Los maestros sue-
len ser microcontroladores.
Cuando se conectan varios
dispositivos maestros a un úni-
co bus I2
C la configuración re-
alizada se denomina multi-
maestro. Es el dispositivo que
inicia la transferencia, genera
la señal de reloj y finaliza la
transferencia. Mientras que un
Esclavo ( Slave ) es cualquier
circuito integrado conectado
al bus I2
C que no es capaz de
generar pulsos de reloj. Los
circuitos integrados esclavos reciben
señales de comandos y de reloj proce-
dentes del maestro.
TRANFERENCIA DE UN BIT
POR LA LÍNEA SDA
Los datos en la línea SDA deben
ser estables durante el periodo ALTO
de reloj. La línea de datos SDA sólo
puede cambiar cuando la señal de re-
loj en la línea SCL se encuentre en es-
tado bajo tal y como se muestra en la fi-
gura 3.
CONDICIONES DE START
Y STOP
La condición de START es una
transición de un nivel alto a un nivel
bajo de la línea SDA mientras la línea
SCL esta en a nivel alto.
Una transición de un nivel bajo a
un nivel alto de la línea SDA mientras
la línea SCL está a nivel alto, define
una condición de STOP.
Las condiciones de START y STOP
siempre las genera el Master. El bus se
considera ocupado después de la con-
Figura 2.- Etapa de salida de los dispositivos I2
C
Figura 3.- Transferencia de un bit por el bus I2
C
Figura 4.- Condiciones de START y de STOP
50-64 MICROCONTROLADORES2 26/4/04 10:50 Página 51
3. MICROCONTROLADORES
52RESISTOR
dición de START y se considera que
esta libre de nuevo un tiempo después
de una condición de STOP
TRANSFERENCIA DE DATOS
Cada dato que se quiere transmitir
por la línea SDA debe tener 8 bits y la
transmisión comienza empezando por
el bit más significativo (MSB). El nu-
mero de octetos implicados en cada
transferencia es indefinido. Cada oc-
teto ha de ir seguido por un bit de re-
conocimiento ACK (acknowledge-
ment) en el noveno pulso de reloj. El
receptor ejecuta éste reconocimiento
poniendo la señal SDA a nivel bajo, tal
y como se muestra en la figura 5.
Si un dispositivo receptor no puede
recibir otro octeto por encontrarse re-
alizando alguna otra función, como,
por ejemplo, sirviendo a una interrup-
ción, puede mantener a nivel bajo la
línea de reloj SCL para hacer que el
transmisor pase a un estado de espera.
La transferencia de datos conti-
nuará cuando el receptor esté prepara-
do para recibir otro octeto de datos y
deje libre la línea de reloj SCL.
Cuando un esclavo receptor no re-
conoce su propia dirección de escla-
vo, la línea de datos queda a nivel alto.
Entonces el maestro genera una con-
dición de STOP para cortar la trans-
ferencia.
Si un esclavo receptor reconoce co-
mo suya la dirección del esclavo, pero
cierto tiempo después no puede reci-
bir mas octetos de datos, el esclavo no
genera el bit deACK del ultimo octeto,
quedando la línea SDA a nivel alto, en-
tonces el maestro genera una condi-
ción de STOP para cortar la transfe-
rencia.
En el caso de un maestro implicado
en una transferencia, éste debe seña-
lar el final de los datos al esclavo trans-
misor, no generando el bit deACK del
último octeto que ha recibido del es-
clavo. El esclavo transmisor debe dejar
libre la línea de datos para permitir que
el maestro genere la condición de
STOP, tal y como puede verse en la fi-
gura 6.
FORMATOS
Las transferencias de datos siguen
el formato mostrado en la figura 7; des-
pués de la condición de START, se en-
vía la dirección de un esclavo. Esta di-
rección tiene 7 bits, el octavo bit es un
bit de dirección de datos (R/W), un "0"
indica una transmisión (ESCRITU-
RA), un "l" indica petición de datos
(LECTURA). Una transferencia de da-
tos siempre termina con una condición
de STOP generada por la unidad prin-
cipal. No obstante, si un maestro aún
desea comunicarse con el bus, puede
generar otra condición de START y di-
reccionar a otro esclavo sin generar pri-
mero una condición de STOP. En una
transferencia de este tipo son posibles,
Figura 5.- Transferencia de datos por el bus I2
C
Figura 6.- Reconocimiento de un octeto en el bus I2
C
50-64 MICROCONTROLADORES2 26/4/04 10:50 Página 52
4. MICROCONTROLADORES
53RESISTOR
por tanto, varias combinaciones de for-
matos de lectura/escritura.
Posibles formatos de transferencia
de datos son:
1. El maestro transmisor transmite al
esclavo receptor. Si el bit 8 es de es-
critura, R/W=0, la secuencia será la
de la figura 8.
2. El maestro-receptor lee de un
esclavo-emisor.
En el momento de1 primer reco-
nocimiento, el maestro transmisor pa-
sa a ser maestro receptor y el esclavo
receptor pasa a ser esclavo transmisor.
Este primerACK siempre lo genera el
esclavo. Los siguientesACK y la con-
dición de STOP la genera el
maestro.
3. Formatos combinados. Durante un
cambio de sentido dentro de una
transferencia, la condición de
START y la dirección de1 esclavo
se repiten, pero el bit R/W se in-
vierte.
Seguidamente describiremos un
sencillo periférico I2
C, como es el PCF
8574A, que es un periférico de entra-
das/salidas digitales.
DESCRIPCIÓN del PCF8574A
Se trata de un dispositivo diseñan-
do para interface con el bus I2
C que
proporciona una ampliación de 8 líne-
as de E/S digitales y que se puede em-
plear en cualquier sistema microcon-
trolador dotado del hardware y/o soft-
ware necesario para el protocolo I2
C.
En la tabla 1 se muestra su patillaje y la
descripción de cada uno de los pines.
El PCF 8574A es un dispositivo
CMOS de bajo consumo que incluye
salidas "latcheadas" con amplificado-
res de alta corriente para activar direc-
tamente cargas tipo LED. Su diagra-
ma de bloques es el que se muestra en
la figura 11.
Dispone de la línea #INT de inte-
rrupciones que puede conectarse a la
lógica de interrupciones del micro-
controlador. Que será llamando a tra-
vés de la interrupción con esta línea,
el I/O remoto puede informar al mi-
crocontrolador si hay datos de entra-
da en los puertos, sin tener que comu-
nicarse por el bus I2
C. Es decir, puede
trabajar como un simple dispositivo
esclavo. Los PCF8574 y versiones
PCF8574A sólo difieren en su direc-
Figura 7.- Transferencia completa de datos
Figura 9.- El maestro lee datos del esclavo
Figura 10.- Formato combinado
Figura 8.- El Maestro escribe datos en el esclavo
50-64 MICROCONTROLADORES2 26/4/04 10:50 Página 53
5. ción del esclavo, tal y como se muestra
en la Figura 12.
La parte fija de la dirección es la
combinación binaria 0111 para el mo-
delo PCF8574A y 0100 para el
PCF8574, la parte programable la de-
termina el nivel lógico de las señales
A0-A2 que las define el usuario a vo-
luntad.
Cada línea de la puerta de E/S pue-
de usarse como entrada o salida inde-
pendientemente. En modo de escritura
se transfieren desde el MASTER has-
ta la puerta es como se muestra en la fi-
gura 14, por lo tanto la secuencia
de transferencia de datos es la
siguiente:
q En primer lugar el Master envía la
condición de START.
q Seguidamente envía la dirección del
PCF8574 en modo escritura que
puesto en binario será
0100(A2)(A1)(A0)0, donde
(A2),(A1) y (A0) es el valor lógico
que tengan las patillas del mismo
nombre del dispositivo.
q En tercer lugar se transmiten los da-
tos a escribir en el puerto del
PCF8574.
q Finalmente el Master manda una se-
ñal de STOP para finalizar la trans-
ferencia.
Símbolo PIN
DIO16; SO16 SSOP20 Descripción
A0 1 6 Entrada de direccionamiento 0
A1 2 7 Entrada de direccionamiento 1
A2 3 9 Entrada de direccionamiento 2
P0 4 10 Línea I/O 0 bidirecional
P1 5 11 Línea I/O 1 bidirecional
P2 6 12 Línea I/O 2 bidirecional
P3 7 14 Línea I/O 3 bidirecional
Vss 8 15 Masa de alimentación
P4 9 16 Línea I/O 4 bidirecional
P5 10 17 Línea I/O 5 bidirecional
P6 11 19 Línea I/O 6 bidirecional
P7 12 20 Línea I/O 7 bidirecional
#INT 13 1 Salida de interrupción (activa a nivel bajo)
SCL 14 2 Entrada de reloj del bus I2C
SDA 15 4 Entrada/Salida de datos del bus I2C
VDD 16 5 Positivo tensión de alimentación
n.c -- 3 No conectada
n.c -- 8 No conectada
n.c -- 13 No conectada
n.c -- 18 No conectada
Tabla 1.- Patillaje del PCF8574
MICROCONTROLADORES
54RESISTOR
Figura 11.-
Diagrama de
bloques del
PCF8574
50-64 MICROCONTROLADORES2 26/4/04 10:50 Página 54
6. MICROCONTROLADORES
55RESISTOR
Podemos comprobar lo dicho has-
ta el momento realizando el circuito
de la figura 14, en el que se ha conec-
tado el PIC16F876 a un PCF8574 a
través de las líneas RC3 (SCL) y RC4
(SDA). Para comprobar el efecto de la
escritura de datos sobre el puerto se
han conectado unos diodos LED
(D0:D7). Si cargamos en el microcon-
trolador el programa I2
C_8574_1.asm,
este realiza la lectura del valor que pro-
porcionan los interruptores conecta-
dos al puertoA y pone el valor corres-
pondiente en los diodos LED’s D0:D5,
Los diodos D6 y D7 se han conectado
en el circuito de aplicación para poder
comprobar el funcionamiento de otros
programas, como por ejemplo un pén-
dulo de diodos LED que pueda realizar
el lector. El programa está preparado
para aquellos lectores que utilizan el
Figura 12.- Dirección de esclavo para el PCF857 y PCF857A
Figura 13.- Secuencia de escritura desde el Master al PCF8574
Figura 14.- Circuito práctico de ampliación
de un puerto de salida con un PCF8574 a
través del BUS I2C
50-64 MICROCONTROLADORES2 26/4/04 10:50 Página 55
7. MICROCONTROLADORES
56RESISTOR
;****************************************************************************
;I2C_8574_1.asm
;Este programa configura el módulo MSSP en modo I2C Master y se utiliza en modo Transmisión
; El programa lee el contenido de PORTA RA0:RA5 y lo envía a las líneas correspondientes del
;puerto del periférico I2C PCF8574.
List p=16F876;Tipo de procesador
include "P16F876.INC" ;Definiciones de registros internos
; __config _XT_OSC & _CP_OFF & _WRT_ENABLE_ON & _BODEN_ON & _LVP_OFF & _WDT_ON
; org 0x00 ;Vector de Reset
; goto INICIO
org 0x05 ;Salva el vector de interrupción
goto INICIO
;****************************************************************************
;I2C_EmviaStart: Envía la condición de Start
I2C_EmviaStart
bcf PIR1,SSPIF
bsf STATUS,RP0 ;Selecciona página 1
bsf SSPCON2,SEN ;Activa secuencia de inicio
bcf STATUS,RP0 ;Selecciona página 0
Espera_Start btfss PIR1,SSPIF ;¿Fin de secuencia de transmisión?
goto Espera_Start ;Espera fin de transmisión
return
;****************************************************************************
;Send_Byte: Transmite el byte del W vía I2C. La rutina finaliza cuando se recibe /ACK
I2C_EnviaByte
bcf PIR1,SSPIF
movwf SSPBUF ;Byte a transmitir pasa al buffer de salida
Espera_Byte
btfss PIR1,SSPIF ;¿Se ha recibido el bit /ACK?
goto Espera_Byte ;No esperar
return
;****************************************************************************
;Programa principal
INICIO clrf PORTC
bsf STATUS,RP0 ;Selecciona banco 1
movlw b'00000110'
movwf ADCON1 ;PortA E/S Digital
movlw b'11111111'
movwf TRISA ;configura PortA como entrada
movwf TRISC ;RC3/SCL y RC4/SDA entradas
movlw b'10000000'
movwf SSPSTAT ;Velocidad estándar con niveles I2C
movlw .9
movwf SSPADD ;Velocidad del bus I2C 100KHz
bcf STATUS,RP0 ;Selecciona banco 0
;Configuramos el módulo MSSP en el modo Master I2C
movlw b'00101000'
movwf SSPCON ;Módulo MSSP en On
call I2C_EmviaStart ;Envía condición de Start
movlw b'01110000'
call I2C_EnviaByte ;Envía la dirección del PCF8574
Bucle movf PORTA,W ;Caraga en W el valor del PORTA
andlw b'00111111' ;asegura RA7:RA6 como cero
call I2C_EnviaByte ;Envia Byte al PCF8574
goto Bucle
;****************************************************************************************
ORG 0x1F00
bcf PCLATH,4
bcf PCLATH,3 ;Selecciona la página 0
goto INICIO
end ;Fin del programa fuente
50-64 MICROCONTROLADORES2 26/4/04 10:50 Página 56
8. MICROCONTROLADORES
57RESISTOR
bootloader con el circuito que venimos
utilizando en este curso, o bien utili-
zando un programador con un software
como el IC-PROG , para lo cual habrá
que quitar los ";" de las líneas que es-
tán en azul y se pueden poner ";" en las
líneas que están marcadas de color
verde.
Los datos de entrada se transfieren
desde la puerta hasta el MASTER en
modo de lectura de acuerdo al crono-
grama de la figura 15.
Para comprobar su funcionamiento,
modificaremos el circuito de la figura
14, para conectar unos conmutadores a
las entradas de los diodos, tal y como
se muestra en la figura 16, si se mantie-
nen los diodos, aparecerá el problema
de que cuando se pone a nivel alto un
conmutador, el diodo se encenderá, pa-
ra evitar este efecto, se pueden poner
los diodos al revés, es decir el ánodo de
cada diodo a través de una resistencia
de 330µ conectado a positivo (Vcc) y a
la entrada del PCF8574 se conecta el
cátodo y la entrada del interruptor que
Figura 15.- Secuencia de lectura desde PCF8574 hacia el Master.
Figura 16.- Circuito práctico de ampliación de un puerto de entrada con un PCF8574 a través del BUS I2
C
Figura 17 .- Ejemplo de cómo conectar como
entrada salida los pines del PCF8574
50-64 MICROCONTROLADORES2 26/4/04 10:50 Página 57
9. MICROCONTROLADORES
58RESISTOR
;****************************************************************************************
;I2C_8574_2.asm
;Este programa configura el módulo MSSP en modo I2C Master y se utiliza en modo Recepción
; El programa lee el contenido de las líneas del PUERTO del PCF8574 del y lo envía a las
;líneas correspondientes del PORTB donde se visualiza su valore en los diodos LEDS que se
;le han conectado
;****************************************************************************************
List p=16F873 ;Tipo de procesador
include "P16F873.INC" ;Definiciones de registros internos
; __config _XT_OSC & _CP_OFF & _WRT_ENABLE_ON & _BODEN_ON & _LVP_OFF & _WDT_ON
;
; org 0x00 ;Vector de Reset
; goto INICIO
org 0x05 ;Salva el vector de interrupción
goto INICIO
;****************************************************************************************
;I2C_EmviaStart: Envía la condición de Start
I2C_EmviaStart bcf PIR1,SSPIF ;Restaura el flag del módulo MSSP
bsf STATUS,RP0 ;Selecciona página 1
bsf SSPCON2,SEN ;Activa secuencia de inicio
bcf STATUS,RP0
Espera_Start btfss PIR1,SSPIF ;¿Ha finalizado la secuencia de inicio ?
goto Espera_Start ;No, esperar fin de secuencia
return
;****************************************************************************************
;I2C_EnviaByte: Transmite el byte del W vía I2C. La rutina finaliza cuando se recibe /ACK
I2C_EnviaByte bcf PIR1,SSPIF ;Restaura el flag del módulo MSSP
movwf SSPBUF ;Byte a transmitir pasa al buffer de salida
Espera_Byte btfss PIR1,SSPIF ;¿se ha recibido el bit /ACK ?
goto Espera_Byte ;No, esperarACK
return
;****************************************************************************************
;I2C_LeeByte: Lee un byte procedente del dispositivo I2C seleccionado y lo deja en W
;Seguidamente se genera y transmite el bit /ACK
I2C_LeeByte bcf PIR1,SSPIF ;Restaura el flag del módulo MSSP
bsf STATUS,RP0 ;Selecciona página 1
bsf SSPCON2,RCEN ;Activa el modo receptor
bcf STATUS,RP0 ;Selecciona página 0
Espera_Lectura btfss PIR1,SSPIF ;¿Se han recibidos los 8 bits ?
goto Espera_Lectura ;No, esperar lectura
bcf PIR1,SSPIF ;Restaura el flag del módulo MSSP
bsf STATUS,RP0 ;Selecciona página 1
bcf SSPCON2,ACKDT ;Pone bitACK a "0"
bsf SSPCON2,ACKEN ;Aciva la secuencia de generación del bitACK
bcf STATUS,RP0 ;Selecciona página 0
Espera_ACK btfss PIR1,SSPIF ;¿ Se ha finalizado la SecuenciaACK?
goto Espera_ACK ;No, esperarACK
movf SSPBUF,W ;Lee el byte recibido
return
;****************************************************************************************
;Programa principal
INICIO clrf PORTB
clrf PORTC
bsf STATUS,RP0 ;Selecciona banco 1
movlw b'11111111'
movwf TRISC ;RC3/SCL y RC4/SDA entradas
clrf TRISB ;Puerta B salida
movlw b'10000000'
movwf SSPSTAT ;Velocidad estándar con niveles I2C
movlw .9
movwf SSPADD ;Velocidad del bus I2C 100KHz
bcf STATUS,RP0 ;Selecciona banco 0
;Módulo MSSP en el modo Master I2C
movlw b'00101000'
movwf SSPCON ;Módulo MSSP en On
call I2C_EmviaStart ;Envía condición de inicio
movlw b'01110001'
call I2C_EnviaByte ;Envía byte de dirección del PCF8574 (lectura)
Bucle call I2C_LeeByte ;Lee el dispositivo PCF8584
movwf PORTB ;Visualiza sobre los LEDs RB0-RB7
goto Bucle
;****************************************************************************************
ORG 0x1F00
bcf PCLATH,4
bcf PCLATH,3 ;Selecciona la página 0
goto INICIO
end ;Fin del programa fuente
50-64 MICROCONTROLADORES2 26/4/04 10:50 Página 58
10. pone un "0" o un "1", tal y como se
muestra en la figura 17, sobre este cir-
cuito se pueden ver perfectamente tam-
bién como varían las salidas, pero hay
que tener en cuenta que en este caso, el
LED se enciende cuando le llega un
"0" y se apaga cuando le llega un "1"
desde el puerto del PCF8574, es decir
las salidas estarán complementadas
desde el punto de vista de encendido
y apagado de los diodos.
DESCRIPCIÓN del SAA1064
Seguidamente veremos otro dis-
positivo I2
C como es el controlador de
displays SAA1064, se trata de un dis-
positivo especialmente diseñado para el
control de hasta 4 displays 7 segmentos
tipo LED con punto decimal, utilizan-
do el multiplexado de dos pares de dí-
gitos. Se trata lógicamente de un dis-
positivo I2
C que puede trabajar junto
con otros tres, ya que permite cuatro
posibles direcciones diferentes selec-
cionadas por hardware su diagrama de
bloques es el que se muestra en la fi-
gura 18 y sus características más sig-
nificativas son:
q Flag indicador del "Power On Reset"
(POR).
q 16 salidas con corriente de hasta 21
µA controladas por software.
q 2 salidas multiplexadas para contro-
lar segmentos de ánodo común
q Oscilador integrado.
q Bits de control para seleccionar vi-
sualización estática, dinámica, apa-
gado y de test.
En la figura 20 se muestra como se
debe direccionar el SAA1064 tanto
para escritura como para lectura, don-
deA1 yA0 son dos bits cuyo valor de-
pende de la tensión aplicada en el pin
ADR. Esta patilla se controla con ayu-
da de una tensión continua que, com-
parada con unos umbrales internos de
referencia, define, mediante un pe-
queño convertidorA/D interno, el valor
de los dos bits de direcciónA0 yAl tal
y coma se muestra en la tabla 3. Así
por ejemplo si ponemos a masa el pin
ADDR la dirección del SAA1064 será
b’01110000’ó 70h.
Por lo tanto, con este sistema se
pueden direccionar hasta cuatro
SAA1064 en el mismo bus, lo que su-
pone 16 displays de 7 segmentos co-
mo máximo.
EL BYTE DE ESTADO
Únicamente el bit de más peso de
este byte (Power On Reset) tiene sig-
nificado. Un "1" indica que hubo fallo
de alimentación desde la última vez
que se leyó. Tras la lectura de este by-
te, el bit vuelve a quedar a "0".
EL BYTE DE INSTRUCCIÓN
Mediante los tres bits de menos pe-
so de este byte (SC, SB y SA), se se-
lecciona a partir de que registro se van
a escribir secuencialmente los si-
guientes bytes (ver la tabla 4). Esta ca-
racterística permite una rápida inicia-
ción por parte del MASTER.
MICROCONTROLADORES
59RESISTOR
Figura 18.- Diagrama de bloques del controlador de display SAA1064
50-64 MICROCONTROLADORES2 26/4/04 10:50 Página 59
11. BITS DE CONTROL
Los bits de control se encuentran
dentro del byte de control. Se emplean
los 7 de menos peso y su significado es
el siguiente:
q C0=0 Modo estático. Visualización
continua sobre los dígitos 1 y 2. No
hay multiplexaci6n.
q C0=1 Modo dinámico. Se visualiza
de forma multiplexada sobre los dis-
plays 1+3 y 2+4.
q Cl =0 Los dígitos 1+3 se apagan.
q Cl =1 Los dígitos 1+3 no se apagan.
q C2=0 Los dígitos 2+4 se apagan.
q C2=1 Los dígitos 2+4 no se apagan.
q C3=0 Funcionamiento normal
q C3=1 Se activan todos los segmen-
tos. Función test.
q C4=1 Añade 3 mA a la corriente de
salida de los segmentos.
q C5=1 Añade 6 mA a la corriente de
salida de los segmentos.
q C6=1Añade 12 mA a la corriente de
salida de los segmentos.
NºPin Señal Descripción
1 ADR Línea de direccionamiento por hardware
2 CEXT Condensador externo (modo dinámico)
3-10 P8-P1 Salidas a segmentos de los dígitos 1 y 2
11 MX1 Activación de los dígitos 1 y 3
12 VEE Negativo de alimentación
13 VCC Positivo de alimentación
14 MX2 Activación de los dígitos 2 y 4
15-22 P9-P16 Salidas a segmentos de los dígitos 3 y 4
23 SDA Línea de datos del bus I2
C
24 SCL Línea de reloj del bus I2
C
Tabla 2.- Descripción de los pines del SAA1064
Figura 19.- Patillaje del SAA1064
Tabla 3.- Direccionamiento del SAA1064 en función de la tensión en el pin ADR
En la tabla 2 se muestra el patillaje del dispositivo y la descripción de cada una de sus
patillas.
Tensión en ADR A0 A1 Dirección de lectura Dirección de escritura
VEE 0 0 71h 70h
3/8 de VCC 0 1 73h 72h
5/8 de VCC 1 0 75h 74h
VCC 1 1 77h 76h
SC SB SA Registro
0 0 0 Control
0 0 1 Dígito 1
0 1 0 Dígito 2
0 1 1 Dígito 3
1 0 0 Dígito 4
1 0 1 Reservado
1 1 0 Reservado
1 1 1 Reservado
MICROCONTROLADORES
60RESISTOR
Figura 20.- Direccionamiento
del SAA1064 para lectura y
escritura
Tabla 4.- Registros internos del
SAA1064
50-64 MICROCONTROLADORES2 26/4/04 10:50 Página 60
12. Este libro introduce al lector en la reali-
zación de proyectos con el popular micro-
controlador PIC16F84A.
q Los contenidos se presentan de manera
asequible y entretenida sin perder el
necesario nivel técnico.
q El lector dispone de todo lo necesario
para realizar los proyectos de forma
cómoda ya que no requiere de grandes
medios materiales y todo está descrito
en el libro o en el CD-ROM que acom-
paña la obra.
q La obra es eminentemente práctica:
contiene más de 160 ejercicios y pro-
yectos resueltos completamente, siendo
muchos de ellos proyectos clásicos,
como termómetros, relojes, calenda-
rios, cerraduras electrónicas, control de
displays, termostatos, temporizadores,
alarmas, sirenas, comunicación con el
ordenador, juegos, control de motores,
microrobots, etc.
q El software utilizado es de libre distri-
bución y los circuitos emplean compo-
nentes que pueden adquirirse fácilmen-
te en cualquier tienda de componentes
electrónicos. El gasto a realizar para
realizar las prácticas planteadas es
mínimo.
Este libro posee su propia página Web
en www.pic16f84a.com que pretende ser
un lugar de encuentro entre todos aque-
llos que utilicen el libro, donde podrán
intercambiar ideas, realizar consultas,
descargar actualizaciones de los proyec-
tos y también descargar apuntes de
conocimientos necesarios.
MMIICCRROOCCOONNTTRROOLLAADDOORR
PPIICC1166FF8844
Desarrollo de proyectos"
Índice Extractado: Microcontrolador PIC16F84.Periféricos bási-
cos. Grabación de microcontroladores PIC. Organización de la
memoria. Arquitectura Interna. Ensamblador. MPLAB.
Programación elemental. Saltos. Subrutinas. Manejo de tablas.
Subrutinas de retardo. LCD. EEPROM de datos. TIMER0. Otros
recursos. Interrupciones de entradas. Interrupción por TIMER0.
Teclado matricial. Comunicación con el ordenador. Bus I2C.
24LC256, memoria EEPROM en bus I2C. DS1624, Termómetro en
BUS I2C. DS1307, reloj calendario en bus I2C.SAA1064, controla-
dor de display. PCF8574, expansor de bus I2C. PCF8591, ADC y
DAC en bus I2C. Bus de una línea. Motores de corriente continua.
Motores paso a paso. Servomotores de radiocontrol. Sensores
para microbótica. Construcción de un microrobot.
50-64 MICROCONTROLADORES2 26/4/04 10:50 Página 61
13. MICROCONTROLADORES
62RESISTOR
LOS BYTES DE DATOS
Un segmento queda activado si el
correspondiente bit esta a "1". Los bits
de datos D17 al Dl0 corresponden al
dígito 1, D27:D20 al dígito 2, D37:D30
al dígito 3 y D47:D40 al dígito 4.
El bit de mas peso MSB de estos
datos se corresponden con las salidas
P8 y P16, los de menos peso LSB con
las salidas Pl y P9.
POWER ON RESET
Esta señal se genera internamente y
pone todos los bits a "0", resultando
una visualización en blanco para los 4
dígitos. Únicamente se activa el flag
PR del byte de estado.
SALIDAS MULTIPLEXADAS
Las líneas de salida MXl y MX2
se activan alternativamente en el modo
dinámico con una frecuencia que se
obtiene desde el oscilador interno. Y
como se puede ver en la figura 21, se
pueden colocar cuatro displays. Para
la selección de los displays seleccio-
nados en cada momento se necesita
conectar dos transistores que trabajan
en corte o saturación.
En el modo estático únicamente
se activa MXl con lo que solo se vi-
sualiza sobre 2 dígitos, como puede
verse en la figura 22.
Seguidamente vamos a probar el
funcionamiento del controlador de dis-
plays en modo dinámico conectando
a las líneas SDA y SCL del SAA1046
las correspondientes del PIC16F876
(RC4/SDA y RC3/SCL), además co-
mo solo vamos a utilizar un controlador
con cuatro displays como el de la fi-
gura 21, pondremos la patilla ADR a
masa, por lo que la dirección del dis-
positivo será b’01110000’. El progra-
ma que vamos a cargar
(I2C_SAA1064_2.asm) en el micro-
controlador va a presentar el mensaje
"HOLA" en los displays, para ello se-
guiremos el procedimiento de escritu-
ra que se indica en la figura 20, es de-
cir seguiremos la siguiente secuencia:
q El microcontrolador que trabaja co-
mo Master envía la condición de
START
q Seguidamente se manda el byte de
direccionamiento que en nuestro ca-
so es b’01110000’.
q Después se manda el byte de ins-
trucción donde los bits SC, SB y SA
apuntan a uno de los ocho registros
internos en el cual se escribirá el by-
te de datos que le sigue inmediata-
mente detrás.
q Si el registro direccionado es el de
control a continuación debe enviarse
la palabra de control. Después se
transmite la información que
aparecerá en cada uno de los
displays.
q Finalmente el Master mandará una
condición de STOP.
Figura 21.- Conexión de cuatro displays al SAA1064 en modo dinámico
Figura 22.- Conexión de dos displays al SAA1064 en modo estático
50-64 MICROCONTROLADORES2 26/4/04 10:50 Página 62
14. MICROCONTROLADORES
63RESISTOR
;*************************************************************************************
; Programa I2C_SAA1064_2.asm Fecha : 20-Abril-2004
;El dispositivo I2C SAA1064. Controlador de displays de 7 segmentos
;Se trata de visualizar sobre los 4 displays 7 segmentos conectados al SAA1064.
;el mensaje "HOLA"
; Revisión : 0.0 Programa para PIC16F87X
;Velocidad del Reloj: 4 MHz Reloj Instrucción: 1 MHz = 1 uS
; Perro Guardián :seshabilitado Tipo de Reloj : XT
; Protección del código: OFF
;**************************************************************************************
List p=16F876 ;Tipo de procesador
include "P16F876.INC" ;Definiciones de registros internos
; __config _XT_OSC & _CP_OFF & _WRT_ENABLE_ON & _BODEN_ON & _LVP_OFF & _WDT_ON
; org 0x00 ;Vector de Reset
; goto Inicio
org 0x05 ;Salva el vector de interrupción
goto Inicio
;****************************************************************************
;I2C_EmviaStart: Envía la condición de Start
I2C_EmviaStart
bcf PIR1,SSPIF
bsf STATUS,RP0 ;Selecciona página 1
bsf SSPCON2,SEN ;Activa secuencia de inicio
bcf STATUS,RP0 ;Selecciona página 0
Espera_Start btfss PIR1,SSPIF ;¿Fin de secuencia de tranmisión?
goto Espera_Start ;Espera fin de transmision
return
;****************************************************************************
;Send_Byte: Transmite el byte del W vía I2C. La rutina finaliza cuando se recibe /ACK
I2C_EnviaByte
bcf PIR1,SSPIF
movwf SSPBUF ;Byte a transmitir pasa al buffer de salida
Espera_Byte btfss PIR1,SSPIF ;¿Se ha recibido el bit /ACK?
goto Espera_Byte ;No, esperar
return
;****************************************************************************
;Send_Stop: Envía la secuencia de stop
I2C_EnviaStop bcf PIR1,SSPIF ;Restaura el flag del módulo MSSP
bsf STATUS,RP0 ;Seleciona página 1
bsf SSPCON2,PEN ;Activa secuencia de stop
bcf STATUS,RP0
Espera_Stop btfss PIR1,SSPIF ;¿Fin de secuencia de Stop ?
goto Espera_Stop ;Esperar Stop
return
;*******************************************************************************************
;Read_Byte: Lee un byte procedente del dispositivo I2C selecionado y lo devuelve en W
;Seguidamente se genera y transmite el bit /ACK
I2C_LeeByte bcf PIR1,SSPIF ;Restaura el flag del módulo MSSP
bsf STATUS,RP0 ;Selecciona página 1
bsf SSPCON2,RCEN ;Activa el modo receptor
bcf STATUS,RP0 ;Selecciona página 0
50-64 MICROCONTROLADORES2 26/4/04 10:50 Página 63
15. MICROCONTROLADORES
64RESISTOR
Read_Waitbtfss PIR1,SSPIF ;Recibidos los 8 bits ??
goto Read_Wait;No, esperar
bcf PIR1,SSPIF ;Restaura el flag del módulo MSSP
bsf STATUS,RP0 ;Selecciona página 1
bcf SSPCON2,ACKDT ;Pone bitACK a "0"
bsf SSPCON2,ACKEN ;Aciva la secuencia de generación del bitACK
bcf STATUS,RP0 ;Selecciona página 0
Espera_ACK btfss PIR1,SSPIF ;¿Ha finalizado la decuenciaACK?
goto Espera_ACK ;No, esperarACK
movf SSPBUF,W ;Lee el byte recibido
return
;*******************************************************************************************
;Programa principal
Inicio clrf PORTC
bsf STATUS,RP0 ;Selecciona banco 1
movlw b'11111111'
movwf TRISC ;RC3/SCL y RC4/SDA entradas
movlw b'11001111'
movwf OPTION_REG ;Preescaler de 128 asociado al WDT
movlw b'10000000'
movwf SSPSTAT ;Velocidad estándar con niveles I2C
movlw .9
movwf SSPADD ;Velocidad del bus I2C 100KHz
bcf STATUS,RP0 ;Selecciona banco 0
;Módulo MSSP en el modo Master I2C
movlw b'00101000'
movwf SSPCON ;Módulo MSSP en On
Visualiza call I2C_EmviaStart ;Envía secuencia de inicio
movlw b'01110110' ;
call I2C_EnviaByte ;Dirección del dispositivo SAA1064 en la PLUS
movlw .0 ;
call I2C_EnviaByte ;Envía byte de instrucción
movlw b'01000111' ;
call I2C_EnviaByte ;Envía byte de control
movlw b'01110110' ;segmentos correspondientes a la "H"
call I2C_EnviaByte ;Visualiza sobre el dígito D1
movlw b'00111111' ;segmentos correspondientes a la "O"
call I2C_EnviaByte ;Visualiza sobre el dígito D2
movlw b'00111000' ;segmentos correspondientes a la "L"
call I2C_EnviaByte ;Visualiza sobre el dígito D3
movlw b'01110111' ;segmentos correspondientes a la "A"
call I2C_EnviaByte ;Visualiza sobre el dígito D4
call I2C_EnviaStop ;Envía secuencia de stop
goto $
;*************************************************************************************
ORG 0x1F00
bcf PCLATH,4
bcf PCLATH,3 ;Selecciona la página 0
goto Inicio
;*************************************************************************************
end ;Fin del programa fuente
50-64 MICROCONTROLADORES2 26/4/04 10:50 Página 64