Experiencia con Motores paso a paso

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

Download "Experiencia con Motores paso a paso"

Transcripción

1 Diseño de Sistemas Basados en Microprocesadores Experiencia con Motores paso a paso Rubén Tauroni Gil ITIS Universidad de Las Palmas de Gran Canaria

2 Índice Objetivos...3 Parte Teórica...4 Desarrollo de la práctica...7 Flujo del programa...7 Apartado 1)...8 Apartado 2)...9 Apartado 3)...10 Apartado 4)...11 Apartado 5)...12 Apartado 6)...14 Problemas y mejoras...16 Conclusión...16 Código del programa...17 Bibliografía

3 Objetivos El objetivo de esta práctica es que el alumno se desenvuelva aún más con la programación en ensamblador en un PIC16F84 en una práctica ideada por el propio alumno, o ideada por el profesor si el alumno no se le ocurre nada. Vamos a trabajar con un motor paso a paso de un reproductor de CDs. La práctica se puede dividir en aparatos: 1º Sobre el motor paso a paso, debemos investigar y averiguar la secuencia que mueve a dicho motor, así como intentar llegar a la velocidad máxima del mismo. 2º Se programará el timer interno, para aprovecharlo y poder calcular 1 segundo. 3º Aprovechando el timer, lo usaremos para que cada segundo, mostraremos más adelante algo por la pantalla. 4º Cada x segundo hacemos el siguiente paso de la secuencia del motor. Aumentando la velocidad de manera progresiva. 5º Adaptando un fotodiodo al motor paso a paso en su circuito adaptado para ello, captaremos cada vuelta del motor, enviando una señal por el puerto RB0 produciendo una interrupción y contabilizar dicha vuelta. 6º Por último, mostraremos por la pantalla de la Placa PicSchool, el mensaje Vuelta/Seg XX donde XX irá las vueltas por segundos que actualmente se está dando. Para la realización de la práctica necesitaremos una serie de materiales para el desarrollo de la actividad. Placa PicSchool Ordenador y software de grabación Microcontrolador PIC16F84 Fuente de alimentación Cables para las conexiones Resistencias Fotodiodo Motor paso a paso 3

4 Parte Teórica Placa PicSchool Es un laboratorio de carácter didáctico y una evolución lógica de los populares conocidos entrenadores Micro PIC Trainer y PIC Laboratory. Permite trabajar con los dispositivos PIC más representativos de las familias 12F, 16F y 18F, pudiéndose desarrollar aplicaciones tanto a nivel de software como de hardware. Dispone de un amplio y representativo número de periféricos muy utilizados en las aplicaciones reales y un módulo board para el montaje sin soldadura que permite implementar el hardware necesario en un determinado proyecto. PIC16F84 El microcontrolador PIC16F84 es un microcontrolador de 8 bits. Dispone de 18 pines y un repertorio de instrucciones RISC. Su estructura interna consta de: Memoria Flash de programa (1K x 14). Memoria EEPROM de datos (64 x 8). Memoria RAM (68 registros x 8). Banco de registros de propósito general (STATUS, OPTION, INTCON, PC) Un temporizador/contador (timer de 8 bits). Un divisor de frecuencia. Varios puertos de entrada-salida (13 pines en dos puertos, 5 pines el puerto A y 8 pines el puerto B). Manejo de interrupciones (de 4 fuentes). Perro guardián (watchdog). Bajo consumo. Frecuencia de reloj externa máxima 10MHz. (Hasta 20MHz en nuevas versiones). La frecuencia de reloj interna es un cuarto de la externa, lo que significa que con un reloj de 20Mhz, el reloj interno sería de 5Mhz y as pues se ejecutan 5 Millones de Instrucciones por Segundo (5 MIPS). Pipe-line de 2 etapas, 1 para búsqueda de instrucción y otra para la ejecución de la instrucción (los saltos ocupan un ciclo más). Repertorio de instrucciones reducido (RISC), con tan solo 30 instrucciones distintas. 4 tipos distintos de instrucciones, orientadas a byte, orientadas a bit, operación entre registros, de salto. 4

5 Cabe destacar la organización de la memoria dividida en tres bloques, RAM, con registros de propósito general y propósito especial, EEPROM, grabable dinámicamente desde el programa y FLASH, memoria de programa. Tenemos un vector de reset indicando la dirección de comienzo del programa (Reset Vector: 0000h) y un vector de interrupciones con una única entrada de interrupción (Interrupt vector 0004h), tras la cual hemos de identificar cual de las líneas la ha generado. La memoria de datos (RAM), está organizada en bancos, en nuestro PIC, se organiza en 2 bancos (vease figura a la izquierda) admitiendo cada uno de ellos hasta 128 bytes. Para movernos entre los bancos el bit RP0 del registro general STATUS, el cual, cuando está a 0, estamos en el banco 0 y cuando está a 1, estamos en el banco 1. Vease en el dibujo como algunos registros son comunes a ambos bancos, ocurriendo lo mismo a partir de la dirección 0Ch de la memoria. MOTOR PASO A PASO Básicamente estos motores están constituidos normalmente por un rotor sobre el que van aplicados distintos imanes permanentes y por un cierto número de bobinas excitadoras bobinadas en su estator. Las bobinas son parte del estator y el rotor es un imán permanente. Toda la conmutación (o excitación de las bobinas) deber ser externamente manejada por un controlador. Existen dos tipos de motores paso a paso de imán permanente: Cuestiones básicas Los motores paso a paso se pueden ver como motores eléctricos sin escobillas. Es típico que todos los bobinados del motor sean parte del estator, y el rotor puede ser un imán permanente o, en el caso de los motores de reluctancia variable (que luego describiremos mejor), un cilindro sólido con un mecanizado en forma de 5

6 dientes (similar a un engranaje), construido con un material magnéticamente "blando" (como el hierro dulce). La conmutación se debe manejar de manera externa con un controlador electrónico y, típicamente, los motores y sus controladores se diseñan de manera que el motor se pueda mantener en una posición fija y también para que se lo pueda hacer girar en un sentido y en el otro. La mayoría de los motores paso a paso conocidos se pueden hacer avanzar a frecuencias de audio, lo que les permite girar muy velozmente. Con un controlador apropiado, se los puede hacer arrancar y detenerse en un instante en posiciones controladas. Comportamiento propio de los motores paso a paso: Los motores paso a paso tienen un comportamiento del todo diferente al de los motores de corriente continua. En primer lugar, no giran libremente por sí mismos. Los motores paso a paso, como lo indica su nombre, avanzan girando por pequeños pasos. También difieren de los motores de CC en la relación entre velocidad y torque (un parámetro que también es llamado "par motor" y "par de giro"). Los motores de CC no son buenos para ofrecer un buen torque a baja velocidad sin la ayuda de un mecanismo de reducción. Los motores paso a paso, en cambio, trabajan de manera opuesta: su mayor capacidad de torque se produce a baja velocidad. Los motores paso a paso tienen una característica adicional: el torque de detención (que se puede ver mencionado también como "par de detención", e incluso par/torque "de mantenimiento"), que no existe en los motores de CC. El torque de detención hace que un motor paso a paso se mantenga firmemente en su posición cuando no está girando. Esta característica es muy útil cuando el motor deja de moverse y, mientras está detenido, la fuerza de c arga permanece aplicada a su eje. Se elimina así la necesidad de un mecanismo de freno. Si bien es cierto que los motores paso a paso funcionan controlados por un pulso de avance, el control de un motor paso a paso no se realiza aplicando en directo este pulso eléctrico que lo hace avanzar. Estos motores tienen varios bobinados que, para producir el avance de ese paso, deben ser alimentados en una adecuada secuencia. Si se invierte el orden de esta secuencia, se logra que el motor gire en sentido opuesto. Si los pulsos de alimentación no se proveen en el orden correcto, el motor no se moverá apropiadamente. Puede ser que zumbe y no se mueva, o puede ser que gire, pero de una manera tosca e irregular. Esto significa que hacer girar un motor paso a paso no es tan simple como hacerlo con un motor de corriente continua, al que se le entrega una corriente y listo. Se requiere un circuito de control, que será el responsable de convertir las señales de avance de un paso y sentido de giro en la necesaria secuencia de energización de los bobinados. 6

