Capítulo 3. Microcontroladores PIC

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Capítulo 3. Microcontroladores PIC"

Transcripción

1 Capítulo 3. Microcontroladores PIC Para la realización de este proyecto se ha elegido la familia PIC de Microchip por diversos motivos: Por la cantidad de información disponible sobre estos microcontroladores, y es que, para las aplicaciones más habituales que nos podemos encontrar la elección de una versión adecuada de PIC de Microchip es la mejor solución. Por su sencillez de manejo, tienen un juego de instrucciones reducido, de 70 en la gama alta. Aunque se va a utilizar lenguaje C, en algunos casos puede ser necesario recurrir al lenguaje ensamblador. Por su precio, que es comparativamente inferior al de la mayoría de sus competidores y por la facilidad con la que obtener muestras de estos integrados. Por su velocidad y promedio de parámetros en consumo, tamaño, etc. Porque posee gran variedad de herramientas, tanto de software como de hardware, baratas y fáciles de utilizar. Una de las razones del éxito de los PIC se basa en su utilización. Cuando se aprende a manejar uno de ellos, conociendo su arquitectura y su repertorio de instrucciones, es muy fácil emplear otro modelo. Concretamente se ha utilizado el PIC 18F452 por varias razones: Dispone de un gran número de pines de propósito general. Posee una arquitectura para la mejora de la optimización de código cuando se utiliza programación en C. Su precio puede ser superior a los de otros microcontroladores de Microchip, pero al no ser un proyecto pensado para producir muchas unidades merece la pena ese gasto adicional. Posee mucha variedad de interrupciones, muy útil para generar señales periódicas o para el uso de botones. Permite velocidades superiores a otros de gama inferior, lo cual nos va a ser muy útil para la generación de señales mediante el HVDAC. Además, cuanto más flexible sea el diseño del sistema de desarrollo mayor será el número de dispositivos que podemos controlar en un futuro. Trae implementado en el hardware los elementos necesarios para una comunicación RS232, que será la que vamos a utilizar en el proyecto para comunicarnos con el PC.

2 1 Características relevantes 1º La arquitectura del procesador sigue el modelo Harvard: En esta arquitectura, la CPU se conecta de forma independiente y con buses distintos con la memoria de instrucciones y con la de datos y así permitir su acceso simultaneo. Bus de datos Bus de Instrucciones MEMORIA DE DATOS CPU 8 12 MEMORIA DE INSTRUCCIONES Figura 1. Modelo Harvard 2º Se aplica la técnica de segmentación ( pipe-line ) en la ejecución de las instrucciones: La segmentación permite al procesador realizar al mismo tiempo la ejecución de una instrucción y la búsqueda del código de la siguiente. De esta forma se puede ejecutar cada instrucción en un ciclo (un ciclo de instrucción equivale a cuatro ciclos de reloj) excepto las instrucciones de salto que ocupan dos ciclos al no conocer la dirección de la siguiente instrucción hasta que no se haya completado la de bifurcación. Se puede observar en el esquema de la figura 2. ciclo CLK BI3 BI2 BI1 EI3 EI2 EI3 Fin INSTR2 Fin INSTR1 Fin INSTR0 Figura 2. Técnica Pipeline 3º El formato de todas las instrucciones es de la misma longitud: Las instrucciones de los microcontroladores de la gama baja tienen una longitud de 12 bits. Las de la gama media tienen 14 bits y 16 las de la gama alta. Esta característica es muy ventajosa en la optimización de la memoria de instrucciones y facilita enormemente la construcción de ensambladores y compiladores.

3 4º Procesador RISC (Computador de Juego de instrucciones reducido): Los modelos de la gama baja disponen de un repertorio de 33 instrucciones, 35 los de la gama media y hasta 75 los de la alta, como nuestro 18F452. 5º Todas las instrucciones son ortogonales: Cualquier instrucción puede manejar cualquier elemento de la arquitectura como fuente o como destino. 6º Arquitectura basada en un banco de registros: Esto significa que todos los objetos del sistema (puertas de E/S, temporizadores, posiciones de memoria, etc.) están implementados físicamente como registros. 7º Diversidad de modelos de microcontroladores con prestaciones y recursos diferentes: La gran variedad de modelos de microcontroladores PIC permite que el usuario pueda seleccionar el más conveniente para su proyecto. 8º Herramientas de soporte potentes y económicas: La empresa Microchip y otras que utilizan los PIC ponen a disposición de los usuarios numerosas herramientas para desarrollar hardware y software. Son muy abundantes los programadores, los simuladores software, los emuladores en tiempo real, Ensambladores, Compiladores C, Intérpretes y Compiladores BASIC, etc. 2 Las gamas PIC Para resolver aplicaciones sencillas se precisan pocos recursos; en cambio, las aplicaciones grandes los requieren numerosos y potentes. Siguiendo esta filosofía, Microchip construye diversos modelos de microcontroladores orientados a cubrir, de forma óptima, las necesidades de cada proyecto. Así, hay disponibles microcontroladores sencillos y baratos para atender las aplicaciones simples y otros complejos y más costosos para las de mucha envergadura. PIC dispone de gran diversidad de modelos y encapsulados, pudiendo seleccionar el que mejor se acople a las necesidades de acuerdo con el tipo y capacidad de las memorias, el número de líneas de E/S y las funciones auxiliares precisas. Sin embargo, todas las versiones están construidas alrededor de una arquitectura común, un repertorio mínimo de instrucciones y un conjunto de opciones muy apreciadas, como el bajo consumo y el amplio margen del voltaje de alimentación. 2.1 Gama Baja La gama baja de los PIC encuadra nueve modelos fundamentales en la actualidad. La memoria de programa puede contener 512, 1 k. y 2 k palabras de 12 bits, y ser de tipo ROM, EPROM aunque también hay modelos con memoria OTP. Sólo disponen de un temporizador (TMR0), un repertorio de 33 instrucciones y un número de pines para

4 soportar las E/S comprendido entre 12 y 20. El voltaje de alimentación admite un valor muy flexible comprendido entre 2 y 6,25 V, lo cual posibilita el funcionamiento mediante pilas corrientes teniendo en cuenta su bajo consumo (menos de 2 ma a 5 V y 4 MHz). Y por otro lado, conviene nombrar dos restricciones importantes de la gama baja y es que la pila sólo dispone de dos niveles, lo que supone no poder encadenar más de dos subrutinas y además no admiten interrupciones. 2.2 Gama Media En esta gama sus componentes añaden nuevas prestaciones a las que poseían los de la gama baja, haciéndoles más adecuados en las aplicaciones complejas. Admiten interrupciones, poseen comparadores de magnitudes analógicas, convertidores A/D, puertos serie y diversos temporizadores. Algunos modelos disponen de una memoria de instrucciones del tipo OTP que resulta mucho más económica en la implementación de prototipos y pequeñas series. Otros en cambio disponen de una memoria de instrucciones tipo EEPROM, que al poder ser borradas eléctricamente, son mucho más fáciles de reprogramar que las EPROM. 2.3 Gama Alta y Gama Mejorada En la actualidad, esta gama esta formada por las series 17 y 18. Estos dispositivos responden a microcontroladores de arquitectura abierta pudiéndose expansionar en el exterior al poder sacar los buses de datos, direcciones y control. Así se pueden configurar sistemas similares a los que utilizan los microprocesadores convencionales, siendo capaces de ampliar la configuración interna del PIC añadiendo nuevos dispositivos de memoria y de E/S externas. Esta facultad obliga a estos componentes a tener un elevado número de patas comprendido entre 40 y 44. Admiten interrupciones, poseen puerto serie, varios temporizadores y mayores capacidades de memoria, que alcanza las 128 k palabras en la memoria de instrucciones y 1500 bytes en la memoria de datos. Actualmente Microchip fabrica varios modelos de microcontroladores de gran potencia y velocidad, y se destinan a aplicaciones muy avanzadas. Con un patillaje que llega desde las 28 hasta las 84 pines, la memoria de código alcanza las 128 k palabras y una frecuencia de 40 MHz.

5 3 PIC 18F Características generales A continuación enumeramos las principales características de este microcontrolador de gama alta: Velocidad de funcionamiento hasta 40 MHz. 40 pines y puertos A, B, C, D, E. Juego de instrucciones RISC. Memoria de programa de 32 Kbytes. Memoria de datos de 1536 bytes. Memoria EEPROM de 256 bytes. Instrucciones de 16 bits de anchura. Direccionamiento de datos de 8 bits. 18 fuentes de interrupción con niveles de prioridad. Multiplicador hardware de un solo ciclo de 8 x 8 bits. Pines para interrupciones externas. Temporizadores de 8 y 16 bits. 2 módulos capturadotes, comparadores y de modulación PWM. Puerto serie síncrono que soporta modo SPI e I2C. USART direccionable que soporta RS-232 y RS-485. Convertidor analógico digital de 10 bits con 8 canales de entrada. Detección de bajo voltaje programable. Ahorro de energía mediante modo SLEEP. 3.2 Diagrama de conexionado del 18F452 En la figura de la página siguiente se muestra el diagrama de conexionado de un PIC 18F452. El formato elegido para la implementación física ha sido el formato DIP, por la comodidad a la hora de manejarlo y su fácil sustitución en caso de que quedara inutilizado por cualquier motivo. A continuación de ésta se señalan las funciones de todos los pines:

6 Figura 3. Diagrama de pines del 18F452 MCLR/VPP: Reset externo. Por esta entrada se aplica también la tensión / VPP usada en la grabación del programa. RA0/AN0: E/S digital o entrada analógica. RA1/AN1: E/S digital o entrada analógica. RA2/AN2/VREF: E/S digital, entrada analógica o salida de la tensión de referencia. RA3/AN3/ VREF: E/S digital, analógica o entrada externa de VREF. RA4/TOCKI: E/S digital o entrada del reloj para TMR0. RA5/AN4/SS/LVDIN: E/S digital o entrada analógica. Selección del puerto serie síncrono o detección de bajo voltaje. RB0/INT0-RB2/INT : E/S digitales del Puerto B. Pueden actuar como entrada de interrupción externa. RB3/CCP2: E/S digital del puerto B. Salida del módulo 2 de captura/comparación. RB4: E/S digital puerto B. Interrupción al cambiar el valor del pin. RB5: E/S digital puerto B. Interrupción al cambiar el valor del pin. Pin habilitador para la programación ICSP de bajo voltaje. RB6: E/S digital puerto B. Interrupción al cambiar el valor del pin. Pin de reloj para la programación ICSP. RB7: E/S digital puerto B. Interrupción al cambiar el valor del pin. Pin de datos para la programación de ICSP.