7 Desarrollo de la práctica Explicaremos cada uno de los apartados en que subdividimos la práctica y explicaremos tanto su uso como su desarrollo, pero antes mostraremos un pequeño flujo del programa tal y como está estructurado el código. Flujo del programa Hay que recordar que cuando se produce la interrupción, vamos a tratarla y al retornar volvemos justo por donde iba el flujo del programa. 7

8 Apartado 1) 1º Sobre el motor paso a paso, debemos investigar y averiguar la secuencia que mueve a dicho motor, así como intentar llegar a la velocidad máxima del mismo. En primer lugar hemos tenido que calcular cuales son los valores hexadecimales para el movimiento del motor paso a paso. Al investigar cómo se realiza este movimiento averiguamos que existen distintas manera, secuencia normal, secuencia del tipo wave drive y secuencia de medio paso. Al probarlas descubrimos que la que mejor funciona es la secuencia de medio paso, pero vemos que no funciona con la exactitud con l a que realmente querríamos. Para ello creamos una tabla, en la cual irá dicha secuencia. Para probar con otro motor, tan solo deben cambiar dicha secuencia. Tabla ; Tabla para el movimiento del motor movlw HIGH Tabla movwf PCLATH movfw CUENTA_TABLA addwf PCL,W BTFSC STATUS, C incf PCLATH,F movfw CUENTA_TABLA addwf PCL,F retlw 08h ;1000 retlw 0Ch ;1100 retlw 04h ;0100 retlw 06h ;0110 retlw 02h ;0010 retlw 0Ah ;1010 Por ensayo y error fuimos buscando hasta encontrar cual era la velocidad máxima, siendo entre 70 y 80 RPM. Empezamos desde una velocidad lenta, hasta ir aumentando poco a poco hasta llegar a la velocidad máxima y manteniéndola constante. 8

9 Apartado 2) 2º Se programará el timer interno, para aprovecharlo y poder calcular 1 segundo. bsf STATUS,RP0 ; banco 1 bcf OPTION_REG,3 bcf OPTION_REG,5 ; activo preescaler TMR0 ; activo cuenta interna ; Ahora lo tengo a 1:16 bsf OPTION_REG,0 ; Rango del prescaler TMR0 Rate 1:4 bsf OPTION_REG,1 ; Rango del prescaler TMR0 Rate 1:4 bcf OPTION_REG,2 ; Rango del prescaler TMR0 Rate 1:4 clrf TRISB bcf STATUS,RP0 Con esto el timer se incrementará de uno en uno cada 16 instrucciones, hasta llegar a 256, tras la cual este se reseteará y producirá una excepción. Un segundo equivale a 1 millón de instrucciones, por lo que tenemos: 255 x 16 = 4080 instrucciones por cada interrupción =245 veces Pasando 245 a hexadecimal tenemos que cada segundo se producirá tras F5 interrupciones del timer. 9

10 Apartado 3) 3º Tendremos un programa Principal el cual comprobará indefinidamente si hemos de hacer un cambio al siguiente paso del motor, o bien mostrar por pantalla. Aprovechando el timer, lo usaremos para que cada segundo, mostremos más adelante algo por la pantalla. Una vez calculado cuando se producirá un segundo podemos pasar a organizar nuestro programa. Estaremos continuamente comprobando si hemos llegado a la velocidad terminal, si es así tendremos que cambiar al Siguiente_Paso, en caso contrari o, también debemos comprobar si ha transcurrido ya un segungo, si es así debemos mostrar_vueltas por la pantalla y sino pues volvemos a Principal y seguir comprobando. Durante todo esto surgirán interrupciones, que se acudirán a ellas recordando por donde va el flujo del programa. Principal movfw velocidadter movwf velocidadaux movfw velocidad subwf velocidadaux,w ; si velocidad = velocidadter paso siguiente BTFSS STATUS, Z goto Prin2 goto Siguiente_Paso ; Vamos al siguiente paso Prin2 movfw tiempo sublw 0F5h ; si tiempo=n mostrar vueltas BTFSS STATUS,Z goto Principal goto Mos_Vuel ; goto Mostrar_Vueltas 10

11 Apartado 4) 4º Cada x segundo hacemos el siguiente paso de la secuencia del motor. Para cambiar la secuencia del motor, buscamos en la tabla el código del paso siguiente, una vez buscado dicho paso, lo mandamos por el puerto B realizándose. Debemos resetear velocidad, para empezar con el siguiente paso, todo esto controlando que no nos salgamos de la tabla Siguiente_Paso call Tabla movwf PORTB clrf velocidad ; Buscamos en la tabla el paso siguiente ; Hacemos el siguiente paso ; Reseteamos la velocidad incf CUENTA_TABLA,1 ; Incrementamos para siguiente paso movfw CUENTA_TABLA sublw 06h ; Si es 6 volvemos al inicio de la tabla BTFSS STATUS, Z goto Principal clrf CUENTA_TABLA clrf velocidad ; Reseteamos la velocidad goto Principal 11

12 Apartado 5) 5º Adaptando un fotodiodo al motor paso a paso en su circuito adaptado para ello, captaremos cada vuelta del motor, enviando una señal por el puerto RB0 produciendo una interrupción y contabilizar dicha vuelta. Aprovecharemos este apartado para mostrar y explicar el código de las interrupciones, que nuestro caso tenemos dos tipos, interrupción por RB0 e interrupción por timer. Al producirse una interrupción primero hemos de salvar los registros de STATUS y el valor de W para no perder ningún valor cuando se produce la interrupción, eso se hace en PUSH. Hemos de comprobar de donde proviene la interrupción comprobando el bit 0 del puerto B, si este está a 0, la interrupción la produjo el timer, en caso contrario la produjo RB0, esto se hace en ISR. En TIMER tan solo incrementamos en 1, velocidad y tiempo, que son variables auxiliares que una vez llegado a un valor, se resetean y obligan a cambiar algo. Tiempo hace que cada vez que llegue al valor F5 se vaya a la subrutina que muestra por pantalla y Velocidad que cada vez que llegue a una velocidad terminal, el tiempo de cambio al siguiente paso sea mas rápida y así aumente la velocidad del motor. Cada vez que llegamos a LED es que se produjo una vuelta en el motor, la contabilizamos y deshabilitamos la interrupción. Por último en POP, recuperamos los valores de STATUS y W deshabilitamos la interrupción por Timer y continuamos por donde iba la ejecución del programa. Interrupciones PUSH GLOBAL Interrupciones MOVWF W_TEMP SWAPF STATUS, W ; Copia W en W_TEMP ; Swap status y deja resultado en W MOVWF STATUS_TEMP ; Salva STATUS EN STATUS_TEMP register ISR BTFSS INTCON,1 goto TIMER goto LED ; Testeamos el bit 0 de PORTB ; Si es 0 interrupción por TMR0 ; si es 1 interrupción por RB0 POP SWAPF STATUS_TEMP, W; Recupera STATUS en W 12