7 RE0/RD/AN5: E/S digital del Puerto E. Señal de lectura del Puerto paralelo esclavo. Entrada analógica. RE1/WR/AN6: E/S digital. Señal de escritura del Puerto paralelo esclavo. Entrada analógica. RE2/CS/AN7: E/S digital. Señal de activación del Puerto paralelo esclavo. Entrada analógica. VDD: Entrada de la alimentación positiva del dispositivo. VSS: Entrada de la alimentación negativa del dispositivo. OSC1/CLKIN: Entrada al cristal cuarzo o reloj externo OSC2/CLKOUT: Salida del cristal. En modo R-C por esta patita sale ¼ FOSC1. RC0/T1OSO/T1CL1: E/S digital del Puerto C. Conexión del oscilador externo para el temporizador TMR1 o entrada de reloj para el TMR1. RC1/T1OSI/CCP2: E/S digital del Puerto C. Conexión del oscilador externo para TMR1 o salida del modulo 2 de captura/comparación. RC2/CCP1: E/S digital del Puerto C. Salida del modulo 1 de captura/comparación. RC3/SCK/SCL: E/S digital. E/S de reloj para el Puerto serie síncrono (SSP) de los módulos SPI a I2C. RC4/SDI/SDA: E/S digital. Entrada de datos serie en el modo SPI. E/S de datos serie en modo I2C. RC5/SD0: E/S digital del Puerto C. Salida de datos serie en el modo SPI. RC6/TX/CK: E/S digital. Transmisión serie asíncrona. Entrada de reloj para comunicación serie síncrona. RC7/RX/DT: E/S digital. Recepción serie asíncrona. Línea de datos en la comunicación serie síncrona. RD0/PSP0-RD7/PSP7: E/S digitales del Puerto D. Este Puerto puede trabajar como Puerto paralelo esclavo para interconexión con un bus de datos de 8 bits de otro microprocesador. Una vez explicado el funcionamiento de cada puerto del PIC18F452, en la siguiente figura extraída del data-sheet se muestra su arquitectura interna, es decir, un diagrama de bloques donde se muestran los periféricos y las líneas de entrada y salida.

8 Figura 4. Diagrama de bloques del PIC 18F452 (1ª parte)

9 Figura 5. Diagrama de bloques del PIC 18F452 (2ª parte)

10 3.3 Configuración del oscilador El microcontrolador puede operar en 8 modos diferentes y para elegir uno de estos modos el usuario deberá programar los registros FOSC2, FOSC1 y FOSC0. Pasamos a explicar cada uno de ellos: LP: cristales de baja frecuencia y por tanto bajo consumo. XT: cristales entre 455 KHz y 4 MHz. HS: cristal de alta frecuencia, entre 8 y 25 MHz HS+PLL: cristal de alta frecuencia y PLL activado. Para estas configuraciones el esquema físico sería el siguiente: Figura 6: diagrama del circuito oscilador (partes interna y externa) RCIO: capacidad y resistencia externas con pin de entrada salida habilitado. RC: capacidad y resistencia externas. En estas configuraciones tan solo se necesita un condensador y una resistencia. Se utiliza cuando no se necesita una precisión muy alta. La frecuencia de funcionamiento dependerá, además de los valores de la resistencia y el condensador, de la temperatura. La configuración física es la siguiente: Figura 7. Diagrama del circuito oscilador para las configuraciones RCIO y RC EC: Reloj externo. EC: Reloj externo con pin de entrada salida habilitado.

11 3.4 RESET El reset de los microcontroladores puede ser originado por las siguientes causas: Conexión de la alimentación (POR: Power On - Reset). Activación del puerto MCLR (Master Clear Reset) durante una operación normal. Activación de MCLR en el estado de Reposo o SLEEP. Desbordamiento del Perro guardián. Instrucción de RESET. Circuito de Brown-out, se activa cuando Vdd cae por debajo de un umbral. Llenado de la pila. Desbordamiento de la pila. A la mayoría de los registros no les afecta el RESET, sin embargo el resto son llevados obligatoriamente a un estado de reset. Existe un registro llamado RCON que contiene 5 bits que actúan como banderas para indicar el tipo de RESET que se ha producido. Estos cinco bits son: RI, T0, PD, POR y BOR, los cuales pasan de 1 a 0 cuando se activan y lo hacen de la siguiente manera según la situación de RESET producida: Tabla 1. Configuración de los bits de RESET

12 3.5 Organización de la memoria Los microcontroladores PIC 18FXX2 poseen tres bloques de memoria separados: la memoria de programa, la memoria de datos RAM y la memoria de datos EEPROM. Las memorias de datos y de programa usan buses separados, lo que permite acceder a ambas al mismo tiempo Memoria de programa El contador de programa tiene 21 bits, por lo que es capaz de direccionar 2 Mbytes de memoria. El microcontrolador sólo posee 32 Kbytes de memoria Flash por lo que al intentar leer una posición que no esté implementada externamente se obtendrá cero. Con esta memoria el dispositivo puede almacenar 16 K instrucciones de una palabra Pila de retorno de direcciones Esta pila permite que ocurran hasta treinta y una llamadas a distintos programas o interrupciones. Cuando se ejecuta una nueva llamada a una subrutina el contador de programas es colocado en la pila de modo que se guarden los datos necesarios para continuar donde se quedó. El espacio reservado para esta pila no es parte de otro programa o espacio para datos. El puntero de la pila se puede leer y escribir, al igual que la dirección de la cima de la pila. Figura 8. Mapa de memoria de programa y de pila

13 3.5.3 Organización de la memoria de datos La memoria de datos viene implementada en memoria RAM estática. Cada registro posee una dirección de 12 bits, lo que permite tener hasta 4096 bytes de memoria de datos. El mapa de memoria de datos está dividido en 16 bancos de 256 bytes cada uno. Los cuatro bits menos significativos del registro de selección de banco seleccionan cual es el banco al que se accederá. Además, esta memoria contiene el registro de funciones especiales y el registro de propósito general. El primero de ellos es usado para el control y el estado del controlador y de los periféricos, mientras que el segundo se usa para almacenamiento de datos. Veamos en las siguientes figuras el mapa de la memoria de datos y todos los registros de funciones especiales: Figura 9. Mapa de la memoria de datos Los registros son de 8 bits y el conjunto de registros está formado por cuatro bancos, como se puede ver en la figura de la página siguiente:

14 3.5.4 Banco de acceso Figura 10. Mapa de los registros de funciones especiales El banco de acceso es una mejora en la arquitectura muy útil para la optimización del código de los compiladores de C, precisamente el lenguaje que vamos a utilizar en este proyecto. La región de la memoria de datos puedes ser usada para: Evaluaciones computacionales intermedias. Variables locales de subrutinas. Cambio de contexto de las variables más rápido. Variables comunes. Evaluación o control más rápido de los registros de funciones especiales Registro de estado El registro de estado contiene el resultado de las operaciones aritméticas de la ALU. Consta de 5 bits que indican: N, si el último resultado fue negativo; OV, si se produjo un desbordamiento; Z, si el resultado de la última operación fue 0 y 2 bits más de acarreo de borrado.

15 3.6 Memoria de programa FLASH La memoria de programa FLASH puede ser leída, escrita o borrada durante una operación normal. La lectura puede ser hecha de byte en byte, sin embargo la escritura debe ser en bloques de 8 bytes y el borrado en bloques de 64 bytes al mismo tiempo. Para leer y escribir en la memoria de programa existen dos operaciones que permiten al procesador mover bytes del espacio de memoria de programa a la RAM de datos, éstas son TBLRD y TBLWT. La memoria de programa tiene un ancho de 16 bits, mientras que la de datos tiene un ancho de 8; para solucionarlo el traspaso de datos se hace a través de un registro de 8 bits (TABLAT). Existen también 4 registros de control que son usados conjuntamente con las instrucciones anteriores: EECON1: es un registro de control para el acceso a memoria. EECON2: no es un registro físico, si se lee se obtendrá todo 0. Se usa exclusivamente para las secuencias de escritura y borrado. TABLAT, como antes se dijo es un registro de 8 bits para la transferencia de datos entre memoria de programa y memoria de datos. TBLPTR: es el registro de puntero a tabla. Está formado por tres registros de funciones especiales, los cuales al unirse forman un puntero de 22 bits de ancho. Los primeros 21 bits sirven para direccionar los 2 MBytes del espacio de memoria de programa y el bit 22 permite el acceso al identificador del dispositivo, al identificador de usuario y a los bits de configuración. Por último, comentar que tanto la lectura como la escritura y el borrado de la memoria flash requiere de una secuencia de instrucciones en lenguaje ensamblador, que en C es considerablemente más reducida. 3.7 Memoria de datos EEPROM La memoria de datos EEPROM puede ser leída, escrita o borrada durante una operación normal. Hay cuatro registros de funciones especiales para leer y escribir datos y programa en la memoria EEPROM. EECON1: es un registro de control para el acceso a memoria. EECON2: no es un registro físico, si se lee se obtendrá todo 0. Se usa exclusivamente para las secuencias de escritura y borrado. EEDATA: es un registro que sostiene ocho bits de datos durante la escritura y la lectura. Esta memoria permite leer y escribir de byte en byte. EEADR: mientras EEDATA mantiene el dato de ocho bits este registro mantiene la dirección de la EEPROM a la cual se está accediendo. Puede direccionar hasta 256 bytes de la memoria de datos EEPROM.

16 Los bits de control RD y WR inician las operaciones de lectura y escritura respectivamente. Estos bits no pueden ser puestos a 0, sólo es posible ponerlos a 1 por software, y será el hardware quien los ponga a 0 cuando la operación termine. De esta manera se previenen interrupciones en los procesos de lectura o escritura Lectura de la memoria de datos EEPROM Para leer una zona de la memoria EEPROM se debe primero escribir la dirección en el registro EEADR, luego poner a 0 los bits EEPGD y CFGS (bits séptimo y sexto del registro EECON1 respectivamente) y por último poner a 1 el bit de control RD. El dato estará disponible en el siguiente ciclo de instrucción Escritura de la memoria de datos EEPROM Para una escritura será algo similar, primero se debe escribir la dirección en el registro EEADR y el dato a escribir en EEDATA, luego habrá que seguir una secuencia de operaciones. Ésta consiste primero en deshabilitar las interrupciones, luego escribir 55h en EECON2, tras esto escribir AAh en EECON2 y por último poner el bit de control WR a 1. Además es necesario que el bit WREN del registro EECON1 esté a 1 para permitir las escrituras. De este modo se evitan escrituras accidentales. 3.8 Multiplicador hardware de 8 x 8 La ALU del 18F452 incluye un multiplicador hardware, de esta forma una operación de multiplicación puede ser completada en tan solo un ciclo de reloj. Se trata de una multiplicación sin signo cuyo resultado es de 16 bits y que se guarda en los registros PRODH y PRODL (consultar el mapa de registros de funciones especiales). 3.9 Interrupciones Una interrupción consiste en una detención del programa en curso para realizar una determinada rutina que atienda la causa que ha provocado la interrupción. Es como una llamada a subrutina, que se origina por otra causa que no es una instrucción del tipo CALL (instrucción en ensamblador para llamar a subrutinas). Tras la terminación de la rutina de interrupción se retorna al programa principal en el punto en que se abandonó. Las causas que originan una interrupción pueden ser externas, como la activación de un pin con el nivel lógico apropiado, e internas, como las que pueden producirse al desbordarse un temporizador, como el TIMER 0. En las aplicaciones industriales, las interrupciones son un producto muy potente para atender los acontecimientos físicos en tiempo real. Las interrupciones evitan que la UCP explore continuamente el nivel lógico de un puerto o el valor de un contador. Los PIC18FXXX tienen múltiples fuentes de interrupción y prioridades. Existen diez registros para controlar las operaciones de interrupción, estos son: RCON: el bit séptimo de este registro se encarga de habilitar las prioridades en las interrupciones.

17 INTCON, INTCON2, INTCON3: registros de lectura y escritura que contienen bits de enable, de prioridad y banderas. PIR1, PIR2: estos dos registros contienen bits de bandera individual para las interrupciones de periféricos. PIE1, PIE2: contienen los bit habilitadores individuales para las interrupciones de periféricos IPR1, IPR2: contiene los bits de prioridad individuales para las interrupciones de periféricos. Cada causa de interrupción, excepto INT0, esta controlada mediante tres bits. Uno de ellos actúa como una bandera de señalización que indica si se ha producido o no el acontecimiento, otro es el permiso o prohibición de la interrupción y el último indica baja o alta prioridad de la interrupción. Cuando una interrupción es atendida, el GIE (Habilitador global de Interrupciones) es desactivado para evitar que se produzca otra interrupción al mismo tiempo, volviendo a activarse al salir de la subrutina. La dirección de retorno es puesta en la pila y en el contador de programa se carga la dirección de vector de interrupción (000008h ó h dependiendo del nivel de prioridad). En la figura siguiente se ofrece el esquema, compuesto de puertas lógicas, que controla la generación de la interrupción cuando aparece un nivel alto en su línea INT de salida. Figura 11. Lógica de control para la generación de la interrupción

18 3.10 Puertos de entrada y salida Las patitas de comunicación de los microcontroladores se agrupan en conjuntos llamados puertos porque dejan entrar y salir la información al procesador. Algunos pines de entrada salida están multiplexados con una función alternativa de algún periférico. Cuantos más periféricos posea el modelo, más líneas de comunicación con más multiplexado de señales exige. En general, cuando un periférico está activado, el pin correspondiente no puede ser usado como pin de propósito general. En los 18FXX2 existen 5 puertos, y cada uno consta de 8 pines (excepto el puerto A que tiene 7 y el puerto E que tan solo tiene tres). En total el dispositivo tiene 40 patas, que sirven para dar entrada y salida a los convertidores analógico digital, a los comparadores, a las comunicaciones paralelo, serie, a los temporizadores... además de servir como pines de propósito general. Cada puerto tiene tres registros para su manejo, los cuales son: TRIS, registro de dirección de los datos. PORT, lee el nivel en los pines del dispositivo. LAT, latch de salida Puerto A Se trata de un puerto bidireccional de 7 bits. Dependiendo del valor en TRISA se comportarán como entrada o salidas. Al leer el registro PORTA se obtiene el estado de los pines. El pin RA4 es multiplexado con la entrada de reloj del TIMER 0, el resto de pines del puerto tiene niveles de entrada TTL y manejadores de salida CMOS. Estos pines, además, están multiplexados con entradas analógicas y las entradas de referencia Vref + y Vref -. El modo de operación de cada puerto es seleccionado mediante la puesta a 0 o a 1 del registro ADCON Puerto B Registro bidireccional de anchura 8 bits. TRISB y PORTB tienen el mismo cometido que en el puerto A. Hay que anotar que tras un reset estos pines son configurados como entradas digitales. Cuatro de los pines del puerto B, RB4:RB7, pueden ser fuente de interrupción cuando cambia el valor que tienen a la entrada. Sólo si están configurados como entradas es posible que actúen de esta forma. RB0:RB2 pueden ser (si se configuran de tal modo) fuente de interrupción externa. El pin RB3 puede ser configurado mediante el pin de configuración CCP2MX como pin periférico alternativo para el módulo de comparación CCP Puerto C Es un puerto bidireccional de 8 bits, cada patita actúa como entrada o salida digital, según la programación de TRISC. Además, también puede actuar como entrada o salida

19 de diversos periféricos internos, debiéndose tener cuidado en la configuración del registro TRISC en este caso. Para información más detallada se puede consultar la página 19 de esta memoria o mirar el data sheet del dispositivo Puerto D De nuevo se trata de un registro de 8 bits de anchura, con los correspondientes registros TRISD y PORTD. Además de cómo puertos de entrada salida digitales, también puede funcionar como Puerto Paralelo Esclavo para soportar la interconexión directa con el bus de datos de 8 bits de otro microprocesador. En este caso los buffer de entrada son TTL. Para funcionar en este modo hay que poner a 1 el bit 4 (PSMODE) de TRISE. En tal caso, las líneas RE <2:0> del Puerto E pasan a soportar las señales de control CS, WR y RD, entre el Puerto D y el bus del microprocesador. Cada vez que el microprocesador realiza un ciclo de lectura o escritura sobre el Puerto D el bit 7 (PSPIF) del registro PIR1 se pone a Puerto E Este puerto, que sólo dispone de tres patitas, se configura como entradas digitales tras un RESET. Las 3 patitas pueden funcionar como E/S digitales, según la programación de los tres bits menos significativos del registro TRISE. También pueden actuar como señales de control (RD, WR y CS) para el flujo de datos entre un microprocesador y el Puerto D, cuando esta programada en el modo Esclavo. Deben programarse como entradas en este caso. Finalmente, también pueden realizar estos tres pines la función de canal de entrada analógica para el Conversor A/D, según la programación del registro ADCON Temporizadores TMR0 El primer temporizador tiene las siguientes características: Contador temporizador de 8 o 16 bits (seleccionable por software). Posibilidad de lectura y escritura. Prescaler de 8 bits programable por software sólo para este temporizador. Fuente de reloj externa o interna según se elija. Interrupción en el desbordamiento. Registro T0CON para controlar todos los aspectos, incluido el prescaler. Este temporizador, por ser el principal y el resto bastante similares a él, lo explicaremos más detalladamente. En la siguiente figura se muestra los distintos bits y sus funciones del registro T0CON:

20 Figura 12. Bits del registro T0CON El temporizador 0 puede actuar como temporizador o contador. Si funciona como temporizador (poniendo a 0 el bit T0CS) el registro aumentará una unidad con cada ciclo de instrucción. Si funciona como contador (un 1 en el bit T0CS), el registro aumentará con cada subida o bajada del pin RA4/T0CKI. Este aumento será producido con el flanco de bajada o de subida según se programe en el bit T0SE. Los registros que guardan el valor del contador son TMR0L y TMR0H para el byte menos significativo y el más significativo respectivamente. Como se dio a conocer en las características, se dispone de un contador de 8 bits que hace las veces de prescaler. En este contador no podemos escribir, ni podemos leer de él. El bit PSA determina, si se pone a 0, que se va a utilizar el prescaler y mediante los bits PS0:PS2 se le asigna un valor entre 0 y 256. La interrupción del temporizador 0 ocurre cuando el contador se desborda, ya sea desde 00h hasta FFh en modo de 8 bits, o de FFFFh hasta 0000h en modo 16 bits. Este desbordamiento pone a 1 el bit TMR0IF, a no ser que se enmascare mediante la puesta a 0 del bit TMR0IE.

21 Temporizador TMR1 El temporizador 1 posee las siguientes características: Contador temporizador de 16 bits (implementado con 2 registros llamados TMR1H y TMR1L). Posibilidad de lectura y escritura. Selección de reloj externo o interno. Interrupción en el desbordamiento. Posibilidad de RESET desde el módulo CCP. Registro T1CON para controlar el temporizador. Este temporizador puede funcionar como temporizador y como contador externo e interno. El modo de operación se determina mediante el bit TMR1CS del registro T1CON, si éste vale 0 el temporizador aumentará con cada ciclo de instrucción, si por el contrario vale 1 aumentará con cada flanco de subida del reloj externo o del oscilador interno que posee este temporizador (se activa con el bit T1OSCEN). Cuando este oscilador es habilitado los pines del dispositivo RC1/T1OSI y RC0/T1OSO/T1CKI pasan a ser entradas directamente. Respecto a la interrupción, cuando se produce el desbordamiento y la interrupción está habilitada (bit TMR1IE a 1 ), se pone a uno la bandera TMR1IF para indicar que el contador ha llegado a FFFFh Temporizador TMR2 Este temporizador, el tercero del microcontrolador, tiene las características siguientes: Contador de 8 bits (registro TMR2). Registro periódico de 8 bits (registro PR2). Se puede leer y escribir. Prescaler programable (1:1, 1:4 y 1:16 mediante dos bits del registro T2CON). Postscaler programable (1:1 hasta 1:16 mediante cuatro bits del mismo registro). Interrupción en la coincidencia de TMR2 y PR2. Registro de control T2CON. Posibilidad de ser usado como tiempo base para PWM (modulación de anchura de pulsos).

22 Para minimizar el consumo, este contador puede ser apagado o encendido mediante el bit TMR2ON del registro T2CON. Este temporizador será el que utilizaremos en la aplicación del proyecto, principalmente por la utilidad de poder generar una interrupción mediante contadores internos y pasados tantos ciclos de instrucción como uno desee. Veamos un esquema funcional: Figura 13. Diagrama de bloques del temporizador 2. El temporizador 2 puede ser utilizado como tiempo base para los periféricos de modulación de anchura de pulsos o el de captura y comparación. El reloj de entrada tiene una frecuencia que es la cuarta parte de la del oscilador y tiene, como se nombró antes, la posibilidad de utilizar un prescaler al principio y un postscaler tras la comparación con PR2. El contador del temporizador cuenta hasta que su valor coincide con el de PR2, en ese momento se resetea y empieza la cuenta de nuevo. Luego tras pasar por el postscaler se producirá una interrupción si ésta está habilitada. PR2 es lógicamente un registro en el que está permitida la lectura y la escritura. Vemos el registro de control de este temporizador: Figura 14. Bits del registro de control del TIMER 2

23 Temporizador TMR3 A continuación están las características de este último temporizador: Contador temporizador de 16 bits (dos registros de 8 bits llamados TM3H y TMR3L para el byte alto y el bajo respectivamente). De lectura y escritura. Reloj interno o externo seleccionable. Interrupción en el desbordamiento. Registro para el control del Timer3 T3CON. Este temporizador tiene un funcionamiento totalmente igual al Timer1, para más información consultar el Data Sheet Módulos de captura/comparación/modulación de anchura de pulsos CCP Los microcontroladores PIC18FXX2 disponen de dos de estos módulos, llamados CCP1 y CCP2, que se controlan con los registros CCP1CON y CCP2CON, respectivamente. Posee cada uno de ellos un registro de 16 bits y realizan tres funciones: Capturar información de 16 bits procedente del TMR1 o TMR3. Comparar el valor de un registro con el del TMR1 o TMR3 (16 bits). Modular o controlar el intervalo de tiempo en el que bascula de 1 a 0 un pin del microcontrolador. Los módulos CCP1 y CCP2 son idénticos, excepto en ciertas funciones especiales de disparo. Ambos constan de dos registros CCPRxH y CCPRxL Modo de Captura En este modo el registro CCPRxH/L de 16 bits captura el valor contenido en el TMR1 o TMR3, siempre que ocurra uno de los siguientes acontecimientos en la pata Rcy/CCPx del Puerto C, que previamente ha tenido que configurarse como entrada en el registro TRISC: Un flanco ascendente. Un flanco descendente. Cada 4 flancos ascendentes. Cada 16 flancos ascendentes.