13 MOVWF STATUS SWAPF W_TEMP, F ; Mueve W a STATUS ; Recupera W SWAPF W_TEMP, W ; bcf INTCON,2 retfie ; desabilito causa-interrupcion ; Retornamos TIMER bcf PORTB,7 incf tiempo,1 incf velocidad,1 goto POP ; (Bit que muestra parpadeo/seg) ; incrementamos tiempo ; incrementamos velocidad LED ; Cada vez que llegamos aquí contamos 1 vuelta ; Cuando mostramos vueltas_seg hay que resetearla incf vueltas_seg,1 bcf INTCON,1 ; desabilito interrupción por RB0 goto POP ;Fin de rutinas de interrupciones end 13

14 Apartado 6) 6º Por último, mostraremos por la pantalla de la Placa PicSchool, el mensaje Vuelta/Seg XX donde XX irá las vueltas por segundos que actualmente se está dando. Al inicio de la ejecución del programa mostramos el mensaje por la pantalla. Para ello debemos incluir la librería de la pantalla LCD y declarar sus funciones: include "lcd.inc" ;Librería pantalla LCD EXTERN DISPLAY_CONF, BORRA_Y_HOME, LCD_DATO, LCD_REG, LCD_INI Codigo que muestra el mensaje Vueltas/Seg XX usando las funciones ya desarrolladas. call LCD_INI ;Inicializa display call DISPLAY_CONF movlw 'V' movlw 'u' movlw 'e' movlw 'l' movlw 't' movlw 'a' movlw 's' movlw '/' movlw 's' movlw 'e' movlw 'g' movlw 0C0h call LCD_REG movlw 'X' movlw 'X' bcf PORTA,2 ;Desactivamos la pantalla 14

15 Para mostrar el valor de Vueltas_Seg, debemos pasar dicho valor que está en hexadecimal y pasarlo a código ascci. Mostrarmos dos números por la pantalla por lo que para el digito más significativo nos quedamos con los 4 bits del segundo byte de vueltas_seg lo rotamos 4 posciones a la derecha y le sumamos 30h y obtenemos el número en ascci, y para el otro número repetimos el proceso pero sin desplazamiento: Mos_Vuel ; Aquí llegamos una vez por segundo movlw 0C0h call LCD_REG movfw vueltas_seg andlw 0F0h movwf ascii bcf STATUS,C rrf ascii rrf ascii rrf ascii rrf ascii movfw ascii addlw 30h bcf PORTA,2 movfw vueltas_seg andlw 0Fh addlw 30h bcf PORTA,2 clrf vueltas_seg 15

16 Problemas y mejoras El mayor problema ha sido que no conseguimos el perfecto control del motor paso a paso, como realmente se debería haber conseguido. Tampoco se logró una velocidad asombrosa. Se hizo la prueba con otro motor paso a paso, pero era un poco más complejo, al no poderlo acoplar directamente a la placa, para este caso tuvimos que alimentar el motor paso a paso desde una fuente de alimentación, pero la velocidad fue muy parecida que en el otro caso. Mejoras que se lo podría añadir a la práctica sería añadirle otras funcionalidades al control del motor paso a paso controladas o bien con el teclado de la placa o bien mediante pulsadores o conmutadores, como por ejemplo: Cambiar de sentido al motor. Aumentar la velocidad. Disminuir la velocidad. Detenerlo Conclusión Una vez terminado el trabajo vemos que el uso de los microcontroladores pic16f84 para la realización y control de tareas sencillas con una serie de entradas y salidas es ideal puesto que su repertorio de instrucciones permite una programación sin demasiada dificultad. Lo más interesante que me resulta es aplicar los conocimientos de programación en algo tangible hecho por nosotros, con resultados interesantes. Además esta práctica ha servido a aprender a usar aún más los microcontroladores, así como conocer el funcionamiento de los motores paso a paso. 16

17 Código del programa Fichero pr1 : List p=16f84a ;Tipo de procesador include "P16F84A.INC" ;Definiciones de registros internos include "lcd.inc" ;Libreria pantalla LCD LIST ; P16F84.INC Standard Header File, Version 2.00 Microchip Technology, Inc. EXTERN velocidad, tiempo, vueltas_seg EXTERN Interrupciones EXTERN DISPLAY_CONF, BORRA_Y_HOME, LCD_DATO,LCD_REG, LCD_INI Cero EQU 00h ; Inicialzar UDATA statusr RES 1 ; Registro temporal de estado PORTB_TEMP RES 1; Salvamos PORTB(Interrupcion) CUENTA_TABLA RES 1; lleva la cuenta de la tabla v RES 1; variable fija, si velocidad = v -> Siguiente_Paso n RES 1; variable fija, si tiempo = n -> Mostrar_Vueltas velocidadter RES 1; velocidad terminal cambiante velocidadaux RES 1; ascii RES 1; BOOT CODE 0x00 ;Vector de Reset goto Inicio INTERRUPCION CODE 0x04 goto Interrupciones 17

18 PPAL CODE ;Interrupciones Tabla ; Tabla para el movimiento del motor movlw HIGH Tabla movwf PCLATH movfw CUENTA_TABLA addwf PCL,W BTFSC STATUS,C incf PCLATH,F movfw CUENTA_TABLA addwf PCL,F retlw 08h ;1000 retlw 0Ch ;1100 retlw 04h ;0100 retlw 06h ;0110 retlw 02h ;0010 retlw 0Ah ;1010 Inicio bsf STATUS,RP0 ; banco 1 bcf OPTION_REG,3 bcf OPTION_REG,5 ; activo preescaler TMR0 ; activo cuenta interna ; Ahora lo tengo a 1:16 bsf OPTION_REG,0 ; Rango del prescaler TMR0 Rate 1:4 bsf OPTION_REG,1 ; Rango del prescaler TMR0 Rate 1:4 bcf OPTION_REG,2 ; Rango del prescaler TMR0 Rate 1:4 clrf TRISB bcf STATUS,RP0 call LCD_INI;Inicializa display call DISPLAY_CONF movlw 'V' 18

19 movlw 'u' movlw 'e' movlw 'l' movlw 't' movlw 'a' movlw 's' movlw '/' movlw 's' movlw 'e' movlw 'g' movlw 0C0h call LCD_REG movlw 'X' movlw 'X' bcf PORTA,2 movlw Cero movwf PORTB clrf TMR0 movlw 0h ; inicialiamos tiempo y velocidad 19

20 movwf tiempo movwf velocidad movlw 060h movwf velocidadter ; inicialiamos velocidad terminal movlw 01h; movwf CUENTA_TABLA bcf INTCON,1 bcf INTCON,2 bsf INTCON,4 bsf INTCON,5 bsf INTCON,7 ; RB0 did not ocurr ; TMR0 did not overflow ; Activo interrupción por RB0 ; Activo interrupción por TMR0 ; Activo interrupción blobal Principal movfw velocidadter movwf velocidadaux movfw velocidad subwf velocidadaux,w ; si velocidad=velocidadter paso siguiente BTFSS STATUS,Z goto Prin2 goto Siguiente_Paso ; Vamos al siguiente paso Prin2 movfw tiempo sublw 0F5h BTFSS STATUS,Z goto Principal goto Mos_Vuel ; si tiempo=n mostrar vueltas ; goto Mostrar_Vueltas Siguiente_Paso call Tabla movwf PORTB ; Buscamos en la tabla el paso siguiente ; Hacemos el siguiente paso clrf velocidad ; Reseteamos la velocidad incf CUENTA_TABLA,1 ; Incrementamos para siguiente paso 20