24 Al realizarse una captura se activa la bandera CCPxIF del registro PIR1 o PIR2 y si se programa adecuadamente el bit de permiso en PIE1 o PIE2, se genera una interrupción. Ya se puede leer el valor del registro CCPRx. Cuando se produce una captura y no se ha leído el contenido de CCPRx se borra y pasa a contener el nuevo. Si se van a modificar las condiciones en las que se va a efectuar la captura conviene detener o desactivar el modulo CCP para que no se produzcan falsas interrupciones durante la operación. Una aplicación del modo de Captura puede ser la medición de los intervalos de tiempo que existen entre los impulsos que llegan a la pata Rcy/CCPx configurada como entrada. En este modo de trabajo TMR1 debe usarse como entrada de reloj externo sincronizado Modo de Comparación Cuando un modulo CCP trabaja de esta manera el contenido del registro CCPRxH/L se compara continuamente con el del TMR1 o TMR3, que debe trabajar en modo síncrono. Cuando coinciden ambos valores la patita RC2/CCP1 (RC1/CCP2), que previamente se habrá configurado como salida, puede bascular a 1, a 0, o bien no variar (dependiendo de los bits CCP1M3:CCP1M0 (CCP2M3:CCP2M0)), pero se activará el señalizador CCPxIF. En tal caso, si el bit de permiso esta activado se provoca una interrupción. Si se selecciona la función especial de disparo, el CCP1 pone a 0 al TMR1 con lo que CCPR1 funciona como un registro de periodos capaz de provocar interrupciones periódicamente. También el CCP1 o CCP2 pone a 0 el TMR1 o el TMR3 y por último CCP2 inicia una conversión en el Convertidor A/D, con lo que se pueden realizar periódicamente conversiones de analógico-digitales, sin el control del programa de instrucciones Modo de modulación de Anchura de Pulsos (PWM) En este modo CCP1 produce una salida en modulación de anchura de pulsos de hasta 10 bits de resolución. Antes, el segundo bit de TRISC se debe poner a 0 para configurar el pin RC2/CCP1 como salida. Una salida PWM tiene un periodo base y un periodo en el cual la salida está a nivel alto. El periodo base se especifica mediante el registro PR2 y se puede calcular mediante la fórmula: Periodo base = (PR2+1) 4 T OSC Prescaler TMR2 Cuando el valor de registro PR2 coincide con TMR2 ocurren los siguientes tres eventos: TMR2 es puesto a 0. El pin CCP1 es puesto a 1. El periodo a nivel alto es latcheado de CCPR1L a CCPR1H.

25 El periodo a nivel alto se especifica escribiendo en el registro CCPR1L (los 8 bits más significativos) y en los bits cuarto y quinto del registro CCP1CON (los dos bits menos significativos). La siguiente ecuación nos calcula el tiempo de este periodo: Tiempo a nivel alto = (CCPR1L:CCP1CON<5:4>) T OSC (TMR2 Preescaler) La figura 15 representa cualquiera de los registros CCP1CON o CCP2CON. Los bits 4 y 5 funcionan solamente en el modo PWM y son los dos bits de menos peso cuando se trabaja con una resolución de 10 bits. CCPxM3:CCPxM0 seleccionan el modo de trabajo Conversor Analógico Digital Figura 15. Registro CPPxCON El módulo de conversión Analógico/Digital dispone de ocho entradas y permite conversiones de la entrada analógica de 10 bits. Este módulo de A/D tiene cuatro registros que son: ADRESH, ADRESL, ADCON0 y ADCON1. ADCON0 controla las operaciones del módulo y ADCON1 configura las funciones de los pines del puerto. El voltaje de referencia se puede seleccionar por software, teniendo como posibilidad la elección entre Vdd y Vss o la entrada por de los pines RA3/AN3/VREF+ pin y RA2/AN2/VREF-. El convertidor A/D tiene la característica especial de que puede funcionar mientras el microcontrolador está en modo SLEEP. La salida del sample and hold es la entrada del convertidor, que genera el resultado por aproximaciones sucesivas. Un RESET del dispositivo fuerza a todos los registros a su estado de RESET. Esto hace que el convertidor se apague y cualquier conversión sea suspendida.

26 Cada puerto asociado al convertidor puede ser configurado como entrada analógica o como entrada salida digital (RA3 también puede ser voltaje de referencia). Los registros ADRESH y ADRESL guardan el resultado del convertidor. Cuando una conversión es completada, tras guardarse el valor en los registros anteriores, el bit GO/DONE (ADCON0<2>) es puesto a 0 y el bit de interrupción ADIF es puesto a 1. En la siguiente figura está el diagrama de bloques de este módulo: Figura 16. Diagrama de bloques del convertidor A/D Para hacer una conversión se deben seguir los siguientes pasos: Configurar el módulo analógico digital. Configurar los pines analógicos, el voltaje de referencia y los pines de entrada salida digital (ADCON1). Seleccionar el canal de entrada (ADCON0). Seleccionar el reloj de conversión. Encender el módulo. Configurar la interrupción. Poner a 0 el bit ADI. Poner a 1 el bit ADIE. Poner a 1 los bit GIE y PEIE. Esperar el tiempo de adquisición requerido. Empezar la conversión (poner a 1 el bit GO/DONE de ADCON0).

27 Esperar que la conversión se complete o la interrupción suceda. Leer el resultado de los registros ADRESH y ADRESL y poner el bit ADIF a 0 si es necesario. Es necesario esperar dos veces el tiempo por bit (definido como TAD) antes de realizar otra conversión. La conversión A/D requiere de 12 TAD por cada conversión de 10 bits. La fuente del reloj de la conversión se puede seleccionar por software y existen siete opciones posibles que van desde dos hasta sesenta y cuatro veces el periodo del oscilador en potencias de dos. Para una conversión correcta se debe asegurar un TAD de al menos 1.6 µs. En el Data Sheet del microcontrolador se puede encontrar una información más extensa sobre este módulo, que aquí no merece la pena ser incluida Puerto serie síncrono (SSP) Se trata de un periférico diseñado para soportar una interfaz serie síncrono que resulta muy eficiente para la comunicación del microcontrolador con dispositivos tales como displays, EEPROM, ADC, etc. Tiene dos modos de trabajo: 1º. Interfaz Serie de Periféricos (SPI) 2º. Interfaz Inter-Circuitos (I 2 C) Este módulo tiene tres registros asociados, uno de estado (SSPSTAT) y dos registros de control (SSPCON1 y SSPCON2). El uso de estos registros y los bits de configuración individual difieren mucho dependiendo del modo de trabajo Modo SPI El modo SPI permite el envío y la recepción de datos de 8 bits sincronizada y simultáneamente. Son soportados los cuatro modos de SPI. En este modo se pueden emplear 3 o 4 señales de control: Salida de Datos (SDO), Entrada de Datos (SDI), Reloj (SCK) y Selección de Esclavo (SS). Dichas señales se corresponden con las patitas RC5, RC4, RC3 y RA5 respectivamente. Cada una de las señales debe programarse como entrada o salida según su condición, utilizando los bits de los registros TRIS. Cualquier función del modo SPI queda anulada poniendo con el valor opuesto a su condición el bit correspondiente de TRIS. Por ejemplo, si sólo se quiere recibir datos, se programa la patita que soporta a SDO como entrada y así se anula su función. Con el registro de control SSPCON se eligen las diferentes opciones de trabajo: Modo Master (SCK es salida), Modo Esclavo (SCK es entrada), tipo de flanco de reloj, velocidad de SCK en Modo Master, etc. Cuando se recibe un dato útil, éste se introduce en serie en SSPSR y pasa a SSPBUF en paralelo. El dato a transmitirse deposita en SSPBUF y de aquí pasa a SSPSR. Se

28 puede recibir y transmitir ocho bits de datos simultáneamente. SSPSR es un registro de desplazamiento que funciona serie/paralelo/serie. Cuando se acaba de transmitir o recibir un dato completo se activa el bit BF (Buffer Lleno) del registro SSPSTAT. También lo hace la bandera SSPIF y si el bit de permiso esta activado se genera una interrupción. Cuando se recibe un dato durante una transmisión se ignora y se activa el bit WCOL del registro SSPCON que indica que se ha producido una colisión. (Para ver los detalles de funcionamiento de los registro SSPSTAT y SSPCON consultar el Data Sheet del 18F452 que se puede encontrar en la página web de microchip.) En el caso que se reciba un nuevo dato en SSPSBUF sin haber leído el anterior se genera un error de desbordamiento Modo I 2 C Figura 17. Modo SPI Este tipo de interfaz serie ha sido desarrollado por Philips y utiliza sólo dos hilos trenzados y una masa común para la interconexión de los diversos dispositivos, que han tenido que ser diseñados para soportar este protocolo, asegurando una gran fiabilidad en la comunicación que llega a tolerar una velocidad máxima de 400 Kbps. Es capaz de interconectar hasta 128 dispositivos situados a gran distancia, por lo que resulta muy usado en edificios inteligentes, control de distribuciones de electricidad, agua y gas, piscifactorías, etc. El master es el que inicia y termina la transferencia general y provee de la señal de reloj. El esclavo es el dispositivo direccionado por el master mediante 7 bits, lo que limita el número de componentes a 128.

29 El inicio de la transmisión se determina con el bit de inicio (S) y el final con otro bit de stop (P). El bus serie de 2 hilos utiliza uno de ellos para transferir datos (SDA) y el otro para la señal de reloj (SCL). En el protocolo I 2 C cada dispositivo tiene asignada una dirección de 7 o de 10 bits que envía el master cuando comienza la transferencia con uno de ellos. Tras la dirección se añade el bit de recepción/transmisión o lectura/escritura (R/W). Los datos se transmiten con longitud byte y al finalizar cada uno se inserta un bit de reconocimiento ACK. Debe existir un módulo de arbitraje que gestione que sólo hay un maestro en cada instante sobre el bus compartido. La figura muestra un esquema interno de funcionamiento del interfaz I 2 C. Figura 18. Modo I 2 C SSPBUF es el registro donde se almacena el byte a transmitir o el que se recibe. SSPSR es el registro desplazamiento serie de la línea E/S. SSPADD es el registro de direcciones que identifica el dispositivo (modo esclavo) o que lo direcciona (modo master). El registro de control SSPCON selecciona las diversas funciones del modo I 2 C. Cada vez que se detecta un bit de inicio o un bit de stop es posible que se active la bandera SSPIF y en el caso de estar también activado el bit de permiso correspondiente generar una interrupción Interfaz de comunicaciones serie (USART-SCI) El módulo transmisor receptor síncrono asíncrono universal (USART) es uno de los dos módulos de entrada salida serie. Se puede configurar de dos modo diferentes:

30 Asíncrono (full-duplex) Para comunicación bidireccional. La pata RC6/Tx/CK actúa como línea de transmisión y RC7/Rx/DT actúa como recepción. Cada dato lleva un bit de inicio y otro de stop. Síncrono (semiduplex) Comunicación unidireccional. Una sola línea para los datos que se implementan sobre la patita RC7/Rx/DT. Existen dos modos, en el modo master la señal de reloj sale por la patita RC6/Tx/CK y en el modo esclavo entra por ella. En ambos modo los datos pueden ser de 8 o 9 bits, pudiendo emplear el noveno como bit de paridad, transmitiéndose o recibiéndose por el bit <0> de RXSTA y/o RCSTA. El registro específico TXSTA actúa como registro de estado y control del transmisor y el RCSTA hace lo mismo para el receptor. La velocidad en baudios se establecen por el valor cargado en el registro SPBRG y el bit BRGH del registro TXSTA, con el que se puede elegir la velocidad alta (1) o baja (0) en el modo asíncrono. BAUDIOS = F OSC / (n(x + 1)) n = 4 en el modo síncrono n = 16 en el modo asíncrono de alta velocidad n = 64 en el modo asíncrono de baja velocidad x = valor cargado en el registro SPBRG (0 a 255) y siendo x = (F OSC / Baudios) / (n 1) Mediante la programación de los bits del registro TXSTA y RCSTA se configura el modo de trabajo. Así, SPEN configura RC7/Rx y RC6/Tx como líneas de comunicación serie. El transmisor se activa con el bit TxEN. El dato a transmitir se carga en TxREG y luego pasa al registro transmisor TSR, cuando se haya transmitido el bit de stop del dato anterior. Entonces se activa la bandera TxIF y si el bit de permiso esta activado se produce una interrupción. Activando Tx8/9 se inserta el noveno bit almacenado en el bit <0> (TxD8) de TXSTA. El bit TRMT indica si el transmisor esta vacío o no. El dato se recibe por RSR y cuando se completa se pasa al registro RCREG para su posterior lectura, activándose la bandera RCIF y si acaso la interrupción. Si se activa el bit RC8/9del RCSTA el noveno bit se deposita en el bit <0> (RCD8) del RCSTA. Los bits OERR y FERR indican error de desbordamiento y de trama, respectivamente.