21 movfw CUENTA_TABLA sublw 06h ; Si es 6 volvemos al inicio de la tabla BTFSS STATUS, Z goto Principal clrf CUENTA_TABLA clrf velocidad ; Reseteamos la velocidad goto Principal Mos_Vuel ;Aquí llegamos una vez por segundo movlw 0C0h call LCD_REG movfw vueltas_seg andlw 0F0h movwf ascii bcf STATUS,C rrf ascii rrf ascii rrf ascii rrf ascii movfw ascii addlw 30h bcf PORTA,2 movfw vueltas_seg andlw 0Fh addlw 30h bcf PORTA,2 clrf vueltas_seg bsf PORTB,7 clrf tiempo movfw velocidadter ; mostramos parpadeo/seg ; Reseteamos el tiempo ; Hacemos que la velocidad sea constante 21

22 sublw 04h BTFSS STATUS, Z ; en su momento de máxima velocidad goto Decre goto Principal Decre decf velocidadter,f ; Sino es velocidad máxima, decrementamos goto Principal; Stop nop nop end Fichero interup_code.asm : List p=16f84 ;Tipo de procesador include "P16F84.INC" ;Definiciones de registros internos LIST ; P16F84.INC Standard Header File, Version 2.00 Microchip Technology, Inc. UDATA W_TEMP RES 1 ; Registro temporal para interrupciones STATUS_TEMP RES 1; Salvamos STATUS(Interrupcion) velocidad RES 1; contador para cambiar secuncia del motor tiempo RES 1; contador del timer vueltas_seg RES 1; contador de vueltas GLOBAL velocidad, tiempo, vueltas_seg CODE 22

23 Interrupciones PUSH GLOBAL Interrupciones MOVWF W_TEMP ; Copia W en W_TEMP SWAPF STATUS, W ; Swap status y deja resultado en W MOVWF STATUS_TEMP ; Salva STATUS EN STATUS_TEMP register ISR BTFSS INTCON,1 goto TIMER goto LED ; Testeamos el bit 0 de PORTB ; Si es 0 interrupción por TMR0 ; si es 1 interrupción por RB0 POP SWAPF STATUS_TEMP, W; Recupera STATUS en W MOVWF STATUS SWAPF W_TEMP, F ; Mueve W a STATUS ; Recupera W SWAPF W_TEMP, W ; bcf INTCON,2 retfie ; desabilito causa-interrupcion ; Retornamos TIMER bcf PORTB,7 incf tiempo,1 incf velocidad,1 ; (Bit que muestra parpadeo/seg) ; incrementamos tiempo ; incrementamos velocidad goto POP LED ; Cada vez que llegamos aquí contamos 1 vuelta ; Cuando mostramos vueltas_seg hay que resetearla incf vueltas_seg,1 bcf INTCON,1 goto POP ; desabilito interrupción por RB0 ;Fin de rutinas de interrupciones End 23

24 Bibliografía

MICROPROCESADORES 2003/2004 DADO ELECTRÓNICO. Jaime Pérez Crespo Rubén Seijas Valverde

MICROPROCESADORES 2003/2004 DADO ELECTRÓNICO. Jaime Pérez Crespo Rubén Seijas Valverde MICROPROCESADORES 2003/2004 DADO ELECTRÓNICO Jaime Pérez Crespo Rubén Seijas Valverde Introducción: Con esta práctica se pretende familiarizarse con la programación en ensamblador de microcontroladores

Más detalles

Practica de PIC 16F84

Practica de PIC 16F84 Practica de PIC 16F84 Los PIC son circuitos que pueden controlar dispositivos y diferentes sistemas, son como los PLC (controles lógico programable), además debo decir que es un circuito que tiene todas

Más detalles

Carrera: Técnico Superior en Técnicas Digitales. Alumnos: Emiliano Teseo y José Luis Fernández

Carrera: Técnico Superior en Técnicas Digitales. Alumnos: Emiliano Teseo y José Luis Fernández Carrera: Técnico Superior en Técnicas Digitales Instituto: CENT 57 Trabajo final Año 2005 Alumnos: Emiliano Teseo y José Luis Fernández 1 ILUMINACION PARA VIDRIERAS Descripción general (Guía para el usuario)

Más detalles

O B J E T I V O I N T R O D U C C I O N M A R C O T E O R I C O

O B J E T I V O I N T R O D U C C I O N M A R C O T E O R I C O O B J E T I V O Realizar un contador decimal que se exhiba en un display de 7 segmentos, cada número deberá estar exhibido durante un segundo. I N T R O D U C C I O N En la mayoría de los sistemas electrónicos

Más detalles

INSTRUCCIONES DE ENSAMBLADOR

INSTRUCCIONES DE ENSAMBLADOR MPLAB INSTRUCCIONES DE ENSAMBLADOR ORGANIZACIÓN de la MEMORIA Dentro del PIC16F877 se distinguen tres bloques de memoria. Memoria de programa En sus 8192 posiciones (8K) contiene el programa con las instrucciones

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

Programación y Aplicaciones de los Microcontroladores PIC16FXXX (Nivel Básico) ING. EULER DEZA FIGUEROA

Programación y Aplicaciones de los Microcontroladores PIC16FXXX (Nivel Básico) ING. EULER DEZA FIGUEROA Programación y Aplicaciones de los Microcontroladores PIC16FXXX (Nivel Básico) ING. EULER DEZA FIGUEROA ESTRUCTURA Y CONTENIDO: SESIONES DE CLASE CONTENIDOS PRACTICA PRIMERA (5 horas ) SEGUNDA (5 horas

Más detalles

Características generales

Características generales REPERTORIO DE INSTRUCCIONES En esta sección se pretende: Conocer las características generales de las instrucciones para el PIC16F84 Los distintos modos de direccionamiento, y Los diferentes grupos de

Más detalles

SISTEMA MÍNIMO BASADO EN EL PIC16F84

SISTEMA MÍNIMO BASADO EN EL PIC16F84 PRÁCTICA 0 CIRCUITO BASE SISTEMA MÍNIMO BASADO EN EL PIC16F84 1 PRÁCTICA 1_1 COMPUERTA AND DE TRES ENTRADAS Hardware X0 X1 X2 Y 2 Comportamiento esperado INICIO Configurar Puerto A como entradas y Puerto

Más detalles

PRÁCTICA 6: Gobierno del display 7 segmentos

PRÁCTICA 6: Gobierno del display 7 segmentos SISTEMAS ELECTRÓNICOS Y AUTOMÁTICOS PRACTICAS DE MICROCONTROLADORES PIC PRÁCTICA 6: Gobierno del display 7 segmentos Display 7 segmentos - 1 - Ingeniería de Sistemas y Automática 1. Objetivos: Gobierno

Más detalles

Las Instrucciones. A continuación vamos a presentar el conjunto de instrucciones básico de los Microcontroladores Picmicro.

Las Instrucciones. A continuación vamos a presentar el conjunto de instrucciones básico de los Microcontroladores Picmicro. Las Instrucciones A continuación vamos a presentar el conjunto de instrucciones básico de los Microcontroladores Picmicro. En general la instrucciones de los microcontroladores pueden clasificarse como:

Más detalles

Bucles: o Bucles infinitos o Bucles finitos o Bucles anidados Medir tiempos con MPLAB Ejemplos y ejercicios

Bucles: o Bucles infinitos o Bucles finitos o Bucles anidados Medir tiempos con MPLAB Ejemplos y ejercicios SISTEMAS ELECTRÓNICOS Y AUTOMÁTICOS PRACTICAS DE MICROCONTROLADORES PIC PRÁCTICA 3: Bucles Bucles: o Bucles infinitos o Bucles finitos o Bucles anidados Medir tiempos con MPLAB Ejemplos y ejercicios -

Más detalles

MICROCONTROLADORES PIC BÁSICO (PIC 16F84A / 16F627)

MICROCONTROLADORES PIC BÁSICO (PIC 16F84A / 16F627) MICROCONTROLADORES PIC BÁSICO (PIC 16F84A / 16F627) TEMARIO Objetivo: El estudiante comprenderá la evolución de los microcontroladores y microprocesadores así como sus diferencias, desarrollara su habilidad

Más detalles

btfss PIR1,TMR2IF ; Checa si TMR2 interrumpio goto SAL_ISR ; No, sale de la ISR bcf PIR1,TMR2IF ; Si, borra bandera de interrupcion

btfss PIR1,TMR2IF ; Checa si TMR2 interrumpio goto SAL_ISR ; No, sale de la ISR bcf PIR1,TMR2IF ; Si, borra bandera de interrupcion ;************************************************* ;Programa que muestra los números del 9 al 0 ;de manera descendente en una matriz de 5x7 ;leds mediante multiplexación. Los ánodos (filas) ;están conectados

Más detalles

PRÁCTICA 2: Programas básicos. Tipos de direccionamiento.

PRÁCTICA 2: Programas básicos. Tipos de direccionamiento. SISTEMAS ELECTRÓNICOS Y AUTOMÁTICOS PRACTICAS DE MICROCONTROLADORES PIC PRÁCTICA 2: Programas básicos. Tipos de direccionamiento. Tipos de direccionamiento Ejemplos y ejercicios - 1 - 1. Objetivos - Introducir

Más detalles

Instrucciones para programar el PIC16F877

Instrucciones para programar el PIC16F877 Instrucciones para programar el PIC16F877 2 Estos microcontroladores responden a una serie de instrucciones o códigos que se deben grabar en su memoria de programa, en total son 35. A continuación se encuentra

Más detalles

Lenguaje Ensamblador sobre PIC 16F84

Lenguaje Ensamblador sobre PIC 16F84 Lenguaje Ensamblador sobre PIC 16F84 Roberto Vargas Toledo Iván Figueroa Monsalve El presente trabajo se nos muestra la programación de ensamblador orientada a la programación de PIC 16F84, microcontrolador

Más detalles

Set de instrucciones Microcontrolador PIC.

Set de instrucciones Microcontrolador PIC. Microcontroladores Pic 16F84A. Los PIC son una extensa familia microcontroladores divididos en tres gamas, la gama baja con memoria programa 12 bits, la gama media y la gama alta con memoria programa 14

Más detalles

PRACTICA 4. REALIZAR ENCENDIDO-APAGADO DE DIODOS LED

PRACTICA 4. REALIZAR ENCENDIDO-APAGADO DE DIODOS LED PRACTICA 4. REALIZAR ENCENDIDO-APAGADO DE DIODOS LED DESCRIPCIÓN. En esta práctica vamos a realizar el encendido y apagado de diodos led. Para ellos iremos activando y desactivando las salidas de la puerta

Más detalles

El único lenguaje que entienden los microcontroladores es el código máquina formado por ceros y unos del sistema binario.

El único lenguaje que entienden los microcontroladores es el código máquina formado por ceros y unos del sistema binario. 1 LENGUAJE ENSAMBLADOR El único lenguaje que entienden los microcontroladores es el código máquina formado por ceros y unos del sistema binario. El lenguaje ensamblador expresa las instrucciones de una

Más detalles

Jesús Alberto Díaz Carmona Ingeniería en Informática. Curso 2005/06. Diseño de Sistemas Basados en Microprocesador

Jesús Alberto Díaz Carmona Ingeniería en Informática. Curso 2005/06. Diseño de Sistemas Basados en Microprocesador Jesús Alberto Díaz Carmona Ingeniería en Informática. Curso 2005/06. Diseño de Sistemas Basados en Microprocesador Descripción El proyecto se trata de un sistema de cámaras de vigilancia en circuito cerrado,

Más detalles

ARQUITECTURA DEL PIC16F84A

ARQUITECTURA DEL PIC16F84A ARQUITECTURA DEL PIC16F84A Arquitectura interna del PIC16F84A CPU ALU Decodificador de Instrucciones - Buses Registro de trabajo W PC Contador de Programa Organización de la memoria Memoria de Programa

Más detalles

[CURSO BÁSICO DE PIC TABLAS]

[CURSO BÁSICO DE PIC TABLAS] 2009 GRUPO ESTUDIANTIL INVENTRONICA Joel Oswaldo Campos Pérez [CURSO BÁSICO DE PIC ] En esta sección explicaremos que son las tablas, para que se usan y como se hacen. Se describe un ejercicio completo

Más detalles

SALTOS EN FUNCIONDE UN BIT Aquéllas que pueden producir el salto en función del estado de un bit. Son btfsc y

SALTOS EN FUNCIONDE UN BIT Aquéllas que pueden producir el salto en función del estado de un bit. Son btfsc y SISTEMAS ELECTRONICOS DIGITALES SALTO CONDICIONAL El repertorio del PIC16F84 también dispone de instrucciones de salto condicional, que son aquéllas que producen un salto en función de que se cumpla o

Más detalles

Microcontroladores PIC

Microcontroladores PIC Introducción Los microcontroladores son procesadores que poseen memoria y dispositivo de entrada salida todo encapsulado en un mismo integrado, lo que permite su uso sin la necesidad de estar disponiendo

Más detalles

Practica 1: It s alive!

Practica 1: It s alive! Pág.: 1 Practica 1: It s alive! 1.1 - Objetivo El objetivo de esta primera práctica es plantear un problema sencillo, que requiera implementar el hardware básico de un microcontrolador y comprobar su funcionamiento

Más detalles

Microcontrolador PIC16F84: Arquitectura

Microcontrolador PIC16F84: Arquitectura Microcontrolador PIC16F84: Arquitectura La arquitectura del PIC es tipo Harvard: Mem. de Programa (instrucciones) (tipo FLASH) Control DIR DATOS µp (tipo RISC, pipeline de 2 etapas) Control DIR DATOS 14

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

Entrenadores de Microcontroladores PIC

Entrenadores de Microcontroladores PIC Entrenadores de Microcontroladores PIC Profesor: Pedro Alonso Sanz Instituto: I.E.S. Joan Miró Localidad: San Sebastián de los Reyes Índice Página 1.- Entrenador Básico 0... 4 1.1.- Ejemplo1.asm Leer el

Más detalles

Manejo LCD Gráfico DSM

Manejo LCD Gráfico DSM Manejo LCD Gráfico DSM Christopher Orihuela Sosa 10/09/07 Índice Introducción...1 Hardware...2 LCD...3 patillaje...4 tabla de instrucciones...5 Timings...6 Organización de la pantalla...8 Circuito completo...9

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

Microcontroladores PIC

Microcontroladores PIC Microcontroladores PIC Procesador RISC. Arquitectura Harvard Pipeline Formato de instrucciones ortogonal Arquitectura basada en banco de registros Distintos periféricos: temporizadores, puertos paralelo/serie,

Más detalles

1. Proponer un circuito que tenga el puerto b como salida conectando 8 leds, realizando un programa que me encienda los bits 0, 1, 3, 5, 7.

1. Proponer un circuito que tenga el puerto b como salida conectando 8 leds, realizando un programa que me encienda los bits 0, 1, 3, 5, 7. 1. Proponer un circuito que tenga el puerto b como salida conectando 8 leds, realizando un programa que me encienda los bits 0, 1, 3, 5, 7. a. Diagrama de flujo b. Circuito C1 4 MHZ C2 R2 10k 16 15 4 R1

Más detalles

UNIVERSIDAD EMILIANO ZAPATA

UNIVERSIDAD EMILIANO ZAPATA UNIVERSIDAD EMILIANO ZAPATA OBJETIVO DE LA MATERIA Aprender a diseñar y programar microcontroladores PIC para su aplicación en sistemas automatizados. INGENIERIA EN MECATRONICA MATERIA Mecatrónica III

Más detalles

Programación en PIC Los primeros pasos

Programación en PIC Los primeros pasos Capítulo V Programación en PIC Los primeros pasos Encender y apagar un LED Secuenciador con cuatro LED's Leer los pulsadores y encender el LED correspondiente Programa avanzado utilizando el entrenador

Más detalles

Motores Paso a Paso (Stepper motors)

Motores Paso a Paso (Stepper motors) Juan José Martínez Bautista Ingeniería de Telecomunicación Escuela Politécnica Superior Motores Paso a Paso (Stepper motors) Los motores paso a paso son ideales para la construcción de mecanismos en donde

Más detalles

Indice. Escrito por Administrator Martes, 02 de Septiembre de 2008 17:45 - Actualizado Domingo, 20 de Septiembre de 2009 07:45 1 / 15

Indice. Escrito por Administrator Martes, 02 de Septiembre de 2008 17:45 - Actualizado Domingo, 20 de Septiembre de 2009 07:45 1 / 15 1 / 15 El contenido del libro " MICROCONTROLADOR PIC16F84. Desarrollo de proyectos " de la Editorial Ra CAPÍTULOS: 1. MICROCONTROLADOR PIC16F84 2. PERIFÉRICOS BÁSICOS 3. GRABACIÓN DE MICROCONTROLADORES

Más detalles

Microcontrolador PIC 16F84

Microcontrolador PIC 16F84 PROGRAMACIÓN PIC (II) Microcontrolador PIC 16F84 mail : enric.serra 0 - INTRODUCCIÓN. Este documento es una continuación al documento de programación del PIC 16f84. Este documento se puede copiar y utilizar

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

Capítulo VIII: PROGRAMACIÓN DEL PIC 16F876A

Capítulo VIII: PROGRAMACIÓN DEL PIC 16F876A Capítulo VIII: PROGRAMACIÓN DEL PIC 16F876A Proyecto Fin de Carrera 95 Antonio Andújar Caballero 8. PROGRAMACIÓN DEL PIC 16F876A. A la hora de realizar el programa de control para nuestro ecualizador,

Más detalles

APÉNDICE B APÉNDICE B. PROGRAMA DEL PIC16F874 EN LENGUAJE ENSAMBLADOR

APÉNDICE B APÉNDICE B. PROGRAMA DEL PIC16F874 EN LENGUAJE ENSAMBLADOR APÉNDICE B. PROGRAMA DEL PIC16F874 EN LENGUAJE ENSAMBLADOR INIAX EQU 0X20 INIBX EQU 0X21 INICX EQU 0X22 INIDX EQU 0X23 INIEY EQU 0X24 INIFY EQU 0X25 INIGY EQU 0X26 INIHY EQU 0X27 SELECCION EQU 0X28 APUNTADOR

Más detalles

Microcontrolador PIC 16F84

Microcontrolador PIC 16F84 INTRODUCCIÓN A LA PROGRAMACIÓN Microcontrolador PIC 16F84 mail : enric.serra 0 - INTRODUCCIÓN. Este documento es una introducción a la programación del PIC 16f84. Este documento se puede copiar y utilizar

Más detalles

1.- INTRODUCCIÓN AL PIC16F84

1.- INTRODUCCIÓN AL PIC16F84 1.- INTRODUCCIÓN AL PIC16F84 En esta sección se resumen brevemente las principales características y forma de uso de las herramientas de desarrollo que serán utilizadas durante las prácticas. El contenido

Más detalles

PROGRAMACIÓN DEL MICROCONTROLADOR PIC 16C64 COMO CONTROLADOR MULTIEJE PARA MOTORES PASO

PROGRAMACIÓN DEL MICROCONTROLADOR PIC 16C64 COMO CONTROLADOR MULTIEJE PARA MOTORES PASO PROGRAMACIÓN DEL MICROCONTROLADOR PIC 16C64 COMO CONTROLADOR MULTIEJE PARA MOTORES PASO. Gustavo Caamaño* ; Coordinador de Tecnología en Electrónica En este artículo se describe la programación de un PIC

Más detalles

PROYECTO DE NAVIDAD PIC QUE REPRODUCE SONIDO Manolo Romero 2015 VISIÓN GENERAL

PROYECTO DE NAVIDAD PIC QUE REPRODUCE SONIDO Manolo Romero 2015 VISIÓN GENERAL PROYECTO DE NAVIDAD PIC QUE REPRODUCE SONIDO Manolo Romero 2015 VISIÓN GENERAL El circuito está compuesto por una EEPROM serie con bus tipo I2C modelo 24LC256 y un PIC tipo 16F628, un DAC de 5 Bit con

Más detalles

Módulos CCP. Registro de captura Registro de comparación Registro de ciclo de servicio PWM

Módulos CCP. Registro de captura Registro de comparación Registro de ciclo de servicio PWM Módulos CCP Los PIC16F87X disponen de 2 módulos CCP (Capture/Compare/PWM): CCP1 y CCP2. Cada módulo CCP cuenta con un registro de 16 bits (CCPR1 y CCPR2) que puede operar como un Registro de captura Registro

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

PRÁCTICA 4 LOS BITS DE CONFIGURACIÓN DEL PIC16F628

PRÁCTICA 4 LOS BITS DE CONFIGURACIÓN DEL PIC16F628 Los Bits de Configuración del PIC16F628 44 PRÁCTICA 4 LOS BITS DE CONFIGURACIÓN DEL PIC16F628 OBJETIVOS Identificar cada uno de los bits de configuración que rigen el funcionamiento del PIC16F628. Verificar

Más detalles

Tema 4. Organización de la memoria

Tema 4. Organización de la memoria Tema 4 Organización de la memoria 1 ARQUITECTURA DEL PIC16F84 Tema 4. Organización de la memoria Memoria de programa tipo ROM Flash de 1024 registros de 14 bits Memoria de datos dividida en dos áreas:

Más detalles

Tutorial sobre Motores Paso a Paso (Stepper motors) Recopilado de Internet

Tutorial sobre Motores Paso a Paso (Stepper motors) Recopilado de Internet Prof: Bolaños D. Tutorial sobre Motores Paso a Paso (Stepper motors) Recopilado de Internet Los motores paso a paso son ideales para la construcción de mecanismos en donde se requieren movimientos muy

Más detalles

Termostato electrónico con PIC y LCD

Termostato electrónico con PIC y LCD COMETARIO TECNICO Termostato electrónico con PIC y LCD Por el Departamento de Ingeniería de Electrónica Elemon S.A. 1N4148 El circuito centra su funcionamiento en el micro controlador PIC16F870 el cual

Más detalles

MICROCONTROLADORES. 1. El PIC 16F84A es un microcontrolador de: a) 16 bits b) 8 bits c) 4 bits d) 32 bits e) 64 bits