31 En la figura 19 se ofrece la asignación de funciones de los bits de los registros TXSTA y RCSTA que gobiernan al receptor y transmisor asíncronos, respectivamente. En modo síncrono el SCI trabaja en half duplex, no pudiendo emitir y transmitir a la vez. La señal de reloj la envía el transmisor (maestro) conjuntamente con los datos. Los principios y el funcionamiento de la emisión y la recepción síncronas son similares al modo asíncrono y únicamente hay que seleccionar esta forma de trabajo cargando adecuadamente los registros TXSTA y RCSTA. Figura 19. Registro TXSTA La figura superior muestra el registro TXSTA donde el bit 7, CSRC, es el bit de selección de reloj siendo solo importante en el modo síncrono donde se elige entre maestro o esclavo. El bit 6 habilita la transmisión de 8 o 9 bits, en general, es TXEN, quien habilita la transmisión. El bit SYNC selecciona el modo USART entre síncrono y asíncrono. Finalmente BRGH selecciona si el rango de baudios será de baja o alta velocidad en el modo asíncrono, TRMT es el bit de estado del registro de desplazamiento del transmisor y TX9D es el noveno bit de datos de transmisión. Se puede emplear como bit de paridad. La figura de la página siguiente muestra el registro RCSTA donde el bit 7, SPEN, es el bit de habilitación del puerto serie. El bit 6 habilita la recepción de 8 o 9 bits y SREN,

32 bit 5, habilita la recepción única y CREN, bit 4, la recepción continua. Los bits 1 y 2 son bits de error y finalmente, RX9D es el noveno bit de datos de recepción Detección de bajo voltaje Figura 20. Registro RXSTA En muchas aplicaciones el poder determinar si la alimentación del dispositivo está por debajo de un cierto valor puede ser muy interesante. Este módulo tiene una circuitería programable por software donde puede ser programado un umbral de alimentación. Cuando VDD pasa a ser menor que ese umbral salta una interrupción (si ésta ha sido habilitada previamente) y se pasaría a ejecutar el código oportuno. De este modo se pueden realizar tareas de salvaguarda antes de que alimentación sea menor que el mínimo voltaje para que el microcontrolador pueda operar. Este módulo tiene su registro de control de 8 bits llamado LVDCON. Posee un bit para indicar que se produzca la interrupción o no, otro para habilitar el módulo y 4 bits para indicar dentro del rango 2v 4.77v donde se quiere situar el umbral. Si los cuatros bits se establecen a 1111 indicará que la referencia es externa y llega por el pin RA5/AN4/SS/LVDIN del integrado.

33 Si está habilitado, el módulo de detección de bajo voltaje seguirá funcionando aunque el dispositivo esté en modo SLEEP. Si se produce la interrupción despertará y se atenderá la interrupción Características especiales de la CPU del PIC 18F Bits de configuración Los bits de configuración pueden ser programados para seleccionar distintas configuraciones del dispositivo. Estos bits están mapeados a partir de la dirección 30000h de la memoria de programa. En realidad esta dirección está detrás de la memoria de programa, en un espacio llamado de memoria de configuración, al cual sólo se puede acceder mediante las tablas de lectura y escritura. La forma de programarlos es similar a la de la memoria Flash, con la diferencia de que aquí sólo se puede hacer byte a byte. Para más información sobre estos bits se puede consultar el data sheet del dispositivo ( Perro guardián (WDT) El Perro guardián vigila que el programa no se "cuelgue" y dejen de ejecutarse las instrucciones secuenciales del mismo tal como lo ha previsto el diseñador. Para realizar esta labor, observa la CPU cada cierto tiempo y comprueba si el programa se ejecuta normalmente; en caso negativo, el perro fuerza un reset, reinicializando todo el sistema. No es más que un temporizador controlado por un oscilador RC interno independiente y que no requiere de ningún componente externo. En modo normal genera un reset cuando se desborda y si el microcontrolador está en modo SLEEP provoca que se despierte. El perro guardián es habilitado y deshabilitado mediante un bit de configuración del dispositivo. Si está habilitado no será posible deshabilitarlo por software. Posee un registro de control, WDTCON, que tiene un bit que permite el funcionamiento del módulo cuando el bit de configuración está a 0 (deshabilitado) Modo SLEEP Este modo de funcionamiento se trata de una utilidad más del microcontrolador que permite reducir el consumo cuando no se está realizando ninguna tarea y simplemente se está esperando una interrupción para empezar a ejecutar código. El dispositivo se mantiene dormido y sólo se despertará tras una interrupción o un RESET. Para entrar en modo SLEEP simplemente hay que ejecutar la instrucción sleep del juego de instrucciones del procesador. Si se habilita, el perro guardián se pondrá a cero, aunque seguirá funcionando, el manejador del oscilador se apaga y los pines de entrada salida mantienen el valor que tenía.

PIC16F88. Características

PIC16F88. Características Osciladores PIC16F88. Características Osciladores a cristal: LP, XT y HS hasta 20Mhz Oscilador externo hasta 20Mhz Oscilador interno: 31Khz 8Mhz Periféricos Módulo PWM/CCP CCP (captura/comparación) ->

Más detalles

MICROCONTROLADORES PIC

MICROCONTROLADORES PIC MICROCONTROLADORES PIC LOS TIMER DE LOS 16F87x TEMA EL TIMER 1 CCFF D.P.E. MÓDULO DE PROYECTOS 1 Diagrama de Bloques del TIMER1 CCFF D.P.E. MÓDULO DE PROYECTOS 2 INTRODUCCIÓN El módulo TIMER1 es un temporizador/contador

Más detalles

2.5-1 USART Introducción.

2.5-1 USART Introducción. 2.5-1 USART Introducción. El USART (universal synchronous asynchronous receiver transmitter) es uno de los dos puertos series de los que dispone los PIC16F87X. Puede funcionar de forma síncrona (half duplex)

Más detalles

PIC16F882/883/884/886/ Funcionamiento de Timer1 6 EL MODULO TMR1 CON PUERTA DE CONTROL Selección de Fuente de reloj

PIC16F882/883/884/886/ Funcionamiento de Timer1 6 EL MODULO TMR1 CON PUERTA DE CONTROL Selección de Fuente de reloj 6.1. Funcionamiento de Timer1 6 EL MODULO TMR1 CON PUERTA DE CONTROL El módulo TMR1 es un temporizador/contador de 16 bits con las siguientes características: Temporizador/Contador de 16 bits (TMR1L:TMR1H)

Más detalles

MICROCONTROLADORES PIC16F84 ING. RAÚL ROJAS REÁTEGUI

MICROCONTROLADORES PIC16F84 ING. RAÚL ROJAS REÁTEGUI MICROCONTROLADORES PIC16F84 ING. RAÚL ROJAS REÁTEGUI DEFINICIÓN Es un microcontrolador de Microchip Technology fabricado en tecnología CMOS, completamente estático es decir si el reloj se detiene los datos

Más detalles

PIC 18F45XX CARACTERÍSTICAS GENERALES

PIC 18F45XX CARACTERÍSTICAS GENERALES PIC 18F45XX CARACTERÍSTICAS GENERALES 1. Características generales CPU con arquitectura Harvard (77 instrucciones) Todas las instrucciones constan de 1 sola palabra de 16 bits (2 bytes) excepto las de

Más detalles

Estructura de Microprocesadores. Profesor Ing. Johan Carvajal Godínez

Estructura de Microprocesadores. Profesor Ing. Johan Carvajal Godínez Estructura de Microprocesadores PIC 18F4550 Módulos de Comunicación Serie Profesor Ing. Johan Carvajal Godínez Contenido Módulos de comunicación serie sincrónica I2C SPI Módulo de comunicación serie Asincrónico

Más detalles

RECURSOS FUNDAMENTALES

RECURSOS FUNDAMENTALES RECURSOS FUNDAMENTALES Los recursos que se considerarán son : Temporizadores Puertos de E/S La Palabra de Configuración EEPROM de datos 1 TEMPORIZADORES Una labor habitual en los programas de control suele

Más detalles

Taller de Firmware. Introducción al PIC16F877. Facultad de Ingeniería Instituto de Com putación

Taller de Firmware. Introducción al PIC16F877. Facultad de Ingeniería Instituto de Com putación Taller de Firmware Introducción al PIC16F877 Facultad de Ingeniería Instituto de Com putación Contenido Introducción a los microcontroladores PIC. Presentación del PIC 16F877. Introducción a los microcontroladores

Más detalles

Características PIC16F84

Características PIC16F84 Departamento de Electrónica Fundación San Valero del Toda la información que grabamos (memoria de programa y de datos) se puede modificar con el microcontrolador conectado a la aplicación. (ICSP = In-Circuit

Más detalles

INTRODUCCIÓN. Comunicación Serial.

INTRODUCCIÓN. Comunicación Serial. INTRODUCCIÓN La función principal de este tipo de comunicación es la de convertir datos de salida de forma paralela a serial y la de convertir datos de entrada de forma serial a paralela. El acceso al

Más detalles

2.2-1 Visión Interna PIC16F873/876. SBM

2.2-1 Visión Interna PIC16F873/876. SBM 2.2-1 Visión Interna PIC16F873/876. 1 2.2-2 Visión Interna PIC16F874/877. 2 2.2-3 Sistema de memoria. Tienen arquitectura Harvard, separa la memoria de datos y la memoria de programa, y se accede a ellas

Más detalles

Los PIC 16F88X:Módulo de comunicaciones serie síncrona: MSSP SPI

Los PIC 16F88X:Módulo de comunicaciones serie síncrona: MSSP SPI Los PIC 16F88X:Módulo de comunicaciones serie síncrona: MSSP SPI IES Juan de la Cierva Aprendizaje de la Electrónica a través de la Robótica Fernando Remiro Dominguez Módulo de Comunicaciones Serie Síncrona

Más detalles

PIC16F882/883/884/886/887

PIC16F882/883/884/886/887 12.0 Transmisor Receptor Síncrono Asíncrono Universal Mejorado. EUSART. El módulo Transmisor Receptor Síncrono Asíncrono Mejorado, en adelante, EUSART, es un periférico de comunicación serie de entrada/salida.

Más detalles

PRÁCTICA 5: Medida del tiempo en un PIC

PRÁCTICA 5: Medida del tiempo en un PIC SISTEMAS ELECTRÓNICOS Y AUTOMÁTICOS PRACTICAS DE MICROCONTROLADORES PIC PRÁCTICA 5: Medida del tiempo en un PIC TMR0 TMR1 Display 7 segmentos - 1 - 1. Objetivos: - Gestión de los temporizadores en los

Más detalles

LOS PIC16F88X: LOS PUERTOS DE E/S

LOS PIC16F88X: LOS PUERTOS DE E/S LOS PIC16F88X: LOS PUERTOS DE E/S IES Juan de la Cierva Aprendizaje de la Electrónica a través de la Robótica Fernando Remiro Domínguez PORTA Es un puerto bidireccional de 8 bits que permite el acceso

Más detalles

PIC16C5X (GAMA BAJA) Solo en dispositivos de 28 pins. Encapsulado y patillaje:

PIC16C5X (GAMA BAJA) Solo en dispositivos de 28 pins. Encapsulado y patillaje: PIC6C5X (GAMA BAJA) Oscilador RESET SLEEP WatchDog Timer (WDT) Protección de código e IDs Periféricos: Timer/Contador de 8bits (T) con prescaler compartido para WDT o TMR Hasta 3 puertos I/O (RA,RB,RC)

Más detalles

EL BUS I2C CARACTERISTICAS. Fernando Remiro

EL BUS I2C CARACTERISTICAS. Fernando Remiro CARACTERISTICAS Fernando Remiro 1 CARACTERÍSTICAS Utiliza 2 líneas para transportar la información entre los distintos periféricos conectados al bus SDA (datos) SCL (reloj) Cada dispositivo se identifica

Más detalles

CAPÍTULO 2. ARQUITECTURA Y COMPONENTES.

CAPÍTULO 2. ARQUITECTURA Y COMPONENTES. CAPÍTULO 2. ARQUITECTURA Y COMPONENTES. 2.1. ARQUITECTURA DEL SISTEMA. Vamos a proporcionar en este apartado una visión general de la arquitectura del sistema, para que así el lector pueda obtener una

Más detalles

El Microcontrolador PIC16F877. Resumen de hoja de datos

El Microcontrolador PIC16F877. Resumen de hoja de datos El Microcontrolador PIC16F877 Resumen de hoja de datos 2 El PIC16F877 es un microcontrolador con memoria de programa tipo FLASH, lo que representa gran facilidad en el desarrollo de prototipos y en su

Más detalles

Arquitectura de Computadores II

Arquitectura de Computadores II Facultad de Ingeniería Universidad de la República Instituto de Computación Temas Repaso de conceptos Microcontroladores CISC vs RISC CISC Complex Instruct Set Computers RISC Reduced Instruct Set Computers

Más detalles

PIC 18F45XX EL TIMER 0

PIC 18F45XX EL TIMER 0 PIC 18F45XX EL TIMER 0 1. Hardware asociado 2. Características Se puede configurar como temporizador o contador de 8/16 bits. Se puede leer o escribir en él a través del registro TMR0. Dispone de un preescaler

Más detalles

Sistemas con Microprocesadores I

Sistemas con Microprocesadores I Sistemas con Microprocesadores I 1 Microcontroladores Introducción Harvard vs. von-neumann Clasificación del procesador Segmentado o Pipeline Ortogonal vs. No ortogonal 2 Microcontroladores PIC Siglas

Más detalles

INDICE Capitulo 1. Microcontroladores Programables: La Solución está en un CHIP Capitulo 2. Microcontroladores de 8 BITS: Los <<PIC>>

INDICE Capitulo 1. Microcontroladores Programables: La Solución está en un CHIP Capitulo 2. Microcontroladores de 8 BITS: Los <<PIC>> INDICE Prólogo XIII Capitulo 1. Microcontroladores Programables: La Solución está en un CHIP 1 1.1. Qué es un microcontrolador? 1 1.1.1. Diferencia entre microprocesador y microcontrolador 3 1.4. Arquitectura

Más detalles

TEMA 20 EL CONVERSOR A/D

TEMA 20 EL CONVERSOR A/D TEMA 20 EL CONVERSOR A/D Introducción Al Conversor Analógico/Digital Los microcontroladores PIC de la familia 16F78x, poseen un conversor A/D de 10 bits de resolución, y con 5 entradas para los dispositivos

Más detalles

TEMA 5 LA MEMORIA DE DATOS MEMORIA RAM D.P.E. DESARROLLO DE PROYECTOS 1

TEMA 5 LA MEMORIA DE DATOS MEMORIA RAM D.P.E. DESARROLLO DE PROYECTOS 1 TEMA 5 LA MEMORIA DE DATOS MEMORIA RAM D.P.E. DESARROLLO DE PROYECTOS 1 Estructura De La Memoria Ram (1) La memoria de datos RAM está dividida en dos partes diferenciadas: 1.- Zona SFR o zona de Registros

Más detalles

ÍNDICE CAPÍTULO 1 FUNDAMENTOS DE LOS MICROCONTROLADORES

ÍNDICE CAPÍTULO 1 FUNDAMENTOS DE LOS MICROCONTROLADORES ÍNDICE CAPÍTULO 1 FUNDAMENTOS DE LOS MICROCONTROLADORES 1.1 Introducción 1.2 Fundamentos de los procesadores digitales secuenciales 1.2.1 Introducción 1.2.2 Arquitectura interna 1.2.2.1 Procesadores digitales

Más detalles

Registros SFR vistos hasta ahora: Microcontroladores PIC

Registros SFR vistos hasta ahora: Microcontroladores PIC Registros SFR vistos hasta ahora: Microcontroladores PIC Microcontroladores PIC: Timer Características del Timer TMR0: Cumple básicamente la función de contador de eventos (o divisor de frecuencia). El

Más detalles

MICROCONTROLADORES: FUNDAMENTOS Y APLICACIONES CON PIC. Autores: Fernando E. Valdés Pérez Ramon Pallàs Areny. Título de la obra:

MICROCONTROLADORES: FUNDAMENTOS Y APLICACIONES CON PIC. Autores: Fernando E. Valdés Pérez Ramon Pallàs Areny. Título de la obra: Título de la obra: MICROCONTROLADORES: FUNDAMENTOS Y APLICACIONES CON PIC Autores: Fernando E. Valdés Pérez Ramon Pallàs Areny Composición y preimpresión: Carles Parcerisas Civit (3Q Editorial) Reservados

Más detalles

TARJETA DE ENTRADAS Y CONTADORES RÁPIDOS (MTC-3052)

TARJETA DE ENTRADAS Y CONTADORES RÁPIDOS (MTC-3052) Pag:1 Descripción Tarjeta de entradas y contadores rápidos diseñada para controles complejos en tiempo real. A través de software sencillo permite su configuración al usuario. Cuenta con diversidad de

Más detalles

MICROPROCESADORES I ELECTRONICA DIGITAL III INTERFASE PROGRAMABLE A PERIFERICOS PPI 8255

MICROPROCESADORES I ELECTRONICA DIGITAL III INTERFASE PROGRAMABLE A PERIFERICOS PPI 8255 MICROPROCESADORES I ELECTRONICA DIGITAL III INTERFASE PROGRAMABLE A PERIFERICOS PPI 8255 INTRODUCCIÓN Este integrado de la firma INTEL, conocido como PPI 8255 (Programmable Peripherical Interfase) realizado

Más detalles

Tema. Módulo Captura Comparación Modulación n de Achura de Pulsos. C. F. G.S. D.P.E. Módulo de Proyectos 1

Tema. Módulo Captura Comparación Modulación n de Achura de Pulsos. C. F. G.S. D.P.E. Módulo de Proyectos 1 Tema Módulo Captura Comparación Modulación n de Achura de Pulsos C. F. G.S. D.P.E. Módulo de Proyectos 1 Módulo de Captura/ aptura/comparación/ n/pwm Los microcontroladores de la familia 16F87X disponen

Más detalles

UNIVERSIDAD NACIONAL DE COLOMBIA SEDE BOGOTÁ FACULTAD DE INGENIERÍA INGENIERÍA MECATRÓNICA

UNIVERSIDAD NACIONAL DE COLOMBIA SEDE BOGOTÁ FACULTAD DE INGENIERÍA INGENIERÍA MECATRÓNICA UNIVERSIDAD NACIONAL DE COLOMBIA SEDE BOGOTÁ FACULTAD DE INGENIERÍA INGENIERÍA MECATRÓNICA INTRODUCCIÓN AL PIC NOMENCLATURA ARQUITECTURA. TEMPORIZACIÓN. SET DE INSTRUCCIONES. MODOS DE DIRECCIONAMIENTO.

Más detalles

AUTOMATIZACION. Reconocer la arquitectura y características de un PLC Diferenciar los tipos de entradas y salidas MARCO TEORICO. Estructura Interna

AUTOMATIZACION. Reconocer la arquitectura y características de un PLC Diferenciar los tipos de entradas y salidas MARCO TEORICO. Estructura Interna AUTOMATIZACION GUIA DE TRABAJO 3 DOCENTE: VICTOR HUGO BERNAL UNIDAD No. 3 OBJETIVO GENERAL Realizar una introducción a los controladores lógicos programables OBJETIVOS ESPECIFICOS: Reconocer la arquitectura

Más detalles

ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL Facultad de Ingeniería EN ELECTRICIDAD Y COMPUTACIÓN

ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL Facultad de Ingeniería EN ELECTRICIDAD Y COMPUTACIÓN ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL Facultad de Ingeniería EN ELECTRICIDAD Y COMPUTACIÓN Diseño e Implementación de una Balanza Electrónica en Base al Microcontrolador PIC 16LF877 TESIS DE GRADO Previo

Más detalles

PRODUCTO P05 SOFTWARE EMBEBIDO PARA EL CONTROL DEL CIRCUITO GENERADOR DE CORRIENTE DE LAS FORMAS DE ONDAS PARA ELECTROTERAPIA

PRODUCTO P05 SOFTWARE EMBEBIDO PARA EL CONTROL DEL CIRCUITO GENERADOR DE CORRIENTE DE LAS FORMAS DE ONDAS PARA ELECTROTERAPIA PRODUCTO P05 SOFTWARE EMBEBIDO PARA EL CONTROL DEL CIRCUITO GENERADOR DE CORRIENTE DE LAS FORMAS DE ONDAS PARA ELECTROTERAPIA Actividades: A05-1: Elaboración del diagrama de flujo de las funciones de control

Más detalles

El Microcontrolador PIC16F873. Resumen de hoja de datos

El Microcontrolador PIC16F873. Resumen de hoja de datos El Microcontrolador PIC16F873 Resumen de hoja de datos 2 El PIC16F873 es un microcontrolador con memoria de programa tipo FLASH, lo que representa gran facilidad en el desarrollo de prototipos y en su

Más detalles

TIMER0 (T0) TMR0 (01h,101h)

TIMER0 (T0) TMR0 (01h,101h) TIMER (T) Contador ascendente de 8bits Prescaler desde :2 hasta :256 Timer: entrada del reloj del sistema T CY =4*T osc =(F osc /4) t DESBORDE =4*T osc *(2 8 TMR)*N ;Prescaler :N Contador: entrada externa

Más detalles

EL módulo conversor A/D. (c) Domingo Llorente

EL módulo conversor A/D. (c) Domingo Llorente EL módulo conversor A/D (c) Domingo Llorente 2010 1 Características del conversor A/D Ocho entradas de señal analógica. (5 para el 16F876x) Resolución de la conversión de 10 bits. (0-1024) Distintas fuentes

Más detalles

Tema: Microprocesadores

Tema: Microprocesadores Universidad Nacional de Ingeniería Arquitectura de Maquinas I Unidad I: Introducción a los Microprocesadores y Microcontroladores. Tema: Microprocesadores Arq. de Computadora I Ing. Carlos Ortega H. 1

Más detalles

Ventajas del BUS I2C

Ventajas del BUS I2C BUS I2C: IMPLEMENTACIÓN PRÁCTICA CON MICROCONTROLADORES PIC TC74: Termómetro digital 1 Ventajas del BUS I2C Definido inicialmente a mediados de los 80 para trabajar a 100kbit/s y en 1995 se definió un

Más detalles

MÓDULO COMPARADOR Y REFERENCIA DE TENSIÓN PARA LA COMPARACIÓN

MÓDULO COMPARADOR Y REFERENCIA DE TENSIÓN PARA LA COMPARACIÓN MÓDULO COMPARADOR Y REFERENCIA DE TENSIÓN PARA LA COMPARACIÓN - + Fernando Nuño García 1 Estos dos módulos existen en la versión de los PIC16F87xA pero NO en la versión PIC16F87x PIC16F877 PIC16F877A 2

Más detalles

INDICE Programa Entrada Unidad de control Unidad aritmética y lógica (ALU)

INDICE Programa Entrada Unidad de control Unidad aritmética y lógica (ALU) INDICE Capitulo 1. Qué es un computador? 1.1. Introducción 1 1.2. El computador como dispositivo electrónico 2 1.3. Cómo se procesa la información? 3 1.4.Diagrama de bloques de un computador 1.4.1. Información

Más detalles

ESTRUCTURA BÁSICA DEL µc AT89C51

ESTRUCTURA BÁSICA DEL µc AT89C51 Desde mediados de la década de los 80 s gran parte de los diseños basados en la automatización (electrodomésticos, sencillas aplicaciones Industriales, instrumentación medica, control numérico, etc.) utilizaban

Más detalles

Temporizadores/Contadores

Temporizadores/Contadores para el PIC6F787 Temporizador/Contador (TMR) Temporizador/Contador (TMR) Temporizador 2 (TMR2) Características del TMR TMR es un Temporizador/Contador de 8 bits Leíble y escribible Reloj interno y externo

Más detalles

Práctica 5. Comunicación serie y entradas analógicas

Práctica 5. Comunicación serie y entradas analógicas Práctica 5 Comunicación serie y entradas analógicas Práctica 5 Comunicación serie y entradas analógicas. Objetivos El objetivo de esta sesión es que el alumno aprenda a programar la EUART interna del PIC,

Más detalles

Velocidades Típicas de transferencia en Dispositivos I/O

Velocidades Típicas de transferencia en Dispositivos I/O Entradas Salidas Velocidades Típicas de transferencia en Dispositivos I/O Entradas/Salidas: Problemas Amplia variedad de periféricos Entrega de diferentes cantidades de datos Diferentes velocidades Variedad

Más detalles

Organización de Computadoras Apunte 5: Circuitos Lógicos Secuenciales

Organización de Computadoras Apunte 5: Circuitos Lógicos Secuenciales Organización de Computadoras 2003 Apunte 5: Circuitos Lógicos Secuenciales Introducción: En el desarrollo de los sistemas digitales es fundamental el almacenamiento de la información, esta característica

Más detalles

Sensores inalámbricos de bajo

Sensores inalámbricos de bajo Sensores inalámbricos de bajo consumo. Parte 1. El sistema de telemetría con microcontroladores PIC Autor: Marc Ralita Álvarez Director proyecto: Francesc Sánchez Robert Sensores inalámbricos de bajo consumo

Más detalles

Tutoría 2. Banco de memoria de 8 y 16 bits (8086)

Tutoría 2. Banco de memoria de 8 y 16 bits (8086) Tutoría 2. Banco de memoria de 8 y 16 bits (8086) RESUMEN Cuando el procesador opera en modo mínimo, éste genera las señales de control para la memoria y los dispositivos de E/S. [1, pág. 292]. Para utilizar

Más detalles

Qué es un Microcontrolador?

Qué es un Microcontrolador? Qué es un Microcontrolador? Es un circuito integrado programable que contiene todos los componentes de un computadora, aunque de limitadas prestaciones y se destina a gobernar una sola tarea. Cómo se compone

Más detalles

Arquitectura Interna del 8088

Arquitectura Interna del 8088 Arquitectura Interna del 8088 Intel diseñó el 8088/8086 para realizar al mismo tiempo las principales funciones internas de transferencia de datos y búsqueda de instrucciones. Para conseguir esto, el 8088

Más detalles

Medidas de Distancia mediante Rayos Infrarrojos

Medidas de Distancia mediante Rayos Infrarrojos Medidas de Distancia mediante Rayos Infrarrojos Con un nuevo módulo sensor de proximidad. La casa Sharp ha fabricado un nuevo sensor, en la forma del módulo GP2D02 que, con la ayuda de un microcontrolador,

Más detalles

Pines de entrada/salida (I/O) de propósito general. Mediante ellos, el micro PIC puede monitorizar y controlar otros dispositivos.

Pines de entrada/salida (I/O) de propósito general. Mediante ellos, el micro PIC puede monitorizar y controlar otros dispositivos. 1 Pines de entrada/salida (I/O) de propósito general Mediante ellos, el micro PIC puede monitorizar y controlar otros dispositivos. Para añadir flexibilidad al micro, muchos de sus pines de entrada/salida

Más detalles

UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA. Ingeniería en Electrónica EL MICROCONTROLADOR PIC16F84 PRESENTA: M. C. Felipe Santiago Espinosa

UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA. Ingeniería en Electrónica EL MICROCONTROLADOR PIC16F84 PRESENTA: M. C. Felipe Santiago Espinosa UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Ingeniería en Electrónica EL MICROCONTROLADOR PIC16F84 PRESENTA: M. C. Felipe Santiago Espinosa Noviembre de 2007 Objetivos 2 Que los participantes adquieran el conocimiento

Más detalles

ITT-327-T Microprocesadores

ITT-327-T Microprocesadores ITT-327-T Microprocesadores Temporizador Programable (PIT) 8254. Temporizador/Contador Programable (PIT) 8254. Es un contador/temporizador programable diseñado para trabajar con los sistemas de microcomputadores.

Más detalles

5. Microcontroladores de 32 bits. (C) 2007 Ibercomp S. A.

5. Microcontroladores de 32 bits. (C) 2007 Ibercomp S. A. 0LFURFRQWURODGRUHVGHELWV Cada vez existen más equipos que incorporan un microcontrolador en su sistema con el fin de aumentar de manera importante sus prestaciones, reducir su tamaño y coste, mejorar su

Más detalles

Estructura de Microprocesadores. Profesor Ing. Johan Carvajal Godínez

Estructura de Microprocesadores. Profesor Ing. Johan Carvajal Godínez Estructura de Microprocesadores PIC 18F4550 Administración de los temporizadores Profesor Ing. Johan Carvajal Godínez Módulos temporizadores El MCU 18F4550 posee cuatro módulos de temporización independientes

Más detalles

EVOLUCIÓN HISTÓRICA DE LOS µp

EVOLUCIÓN HISTÓRICA DE LOS µp EVOLUCIÓN HISTÓRICA DE LOS µp El primer procesador fue inventado por los Babilonios en el año 500 ac En 1642 se perfeccionó la primera calculadora por Blas Pascal A mediados del siglo pasado se inventaron

Más detalles

Interrupciones Fuentes de Interrupciones para el PIC16F1787

Interrupciones Fuentes de Interrupciones para el PIC16F1787 Fuentes de para el PIC16F1787 Interrupción externa a través del pin RB0/INT Interrupción por cambio de nivel Interrupción por escritura en la EEPROM Interrupción por desbordamiento del TMR0 Interrupción

Más detalles

Contenidos. Arquitectura de ordenadores (fundamentos teóricos) Elementos de un ordenador. Periféricos

Contenidos. Arquitectura de ordenadores (fundamentos teóricos) Elementos de un ordenador. Periféricos Arquitectura de ordenadores (fundamentos teóricos) Representación de la información Estructura de un microprocesador Memorias Sistemas de E/S Elementos de un ordenador Microprocesador Placa base Chipset

Más detalles

Preguntas claves (y sus respuestas)

Preguntas claves (y sus respuestas) 1 Preguntas claves (y sus respuestas) Qué es un microprocesador? Es un Circuito Integrado Secuencial Síncrono Qué necesita para funcionar? Qué hace? Para qué? Una tensión continua estable (5V, 3.3V, 2.5V,

Más detalles

PIC 16F87X TRABAJO EXPLICACIÓN

PIC 16F87X TRABAJO EXPLICACIÓN PIC 16F87X TRABAJO EXPLICACIÓN Sebastián Martín García INDICE DIFERENCIAS ENTRE PIC16F84 Y 16F87X 4 PIC 16F87X 5 DIFERENCIAS ENTRE 16F84 Y 16F87X 5 SENSORES ANALOGICOS MAS UTILIZADOS 6 SENSOR DE LUMINOSIDAD

Más detalles

Microcontroladores PIC

Microcontroladores PIC Microcontroladores PIC 1 Características generales: Arquitectura Harvard, procesador segmentado. Compatibilidad software entre los modelos de la misma gama. Sencillez de uso y herramientas de desarrollo

Más detalles

PIC 18F45XX. El módulo CCP de Comparación, Captura y PWM (Pulse Wide Modulation)

PIC 18F45XX. El módulo CCP de Comparación, Captura y PWM (Pulse Wide Modulation) PIC 18F45XX El módulo CCP de Comparación, Captura y PWM (Pulse Wide Modulation) 1. El módulo C.C.P La mayoría de microcontroladores actuales disponen de un periférico denominado Módulo de Captura, Comparación

Más detalles

Microprocesadores, Tema 2:

Microprocesadores, Tema 2: Microprocesadores, Tema 2: Introducción al Microcontrolador PIC18 Guillermo Carpintero, guiller@ing.uc3m.es Universidad Carlos III de Madrid Diagrama de bloques PIC microcontrollers: An introduction to

Más detalles

PROFESOR: Práctica 10. Modulación por ancho de pulso (PWM) Emplea un microcontrolador para procesamiento de señales analógicas y digitales

PROFESOR: Práctica 10. Modulación por ancho de pulso (PWM) Emplea un microcontrolador para procesamiento de señales analógicas y digitales INSTITUTO POLITÉCNICO NACIONAL Centro de Estudios Científicos y Tecnológicos Nº 1 Gonzalo Vázquez Vela Academia de Sistemas Digitales Prácticas de Micro Electrónica Programable NOMBRE DEL ALUMNO: Apellido

Más detalles

3 Interfaz PC DSP. 3.1 Introducción a las comunicaciones serie. 3 Interfaz PC DSP

3 Interfaz PC DSP. 3.1 Introducción a las comunicaciones serie. 3 Interfaz PC DSP 3 Interfaz PC DSP 3.1 Introducción a las comunicaciones serie Las comunicaciones serie se utilizan para enviar datos a través de largas distancias, ya que las comunicaciones en paralelo exigen demasiado

Más detalles

RB7/PGD RB6/PGC RB5 RB4 RB3/PGM RB2. RB1 RB0/INT VDD Vss RD7/PSP7 RD6/PSP6 RD5/PSP5 RD4/PSP4 RC7/RX/DT RC6/TX/CK RC5/SD0 RC4/SDI/SDA RD3/PSP3 RD2/PSP2

RB7/PGD RB6/PGC RB5 RB4 RB3/PGM RB2. RB1 RB0/INT VDD Vss RD7/PSP7 RD6/PSP6 RD5/PSP5 RD4/PSP4 RC7/RX/DT RC6/TX/CK RC5/SD0 RC4/SDI/SDA RD3/PSP3 RD2/PSP2 LOS PIC16F87X Características Generales D. de B L O Q U E S 1 D. de B L O Q U E S D. de B L O Q U E S 2 Características (1) Procesador de arquitectura RISC avanzada Juego de solo 35 instrucciones con 14

Más detalles

ESTRUCTURA FÍSICA DEL µp 8086

ESTRUCTURA FÍSICA DEL µp 8086 Características generales: Procesador de 16 bits Bus de direcciones de 20 bits : 1 Mbyte Bus de datos interno de 16 bits Bus de datos externo de 16 bits en el 8086 8 bits en el 8088 89 instrucciones Alimentación

Más detalles

Timer Interface Module

Timer Interface Module Timer Interface Module M.C. Jorge Eduardo Ibarra Esquer Timer Interface (TIM) El TIM es un timer de 2 canales que proporciona una referencia de temporización con captura de entrada, comparador de salida

Más detalles

ÍNDICE INTRODUCCIÓN...17

ÍNDICE INTRODUCCIÓN...17 ÍNDICE INTRODUCCIÓN...17 CAPÍTULO 1. MICROCONTROLADORES...19 1.1 MICROCONTROLADOR...19 1.1.1 Controlador y microcontrolador...19 1.1.2 Diferencia entre microprocesador y microcontrolador...21 1.1.3 Aplicaciones

Más detalles

4. Tarjeta de control

4. Tarjeta de control 4. Tarjeta de control 4.1. Características Esta tarjeta permite conectar cualquier microcontrolador del mercado al resto de tarjetas esclavo. Como se detalla en la sección 2 de este documento (Bus de Intercomunicación),

Más detalles

Microprocesadores. Temporizadores / Contadores. Prof. Luis Araujo. Universidad de Los Andes

Microprocesadores. Temporizadores / Contadores. Prof. Luis Araujo. Universidad de Los Andes Temporizadores / Contadores Universidad de Los Andes Temporizador / Contador Timer 0 Temporizador/Contador de 8 bits (TMR0), Preescalador programable de 8 bits, Modo temporizador: el valor del registro

Más detalles

TEMA 8. REGISTROS Y CONTADORES.

TEMA 8. REGISTROS Y CONTADORES. TEMA 8. REGISTROS Y CONTADORES. TECNOLOGÍA DE COMPUTADORES. CURSO 2007/08 8.1. Registros. Tipos de registros. Registros de desplazamiento. Los registros son circuitos secuenciales capaces de almacenar

Más detalles

MEMORIA EJERCICIO 1 EJERCICIO 2

MEMORIA EJERCICIO 1 EJERCICIO 2 MEMORIA EJERCICIO 1 Determinar el mapa de memoria de un procesador con 16 señales de bus de direcciones, una señal de asentimiento de bus de direcciones AS, una señal de lectura R, otra de escritura W

Más detalles

ORGANIZACIÓN DE LA MEMORIA

ORGANIZACIÓN DE LA MEMORIA Existen dos tipos de memoria en todos los µc, memoria de programa y memoria de datos. La primera (EPROM, EEPROM, FLASH, etc) contiene los códigos de operación que se ejecutarán para seguir una secuencia

Más detalles

Periféricos Interfaces y Buses

Periféricos Interfaces y Buses Periféricos Interfaces y Buses I. Arquitectura de E/S II. Programación de E/S III. Interfaces de E/S de datos IV. Dispositivos de E/S de datos V. Buses Buses de E/S (PCI, PC104, AGP). Sistemas de interconexión

Más detalles

ARQUITECTURA DE LOS SISTEMAS BASADOS EN MICROPROCESADOR

ARQUITECTURA DE LOS SISTEMAS BASADOS EN MICROPROCESADOR ARQUITECTURA DE LOS SISTEMAS BASADOS EN MICROPROCESADOR Historia Bloques funcionales Dimensionamiento Estructura CPU Concepto de programa Interrupciones Buses Entrada / Salida Ejemplo de arquitectura:

Más detalles

SISTEMAS ELECTRÓNICOS DIGITALES

SISTEMAS ELECTRÓNICOS DIGITALES SISTEMAS ELECTRÓNICOS DIGITALES PRÁCTICA 6 SISTEMA DE ENCRIPTACIÓN 1. Objetivos - Estudio del funcionamiento de memorias RAM y CAM. - Estudio de métodos de encriptación y compresión de datos. 2. Enunciado

Más detalles

USB232. Hoja de datos

USB232. Hoja de datos - 1 - USB232 Hoja de datos 9600, 19200, 38400, 57600, 115200 bps Interfaz USB serie RS232 Integración de tecnología USB Para sistemas con comunicación serie RS232 - 2 - USB232 Interfaz USB serie RS232

Más detalles

Sistema Operativo. Repaso de Estructura de Computadores. Componentes Hardware. Elementos Básicos

Sistema Operativo. Repaso de Estructura de Computadores. Componentes Hardware. Elementos Básicos Sistema Operativo Repaso de Estructura de Computadores Capítulo 1 Explota los recursos hardware de uno o más procesadores Proporciona un conjunto de servicios a los usuarios del sistema Gestiona la memoria

Más detalles

Tema 3 SUBRUTINAS. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía

Tema 3 SUBRUTINAS. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía Tema 3 SUBRUTINAS ÍNDICE Definición e instrucciones básicas Soporte para el tratamiento de subrutinas (ejecución de la subrutina y gestión del bloque de activación) Interrupciones vs llamadas a procedimiento

Más detalles

Tema 4 Microprocesador MCF5282: Hardware

Tema 4 Microprocesador MCF5282: Hardware Tema 4 Microprocesador MCF5282: Hardware Curso 2010/11 Índice 1. Introducción 2. Descripción general de los terminales 3. Módulo de interfaz externo (EIM) 4. Módulo de generación de chip-selects (CS) 5.

Más detalles

Estructura de Microprocesadores. Profesor Ing. Johan Carvajal Godínez

Estructura de Microprocesadores. Profesor Ing. Johan Carvajal Godínez Estructura de Microprocesadores PIC 18F4550 Administración de la memoria Profesor Ing. Johan Carvajal Godínez Contenidos Organización de la memoria del MCU Administración de la memoria de programa (Flash)

Más detalles

S320120 MAXSONAR EZ1 SENSOR DE DISTANCIAS POR ULTRASONIDOS Información técnica Sensor de distancias por ultrasonido de alto rendimiento MaxSonar-EZ1 A 0,785 19,9 mm F 0,519 12,6 mm B 0,870 21,1 mm G 0,124

Más detalles

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería Universidad Nacional de Mar del Plata

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería Universidad Nacional de Mar del Plata Ing. Guillermo Murcia Ing. Jorge Luis Strack gjmurcia@fi.mdp.edu.ar jlstrack@fi.mdp.edu.ar Lecto-grabadora de SDcard - Se comunica con Arduino a través del protocolo de comunicación SPI. - Se comanda a

Más detalles

Bus I 2 C. Introducción

Bus I 2 C. Introducción Bus I 2 C Introducción 1980: Philips desarrolla el Bus de 2 alambres I 2 C para la comunicación de circuitos integrados. Se han otorgado licencias a mas de 50 compañías, encontrándonos con más de 1000

Más detalles

Bibliografía básica de referencia: Fundamentos de Informática para Ingeniería Industrial, Fernando Díaz del Río et al.

Bibliografía básica de referencia: Fundamentos de Informática para Ingeniería Industrial, Fernando Díaz del Río et al. 1 Informática E.P.S. Universidad de Sevilla TEMA 2: Estructura de Computadores 2 BIBLIOGRAFIA Bibliografía básica de referencia: Fundamentos de Informática para Ingeniería Industrial, Fernando Díaz del

Más detalles

Arquitectura (Procesador familia 80 x 86 )

Arquitectura (Procesador familia 80 x 86 ) Arquitectura (Procesador familia 80 x 86 ) Diseño de operación Basada en la arquitectura Von Newman Memoria CPU asignadas direcciones I / O BUS: Es un canal de comunicaciones Bus de direcciones: Contiene

Más detalles

Diseño de Microcontroladores

Diseño de Microcontroladores Departamento de Electrónica Diseño de Microcontroladores Alumnos: De la Goublaye de Ménorval, Eric Gómez, Rodrigo Pinto, Orlando Salas, Felipe 30/03/04 1. Índice 1. Índice...2 2. Introducción...3 3. Puertas

Más detalles

Características Técnicas del PIC 16F84

Características Técnicas del PIC 16F84 Características Técnicas del PIC 16F84 Repertorio de 35 Instrucciones. Todas las instrucciones se ejecutan en un solo ciclo excepto las de salto que necesitan dos. Versiones de 4 MHz (PIC16F84-04) y 10

Más detalles

PIC16F882/883/884/886/887 4 MÓDULO DEL OSCILADOR (CON EL FAIL-SAFE CLOCK MONITOR) 4.1. Apreciación Global

PIC16F882/883/884/886/887 4 MÓDULO DEL OSCILADOR (CON EL FAIL-SAFE CLOCK MONITOR) 4.1. Apreciación Global 4 MÓDULO DEL OSCILADOR (CON EL FAIL-SAFE CLOCK MONITOR) 4.1. Apreciación Global El módulo del Oscilador tiene una gran variedad de fuentes del reloj y características de la selección que le permiten ser

Más detalles

17 Con el chorro de agua pequeño, la cubeta se llena en 10 minutos

17 Con el chorro de agua pequeño, la cubeta se llena en 10 minutos 17 Con el chorro de agua pequeño, la cubeta se llena en 10 minutos Cuál será el valor de precarga necesario para que este sistema nos indique que ha transcurrido un tiempo de 6 minutos? Seria depositar

Más detalles

CURSO BÁSICO MICROCONTROLADORES PIC

CURSO BÁSICO MICROCONTROLADORES PIC CURSO BÁSICO MICROCONTROLADORES PIC CONFIGURACIÓN BÁSICA FUSIBLES Los fusibles son palabras de configuración que definen las condiciones de funcionamiento del microcontrolador. Algunos fusibles importantes

Más detalles

SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO

SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO INTERRUPCIONES Interrumpen la ejecución de un programa y pasan a la rutina de servicio del evento que provoca la interrupción. El vector de interrupción se encuentra en la dirección 04H de la memoria de

Más detalles

MICROCONTROLADORES : COMPILADOR MPLAB 16FXX, UNA INTRODUCCION. ING. YESID EUGENIO SANTAFE RAMON DOCENTE PROGRAMA DE INGENIERIA ELECTRONICA

MICROCONTROLADORES : COMPILADOR MPLAB 16FXX, UNA INTRODUCCION. ING. YESID EUGENIO SANTAFE RAMON DOCENTE PROGRAMA DE INGENIERIA ELECTRONICA MICROCONTROLADORES : COMPILADOR MPLAB 16FXX, UNA INTRODUCCION. ING. YESID EUGENIO SANTAFE RAMON DOCENTE PROGRAMA DE INGENIERIA ELECTRONICA [] Tendencias Video Walls & Virtual-Real Meetings In the Office

Más detalles

Programación y diseño de dispositivos mediante microcontroladores PIC

Programación y diseño de dispositivos mediante microcontroladores PIC Metodología de Programación, Programación en C, Aplicaciones electrónicas 1 / 7 Programación y diseño de dispositivos mediante microcontroladores PIC Hemos elegido el microcontrolador PIC16F84 por las

Más detalles

Practica 1 (3.5 %) 1. Realice el diseño y montaje de un R_S discreto activo en bajo.

Practica 1 (3.5 %) 1. Realice el diseño y montaje de un R_S discreto activo en bajo. TITULO : Biestables, Monoestables y Astables 1.-Objetivos: Practica 1 (3.5 %) Estudiar y analizar el comportamiento de los biestables asíncronos y sincronos. Realizar montajes con diferentes tipo de Monoestables.:

Más detalles

UNIVERSIDAD TECNICA DE AMBATO NOVENO SEMESTRE INGENIERIA ROBOTICA MICROCONTROLADORES Y SU APLICACION EN ROBOTICA PROFESOR: UTA 2009 ING. G.

UNIVERSIDAD TECNICA DE AMBATO NOVENO SEMESTRE INGENIERIA ROBOTICA MICROCONTROLADORES Y SU APLICACION EN ROBOTICA PROFESOR: UTA 2009 ING. G. MICROCONTROLADORES Y SU APLICACION EN UTA 2009 PROFESOR: ING. G. ALMEIDA SEMESTRE MARZO - JULIO 2009 OBJETIVOS DISTINGUIR LOS ASPECTOS GENERALES, CARACTERISTICAS Y FUNCIONAMIENTO DE UN MICROCONTROLADOR.

Más detalles