MICROCONTROLADORES. 1. El PIC 16F84A es un microcontrolador de: a) 16 bits b) 8 bits c) 4 bits d) 32 bits e) 64 bits 1. El PIC 16F84A es un microcontrolador de: a) 16 bits b) 8 bits c) 4 bits d) 32 bits e) 64 bits MICROCONTROLADORES 2. La memoria de programa del PIC 16F84A es de tipo: a) ROM b) OTP c) RAM d) EPROM e)

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

Programa del PIC 16F877A

Programa del PIC 16F877A APÉNDICE B Programa del PIC 16F877A ;* "CONTROL AUTOMÁTICO DE VELOCIDAD VEHICULAR". * ;* EL PRESENTE PROGRAMA TIENE COMO FINALIDAD CONTROLAR LA VELOCIDAD DEL * ;* VEHÍCULO, DEPENDIENDO DE LA SEÑAL RECIBIDA

Más detalles

Proyecto Final Robot. Docentes: Collovati Susana Lasarte Matias Correa Diego Integrante: Jesús Olguera

Proyecto Final Robot. Docentes: Collovati Susana Lasarte Matias Correa Diego Integrante: Jesús Olguera Proyecto Final Robot Docentes: Collovati Susana Lasarte Matias Correa Diego Integrante: Jesús Olguera 1 Introducción: En el siguiente informe se expone la construcción de un robot capaz de seguir líneas.

Más detalles

MOTORES PASO A PASO. Se define un motor como aquella máquina eléctrica rotativa que es capaz de transformar energía eléctrica en energía mecánica.

MOTORES PASO A PASO. Se define un motor como aquella máquina eléctrica rotativa que es capaz de transformar energía eléctrica en energía mecánica. MOTORES PASO A PASO 1. INTRODUCCIÓN Se define un motor como aquella máquina eléctrica rotativa que es capaz de transformar energía eléctrica en energía mecánica. ENERGÍA ELÉCTRICA ENERGÍA MECÁNICA Figura

Más detalles

Tema 6: Microcontroladores

Tema 6: Microcontroladores Tema 6: Microcontroladores Carlos Garre del Olmo 1 Microcontroladores Contenidos Introducción a los microcontroladores. Principales familias y sus características. La familia PIC16. Programación de microcontroladores.

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

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

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

Elección de un microcontrolador

Elección de un microcontrolador Elección de un microcontrolador Decisión multivariable. No hay un óptimo evidente Factores: Herramientas de desarrollo Base de conocimientos Precio y disponibilidad Familia versátil y en desarrollo Cantidad

Más detalles

GAMA BAJA (PIC16C5X) ARQUITECTURA BÁSICA

GAMA BAJA (PIC16C5X) ARQUITECTURA BÁSICA GAMA BAJA (PIC6CX) ARQUITECTURA BÁSICA Instrucciones -bit de palabra de instrucción ROM/EPROM desde a 04 palabras Hasta 4 páginas (xbits) de memoria de programa -bit de datos RAM desde a bytes Hasta 4

Más detalles

SISTEMAS ELECTRONICOS DIGITALES DIRECCIONAMIENTO DE REGISTROS

SISTEMAS ELECTRONICOS DIGITALES DIRECCIONAMIENTO DE REGISTROS SISTEMAS ELECTRONICOS DIGITALES DIRECCIONAMIENTO DE REGISTROS Las líneas de entrada-salida digitales del PIC16X84 llamadas puertas(puertos), PUERTA A Y PUERTA B, que se denominan PA y PB. En este caso

Más detalles

[CURSO BÁSICO DE PIC RETARDOS POR SOFTWARE]

[CURSO BÁSICO DE PIC RETARDOS POR SOFTWARE] 2009 GRUPO ESTUDIANTIL INVENTRONICA Joel Oswaldo Campos Pérez [CURSO BÁSICO DE PIC RETARDOS POR SOFTWARE] En este segmento se abordara el tema de retardos por software en ensamblador, se aprenderá la estructura

Más detalles

Capítulo 1. Introducción a los PIC de 8 bits

Capítulo 1. Introducción a los PIC de 8 bits Capítulo 1. Introducción a los PIC de 8 bits 1.1 Memorias y Registros Entre los componentes básicos de un microcontrolador podemos definir el contador, sus registros, la memoria, el watchdog timer, el

Más detalles

Tema: Utilización del módulo ADC en los microcontroladores PIC.

Tema: Utilización del módulo ADC en los microcontroladores PIC. 1 Facultad: Ingeniería Escuela: Electrónica Asignatura: Microcontroladores Lugar de ejecución: Laboratorio de microprocesadores, Edif. 3 Electrónica. Tema: Utilización del módulo ADC en los microcontroladores

Más detalles

Transmisión de datos por Radio Frecuencia

Transmisión de datos por Radio Frecuencia Transmisión de datos por Radio Frecuencia Diseño de Sistemas Basados en Microcontrolador Universidad de Las Palmas de Gran Canaria 2003-04 José Carlos Ruiz Luque Francisco García Rodríguez 1 CONTENIDOS

Más detalles

Sistema de seguridad con emisión de mensaje SMS

Sistema de seguridad con emisión de mensaje SMS Sistema de seguridad con emisión de mensaje SMS INDICE 1.- INTRODUCCIÓN Pág. 1 2.- ELEMENTOS HARDWARE EMPLEADOS. Pág. 1 3.- COMUNICACIÓN SERIE (Comandos at)... Pág. 4 4.- EXPLICACIÓN DEL PROGRAMA... Pág.

Más detalles

MODO2: Arranque Vehículo

MODO2: Arranque Vehículo 2.5.3. MODO2: Arranque Vehículo 2.5.3.1. Introducción 2.5.3.2. Arrancado del motor de Explosión 2.5.3.3. Secuencia de Arrancado 2.5.3.3.1. Comprobación punto muerto 2.5.3.3.2. Comprobación Batería y Aceite

Más detalles

Manual sobre Motores a Pasos (Stepper motors)

Manual sobre Motores a Pasos (Stepper motors) Manual sobre Motores a Pasos (Stepper motors) Los motores a pasos o paso a paso son ideales en la construcción de mecanismos donde se requieren movimientos con exactitud. Estos motores son dispositivos

Más detalles

Tutorial sobre Motores Paso a Paso (Stepper motors)

Tutorial sobre Motores Paso a Paso (Stepper motors) Tutorial sobre Motores Paso a Paso (Stepper motors) Los motores paso a paso son ideales para la construcción de mecanismos en donde se requieren movimientos muy precisos. La característica principal de

Más detalles

1. ÍNDICE. Índice de contenido 2. INTRODUCCIÓN 3. CONTENIDO 1. OBJETIVOS DEL PROYECTO

1. ÍNDICE. Índice de contenido 2. INTRODUCCIÓN 3. CONTENIDO 1. OBJETIVOS DEL PROYECTO ULPGC, Universidad de Las Palmas de Gran Canarias. Facultad de Informática. Asignatura: Diseño de Sistemas Basados en Microprocesadores Profesor: Ricardo Pérez García. Regador Automático ACOSTA PADRÓN,

Más detalles

PIC Programable Integrates Circuit o Peripheral Interface Controller

PIC Programable Integrates Circuit o Peripheral Interface Controller PIC Programable Integrates Circuit o Peripheral Interface Controller un microprocesador es un sistema abierto porque su configuración es variable de acuerdo con la aplicación a la que se destine. Es diferente

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 a la arquitectura PIC

Introducción a la arquitectura PIC 18 de septiembre de 2012 Contenido 1 Microprocesadores y Microcontroladores 2 3 4 Microprocesadores y Microcontroladores Microcomputadora consiste básicamente de: Unidad central de procesamiento (CPU),

Más detalles

Proyectos con el PIC16F84

Proyectos con el PIC16F84 Capítulo 2 Proyectos con el PIC6F84 Conexión de LED y dipswitch Manejo de un display de siete segmentos Multiplexaje de teclados y displays Conexión de memorias seriales al PIC Manejo de un módulo LCD

Más detalles

PIC s 1ª PARTE RESUMEN Y EJERCICIOS_06/07

PIC s 1ª PARTE RESUMEN Y EJERCICIOS_06/07 PIC s 1ª PARTE RESUMEN Y EJERCICIOS_06/07 INDICE 1-Microcontroladores, arquitectura PIC. 2-Hardware PIC 16f84. Bancos de registros. 3-Grabación del PIC. Listado Instrucciones 4-Líneas de I/O del PIC 5-Directivas

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

MODULO LCD MODULO LCD. Pág.1

MODULO LCD MODULO LCD.  Pág.1 MODULO LCD www.teleline.terra.es/personal/fremiro Pág.1 INTRODUCCIÓN MODULO LCD Las siguientes páginas intentan dar una breve descripción del funcionamiento del módulo LCD incluido en el sistema de evaluación

Más detalles

Tarjeta entrenadora de microcontrolador PIC16F84.

Tarjeta entrenadora de microcontrolador PIC16F84. Resumen Tarjeta entrenadora de microcontrolador PIC16F84. Omar Ivan Gaxiola Sánchez, Modesto Guadalupe Medina Melendrez, Manuel de Jesús Acosta Portillo, Mijail Romero Delgado, Misael Romero Delgado. INSTITUTO

Más detalles

Actuadores eléctricos - Motores

Actuadores eléctricos - Motores Motores de paso La característica principal de estos motores es el hecho de poder moverlos un paso a la vez por cada pulso que se le aplique. Este paso puede variar desde 90 hasta pequeños movimientos

Más detalles

PRÁCTICA 5 DIRECCIONAMIENTO INDIRECTO Y TECLADO MATRICIAL

PRÁCTICA 5 DIRECCIONAMIENTO INDIRECTO Y TECLADO MATRICIAL Direccionamiento Indirecto y Teclado Matricial 55 PRÁCTICA 5 DIRECCIONAMIENTO INDIRECTO Y TECLADO MATRICIAL OBJETIVO: Identificar la forma de operar del modo de direccionamiento indirecto. Analizar el

Más detalles

PROCESADORES I Guia TP7 Introducción al Assembler del PIC

PROCESADORES I Guia TP7 Introducción al Assembler del PIC Pseudo-instrucciones PIC16F628 PROCESADORES I Guia TP7 Introducción al Assembler del PIC Se describen a continuación las más relevantes, que serán necesarias para la realización de los diferentes ejercicios.

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 MICRO ESTUDIO Reloj en tiempo real RTCU2 Clave: 719 www.electronicaestudio.com

PIC MICRO ESTUDIO Reloj en tiempo real RTCU2 Clave: 719 www.electronicaestudio.com PIC MICRO ESTUDIO Reloj en tiempo real RTCU2 Clave: 719 www.electronicaestudio.com Guía de Operación Reloj en tiempo real Modulo: RTCU2iempo real Clave: 719 El modulo 719 Reloj en tiempo real- utiliza

Más detalles

ESTUDIO DEL SISTEMA DE UN BRAZO ROBOT .INDICE. Descripción de las partes de la máquina..pag. 3, 4 y 5. *Introducción.

ESTUDIO DEL SISTEMA DE UN BRAZO ROBOT .INDICE. Descripción de las partes de la máquina..pag. 3, 4 y 5. *Introducción. ESTUDIO DEL SISTEMA DE UN BRAZO ROBOT.INDICE. Descripción de las partes de la máquina..pag. 3, 4 y 5. *Introducción. *Motor paso a paso (Bipolar): Características y funcionamiento. *Descripción de las

Más detalles

Microcontroladores PIC de Microchip: generalidades

Microcontroladores PIC de Microchip: generalidades Microcontroladores PIC de Microchip: generalidades PIC significa Peripheral Interface Controller Los fabrica ARIZONA MICROCHIP TECHNOLOGY. Fábrica principal: Chandler (Arizona). Otras en Tender (Arizona),

Más detalles

Control de avance al encendido

Control de avance al encendido Control de avance al encendido Diseño de microcontroladores Proyecto final Profesor: Alumno: Ing. José Juarez Kikot Pablo 1 INDICE _ Introducción 3 Funcionamiento básico de un motor 4 Encendido tradicional

Más detalles

Tema 11. Introducción a los Microprocesadores y Microcontroladores

Tema 11. Introducción a los Microprocesadores y Microcontroladores Unidad 11 Introducción a los microprocesadores y microcontroladores Andres.Iborra@upct.es Juan.Suardiaz@upct.es Septiembre 2002 1 CONTENIDO Unidad 11. Introducción a los microprocesadores y microcontroladores.

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

Tema 3: Lenguaje ensamblador. La primera abstracción de la máquina para el programador

Tema 3: Lenguaje ensamblador. La primera abstracción de la máquina para el programador Tema 3: Lenguaje ensamblador La primera abstracción de la máquina para el programador Índice Introducción. Generación código máquina: ensamblador, montador y cargador. Instrucciones y directivas. Macros

Más detalles

Energía fotovoltaica y su aplicación rural

Energía fotovoltaica y su aplicación rural Energía fotovoltaica y su aplicación rural Antonio Blanco Solsona, Francisco García Trobat Antonio.Blanco@uv.es gtrobat@telefonica.net INTRODUCCIÓN En las fincas rurales aisladas es cada vez más necesario

Más detalles

SERVOS v1.0 INTRODUCCIÓN

SERVOS v1.0 INTRODUCCIÓN INTRODUCCIÓN El módulo Servos v1.0 está diseñado para controlar diez servomotores de forma independiente, gobernado por un microcontrolador PIC18F previamente programado, es capaz de recibir la información

Más detalles

Diseño Basado en Microcontroladores. Programa Detallado

Diseño Basado en Microcontroladores. Programa Detallado Diseño Basado en Microcontroladores. Programa Detallado Tema 5. Temporizadores e Interrupciones. (4 horas + 8 horas de laboratorio) 5.1.Temporizadores A y B. Modos de funcionamiento. 5.2. Temporizador

Más detalles

Tema: Utilización del módulo CCP (PWM) en los microcontroladores PIC.

Tema: Utilización del módulo CCP (PWM) en los microcontroladores PIC. 1 Facultad: Ingeniería Escuela: Electrónica Asignatura: Microcontroladores Lugar de ejecución: Laboratorio de microprocesadores, Edif. 3 Electrónica. Tema: Utilización del módulo CCP (PWM) en los microcontroladores

Más detalles

TALLER DE CONSTRUCCION DE UN MICROBOT RASTREADOR PROGRAMACION TALLER DE CONSTRUCCIÓN DE UN MICROBOT RASTREADOR

TALLER DE CONSTRUCCION DE UN MICROBOT RASTREADOR PROGRAMACION TALLER DE CONSTRUCCIÓN DE UN MICROBOT RASTREADOR TALLER DE CONSTRUCCION DE UN MICROBOT RASTREADOR PROGRAMACION ESTRUCTURA GENERAL DE UN PROGRAMA #include #use delay(clock=4000000) main() { 1 OPERACIONES CON LOS PUERTOS 1) Especificar qué líneas

Más detalles

Dentro del PIC16F877 se distinguen tres bloques de memoria.

Dentro del PIC16F877 se distinguen tres bloques de memoria. 1 ORGANIZACIÓN de la MEMORIA Dentro del PIC16F877 se distinguen tres bloques de memoria. Memoria de programa En sus 8192 posiciones (8Kx14bits) contiene el programa con las instrucciones que gobiernan

Más detalles

Programación de microcontroladores usos y aplicaciones. Desde Ensamblador a C.

Programación de microcontroladores usos y aplicaciones. Desde Ensamblador a C. Programación de microcontroladores usos y aplicaciones. Desde Ensamblador a C. Familias 8-bit de Microchip: PIC10F, PIC12F, PIC16F y PIC18F /cursos/microchip/ Espinher Electróingeniería, S.A. de C.V. Ing.

Más detalles

LCD. Las pantallas de cristal líquido o módulos LCD, como. Módulo. con interface serial

LCD. Las pantallas de cristal líquido o módulos LCD, como. Módulo. con interface serial Módulo Módulo LCD con interface serial LCD con interface serial EDISON DUQUE C. Este módulo permite mostrar, en una pantalla de cristal líquido, los mensajes que son enviados desde una computadora o un

Más detalles