[CURSO BÁSICO DE PIC RETARDOS POR SOFTWARE]

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

Download "[CURSO BÁSICO DE PIC RETARDOS POR SOFTWARE]"

Transcripción

1 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 de un retardo, el uso de subrutinas y trucos que facilitaran la utilización de retardos en cualquier programa.

2 Contenido: 1) Ejemplos Preguntas y Respuestas.6 2) Bucles anidados Ejemplos Ejercicio. 9 3) Retardos como subrutinas ) Retardos como supresores de ruido..11 5) Trucos..12 6) Practicas para compilar y probar.13 Curso básico de microcontroladores robo-sapiens@hotmail.com Página 2

3 A menudo es necesario que nuestros programas usen demoras o retardos, por ejemplo, si deseamos hacer parpadear un led cada segundo evidentemente necesitaremos usar un retardo de 1s. Los retardos son prácticamente omnipresentes en nuestros programas. Y hay dos formas de hacerlos: -Por software -Por TMR0 Retardo por Software Los retardos por Software consisten en que el pic se quede enciclado durante un tiempo. Es decir, es necesario usar uno o varios contadores que deberán ser decrementados, cuando dichos contadores lleguen a 0 habrá concluido el retardo. Ejemplo con flujo-grama: Inicio de retardo CONTA_1 n CONTA_1 (CONTA_1 1) NO CONTA_1 = 0? SI FIN Curso básico de microcontroladores robo-sapiens@hotmail.com Página 3

4 Observe en el diagrama anterior como a una variable CONTA_1 se le asigna un numero n, posteriormente esta variable se decrementa y se pregunta si ha llegado a 0, si no ha llegado a 0 entonces se vuelve a decrementar, y asi sucesivamente hasta que llegue a 0 en cuyo caso es el FIN del retardo. El programa se quedo perdiendo el tiempo encilado dando vueltas n veces. Veamos la traducción a ensamblador, para esto consideremos que n=100. Inicio_retardo ;etiqueta para dar nombre al retardo movlw d 100 ; W 100 movwf CONTA_1 ; CONTA_1 W decfsz CONTA_1,F ; CONTA_1 CONTA_1-1 y salta si ya llego a 0 goto $-.1 ;NO ha llegado a 0, entonces vuelve a decrementar ;SI llego a 0 entonces FIN del retardo,sigue el programa Observe que tenemos una instrucción nueva decfsz, esta instrucción es equivalente a decir: Decrementa el registro f y salta si ha llegado a 0 Es una instrucción muy útil y sumamente utilizada principalmente en procesos que se repiten n numero de veces, tales como lo son los retardos. Muy bien, en este punto entendemos el concepto de un retardo por software, sin embargo surge una duda obvia e importante: Cómo calculo el tiempo que durará un retardo? Muy bien, observemos esta parte del código ensamblador: decfsz CONTA_1,F ; CONTA_1 CONTA_1-1 y salta si ya llego a 0 goto $-.1 ;NO ha llegado a 0, entonces vuelve a decrementar Nótese que esta parte es la que se ejecuta n veces hasta que CONTA_1 llega a 0, asi que solo debemos saber cuánto tardan en ejecutarse estas dos instrucciones, luego lo multiplicamos por n y el resultado es el tiempo que dura el retardo. La instrucción decfsz dura 1us y la instrucción goto dura 2us, asi que entre ambas duran 3uS, asi pues el retardo durará: Retardo = 3uS x n si n= 100 entonces Retardo = 300uS Nota: La parte del código que se ejecuta repetitivamente hasta que CONTA_1 llega a 0 se llama BUCLE. Curso básico de microcontroladores robo-sapiens@hotmail.com Página 4

5 EJEMPLO: Deseamos hacer un retardo de 100uS, entonces usamos el mismo código: Inicio_retardo ;etiqueta para dar nombre al retardo movlw d n ; W n movwf CONTA_1 ; CONTA_1 W decfsz CONTA_1,F ; CONTA_1 CONTA_1-1 y salta si ya llego a 0 goto $-.1 ;NO ha llegado a 0, entonces vuelve a decrementar ;SI llego a 0 entonces FIN del retardo,sigue el programa Solo que ahora no sabemos cuánto valdrá n. Para calcular n usamos la formula anterior: Despejamos n y tenemos: Retardo = n x 3uS n = Retardo / 3uS n = 100uS / 3uS = Entonces sabemos que debemos cargar a la variable CONTA_1 con el numero 33 para lograr un retardo aproximado a 100uS: Retardo = n x 3us = 33 x 3us = 99uS. EJEMPLO 2: Deseamos hacer un retardo de 100uS, para esto ahora hacemos un pequeño cambio al código en ensamblador del retardo: Inicio_retardo ;etiqueta para dar nombre al retardo movlw d 100 ; W 100 movwf CONTA_1 ; CONTA_1 W decfsz CONTA_1,F ; CONTA_1 CONTA_1-1 y salta si ya llego a 0 goto $-.2 ;NO ha llegado a 0, entonces salta 2 instrucciones atras ;SI llego a 0 entonces FIN del retardo,sigue el programa Observe que ahora tenemos una instrucción nueva:, esta instrucción dura 1uS y la operación que realiza es nula, es decir, no hace nada, entonces para que la usamos? Observe esta parte del código: decfsz CONTA_1,F ; CONTA_1 CONTA_1-1 y salta si ya llego a 0 goto $-.2 ;NO ha llegado a 0, entonces salta 2 instrucciones atras Curso básico de microcontroladores robo-sapiens@hotmail.com Página 5

6 Note que esta parte del código es la que se repite n veces hasta que CONTA_1 llegue a 0 (bucle). El bucle ahora tiene 3 instrucciones: (1uS), decfsz (1uS) y goto (2uS), que entre las tres suman 4uS, entonces la fórmula para nuestro retardo cambio: Despejamos n y tenemos: Retardo = 4uS x n n = Retardo / 4uS n = 100uS / 4uS = 25 Vemos como usando la instrucción el numero que cargamos a CONTA_1 es más exacto y menor. Se puede ver la utilidad de esta instrucción que aparentemente era ociosa. PREGUNTAS: 1) Realice un retardo que dure 1mS 2) Cuanto es el Tiempo máximo que se genera sin la instrucción y cuanto con la instrucción de los ejemplos anteriores? 3) Es posible generar un retardo mayor agregando mas instrucciones? Respuestas 1) Inicio_retardo ;etiqueta para dar nombre al retardo movlw d 250 ; W 250 movwf CONTA_1 ; CONTA_1 W decfsz CONTA_1,F ; CONTA_1 CONTA_1-1 y salta si ya llego a 0 goto $-.2 ;NO ha llegado a 0, entonces salta 2 instrucciones atras ;SI llego a 0 entonces FIN del retardo,sigue el programa n = Retardo / 4 us n = 1000uS / 4uS = 250 2) Sin el = 765uS, con el = 1025uS. 3) Si es posible generar retardos más grandes de esa manera paro hay métodos más efectivos para hacer retardos prolongados. Curso básico de microcontroladores robo-sapiens@hotmail.com Página 6

7 Bucles anidados Como hemos visto el retardo máximo que se puede generar de las formas enunciadas anteriormente son apenas mayores a 1mS. Para generar retardos mucho mayores necesitamos usar BUCLES ANIDADOS. Estos bucles anidados consiten generar un Retardo base que se repetirá n veces, el retardo base se hace de la manera anteriormente mencionada usando un bucle que llamamos bucle interno, y al repetir este retardo base n veces estamos formando un bucle mayor o bucle externo. Veamos el ejemplo en flujo-grama: Inicio de retardo CONTA_2 m CONTA_1 n CONTA_1 CONTA_1-1 NO CONTA_1=0? CONTA_2 (CONTA_2 1) NO CONTA_2 = 0? SI FIN Curso básico de microcontroladores robo-sapiens@hotmail.com Página 7

8 Observe como primero se carga a la variable CONTA_2 con m, luego CONTA_1 se carga con n, luego se decrementa CONTA_1 hasta que llegue a 0 en cuyo caso decrementa CONTA_2, si CONTA_2 no es 0 entonces vuelve a cargar CONTA_1 con n y se vuelve a repetir el ciclo de decrementar CONTA_1 hasta 0, el ciclo se repite m veces hasta que CONTA_2 llegue a 0 en cuyo caso será el fin del retardo. Recuerde que la fórmula para el retardo simple de un solo bucle usando la instrucción era: Retardo = n x 4uS Utilizando dos bucles anidados la fórmula del retardo sería la siguiente: Retardo = m x (n x 4uS) Muy simple verdad. Veamos como se traduce a ensamblador: Inicio_retardo movlw d m ; W m movwf CONTA_2 ; CONTA_2 W movlw d n ; W n goto $-.2 ;NO es 0, entonces salta al goto $-.6 ;No es 0, entonces regresa a cargar conta_ ;Si es 0, entonces fin del retardo EJEMPLO: Realizar un retardo de 10mS. Recuerde que para un retardo de 1 ms usábamos un retardo simple de un bucle y la variable CONTA_1 le asignábamos 250: Retardo interno= 4uS x 250 = 1000uS = 1mS Usaremos este retardo como reatrdo base y lo repetiremos 10 veces para hacer un retardo final de 10ms: Retardo = m x (4uS * 250) = 10 x (1mS) = 10mS Es decir, m = 10 y n = 250, con eso logramos el retardo de 10mS Curso básico de microcontroladores robo-sapiens@hotmail.com Página 8

9 Retardo de 10mS en ensamblador: Inicio_retardo movlw d 10 ; W m movwf CONTA_2 ; CONTA_2 W movlw d 250 ; W n goto $-.2 ;NO es 0, entonces salta al goto $-.6 ;No es 0, entonces regresa a cargar conta_ ;Si es 0, entonces fin del retardo y sigue con el programa EJERCICIO: Genere el código para hacer un retardo de 1 segundo. Solución: 1 segundo = 1000 ms, notamos de inmediato que será necesario un tercer bucle ya que el numero 1000 no podrá ser cargado al CONTA_2 ya que supera el máximo de 255. Asi que nuestra formula con un tercer bucle seria así: Retardo = p x ( m x (n x 4uS) ) O bien: Retardo = CONTA_3 x ( CONTA_2 x (CONTA_1 x 4uS) ) Inicio_retardo movlw d 10 ; W m movwf CONTA_2 ; CONTA_3 W movlw d 100 ; W m movwf CONTA_2 ; CONTA_2 W movlw d 250 ; W n goto $-2 ;NO es 0, entonces salta al goto $-6 ;No es 0, entonces regresa a cargar conta_1 decfsz CONTA_3,F ;SI es 0, entonces CONTA_2 CONTA_2-1 y salta si llega a 0 goto $-10 ;No es 0, entonces regresa a cargar conta_ ;Si es 0, entonces fin del retardo y sigue con el programa Retardo = 10 x (100 x (1mS)) = 1000mS = 1 segundo Curso básico de microcontroladores robo-sapiens@hotmail.com Página 9

10 Note la facilidad para hacer retardos, Es muy conveniente usar retardos base redondos con base en 10 es decir, que el retardo base sea de 1mS o 10mS etc para que solo se repita n veces para calcular y obtener los retardos que deseemos fácilmente y no tener que calcular tanto. Retardos como subrutinas Supongamos que deseamos hacer un programa para un led parpadeante, que encienda y apague cada 1 segundo. El código en ensamblador seria asi: Inicio_principal bsf LED ;encendemos el LED call Retardo_1s ;Llamamos a la subrutina Retardo_1s bcf LED ;apagamos el LED call Reatrdo_1s ;llamamos a la subrutina Retardo_1s goto Inicio_principal ;Repetimos el ciclo Retardo_1s ;Subrutina Retardo_1s movlw d 10 ; W m movwf CONTA_2 ; CONTA_3 W movlw d 100 ; W m movwf CONTA_2 ; CONTA_2 W movlw d 250 ; W n goto $-.2 ;NO es 0, entonces salta al goto $-.6 ;No es 0, entonces regresa a cargar conta_1 decfsz CONTA_3,F ;SI es 0, entonces CONTA_2 CONTA_2-1 y salta si llega a 0 goto $-.10 ;No es 0, entonces regresa a cargar conta_1 return ;Si es 0, entonces fin del retardo y regresa Las subrutinas son segmentos de código que se pueden ejecutar cada vez que el programa principal las llame y cuando terminen de ejecutarse regresan a la siguiente posición de donde fueron llamadas. La instrucción que las manda a llamar es CALL y la instrucción que regresa a la siguiente posición de donde fueron llamadas es RETURN. Las subrutinas deben tener un nombre para poder ser llamadas. Son una herramienta muy útil que ahorra espacio de memoria y facilita la programación. Curso básico de microcontroladores robo-sapiens@hotmail.com Página 10

11 Retardos como supresores de rebote Sabemos que los elementos mecánicos como los pulsadores producen un efecto llamado rebote. Cuando se presiona un botón este no se cierra idealmente, sino que antes de cerrarse completamente rebota produciendo varios pulsos antes de cerrarse completamente. El efecto de rebote suele durar menos de 20 ms. Los pulsos falsos debido al rebote suelen ser un problema si se desea hacer un contador, ya que cuando se pulsa el botón para incrementar el contador el contador no se incrementa en 1, sino en varias unidades, Por qué? Pues porque cuenta los pulsos falsos producidos por el rebote. Los retardos son útiles supresores de rebote. Cuando se pulsa un botón se llama a un retardo de aproximadamente 20ms, después del retardo de 20ms continua el programa, de esta manera los pulsos de rebote no desaparecen pero son completamente omitidos. EJEMPLO: Explorar_boton BTFSS PUSH ;exploramos el boton GOTO explorar_boton ;no se presiono, entonces sigue explorarndo CALL Retardo_20ms ;si se pulso, entonces demora de 20ms INCF CONTADOR,F ;incrementa la variable CONTADOR MOVF CONTADOR,W ;enviamos CONTADOR a PORTB para ver cuenta MOVWF PORTB GOTO explorar_contador ;repetir el ciclo Retardo_20ms movlw d 20 ; W m movwf CONTA_2 ; CONTA_2 W movlw d 250 ; W n goto $-.2 ;NO es 0, entonces salta al goto $-.6 ;No es 0, entonces regresa a cargar conta_1 return ;Si es 0, entonces fin del retardo y sigue con el programa Curso básico de microcontroladores robo-sapiens@hotmail.com Página 11

12 TRUCOS Existe un truco muy util llamado multiplicación de retardos base. Este truco consiste en usar uno o unos pocos retardos base y solo invocarlos y multiplicarlos por X para tener tantos retardos como queramos. Asi se puede hacer un retardo base de 1ms y generar cuando queramos retardos desde 1ms hasta 255ms sin necesidad de hacer 255 retardos diferentes. La formula que usaríamos seria la siguiente: Retardo = W X Retardo_base Por ejemplo, si se desea un retardo de 10 ms solo se haría lo siguiente: movlw call d 10 Retardo_x1ms Ejemplo:.. movlw d 10 ;W 10 call Retardo_x1ms ;Asi tendriamos un retardo de 10 x 1mS = 10mS.. Retardo_x1ms ; subrutina Retardo x 1 ms movwf CONTA_2 ; CONTA_2 10 movlw d 250 ; W 250 goto $-.2 ;NO es 0, entonces salta al goto $-.6 return Lo que hace lo anterior es primero mover a W el 10, luego llama al reatardo, en donde a CONTA_2 se le asigna lo que tiene W, como el retardo base es de 1ms entonces el retardo total es W x 1ms Podemos hacer 5 retardos base de 1ms de 10ms de 100ms de 1seg y de 10seg y asi hacer combinaciones para poder hacer todos los retardos posibles desde 1ms hasta 2550 segundos. Por ejemplo, si deseamos un retardo de 362ms entonces escribiríamos lo siguiente: movlw d 3 call Retardo_x100ms ;Retardo de 3 x 100ms = 300ms movlw d 62 call Retardo_x1ms ;Retardo de 62 x 1ms = 62ms Curso básico de microcontroladores robo-sapiens@hotmail.com Página 12

13 PRACTICAS DE EJEMPLO PARA COMPILAR Y PROBAR: LED PARPADEANTE: Enciende y apaga un led conectado a RB0 con una duración de 1 segundo. list p=16f877a ; list directive to define processor #include <p16f877a.inc> ; processor specific variable definitions CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_OFF & _XT_OSC & _WRT_OFF & _LVP_OFF & _CPD_OFF CBLOCK 0X20 ;definimos las variables que usaremos CONTA_1 CONTA_2 CONTA_3 ENDC #define LED PORTB,0 ;definimos PORTB,0 con el nombre LED para facilitar el programa Inicio ORG 0 Goto inicio ORG 5 Bsf STATUS,RP0 ;Vamos al banco 1 para configurar puertos Bcf STATUS,RP1 Movlw d 7 ;Asignamos 7 a ADCON1, es decir, todas digitales Movwf ADCON1 Clrf TRISB ;Limpiamos TRISB, es decir, PORTB todo como salidas Bcf STATUS,RP0 ;Regresamos al banco 0 de trabajo. Inicio_principal Bsf LED ;encendemos led Call Retardo_1s ;esperamos 1 segundo BCF LED ;apagamos led Call Retardo_1s ;esperamos 1 segundo Goto Inicio_prinicpal ;repetimos el ciclo Retardo_1s movlw d 10 ; W m movwf CONTA_2 ; CONTA_3 W movlw d 100 ; W m movwf CONTA_2 ; CONTA_2 W movlw d 250 ; W n goto $-.2 ;NO es 0, entonces salta al goto $-.6 ;No es 0, entonces regresa a cargar conta_1 decfsz CONTA_3,F ;SI es 0, entonces CONTA_2 CONTA_2-1 y salta si llega a 0 goto $-.10 ;No es 0, entonces regresa a cargar conta_1 return ;Si es 0, entonces fin del retardo y regresa Curso básico de microcontroladores robo-sapiens@hotmail.com Página 13

14 LED PARPADEANTE 2: Enciende un led el 20% del tiempo, el led conectado a RB0. Periodo de 1 segundo, frecuencia de 1Hz. Usando el truco de multiplicación de retardo base. list p=16f877a ; list directive to define processor #include <p16f877a.inc> ; processor specific variable definitions CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_OFF & _XT_OSC & _WRT_OFF & _LVP_OFF & _CPD_OFF CBLOCK 0X20 ;definimos las variables que usaremos CONTA_1 CONTA_2 CONTA_3 ENDC #define LED PORTB,0 ;definimos PORTB,0 con el nombre LED para facilitar el programa Inicio ORG 0 Goto inicio ORG 5 Bsf STATUS,RP0 ;Vamos al banco 1 para configurar puertos Bcf STATUS,RP1 Movlw d 7 ;Asignamos 7 a ADCON1, es decir, todas digitales Movwf ADCON1 Clrf TRISB ;Limpiamos TRISB, es decir, PORTB todo como salidas Bcf STATUS,RP0 ;Regresamos al banco 0 de trabajo. Inicio_principal Bsf LED ;encendemos led Movlw d 2 Call Retardo_x100ms ;esperamos 200ms BCF LED ;apagamos led Movlw d 8 Call Retardo_x100ms ;esperamos 800 ms Goto Inicio_prinicpal ;repetimos el ciclo Retardo_x100ms movwf CONTA_2 ; CONTA_3 W movlw d 100 ; W m movwf CONTA_2 ; CONTA_2 W movlw d 250 ; W n goto $-.2 ;NO es 0, entonces salta al goto $-.6 ;No es 0, entonces regresa a cargar conta_1 decfsz CONTA_3,F ;SI es 0, entonces CONTA_2 CONTA_2-1 y salta si llega a 0 goto $-.10 ;No es 0, entonces regresa a cargar conta_1 return ;Si es 0, entonces fin del retardo y regresa Curso básico de microcontroladores robo-sapiens@hotmail.com Página 14

15 CONTADOR: Incrementa un contador binario que se visualiza en PORTB presionando un botón conectado a RA0. list p=16f877a ; list directive to define processor #include <p16f877a.inc> ; processor specific variable definitions CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_OFF & _XT_OSC & _WRT_OFF & _LVP_OFF & _CPD_OFF CBLOCK 0X20 ;definimos las variables que usaremos CONTA_1 CONTA_2 ENDC #define PUSH PORTA,0 ;definimos PORTA,0 con el nombre PUSH para facilitar el programa Inicio ORG 0 Goto inicio ORG 5 Bsf STATUS,RP0 ;Vamos al banco 1 para configurar puertos Bcf STATUS,RP1 Movlw d 7 ;Asignamos 7 a ADCON1, es decir, todas digitales Movwf ADCON1 Clrf TRISB ;Limpiamos TRISB, es decir, PORTB todo como salidas Bcf STATUS,RP0 ;Regresamos al banco 0 de trabajo. explorar_boton BTFSS PUSH ;exploramos el boton GOTO explorar_boton ;no se presiono, entonces sigue explorarndo CALL Retardo_20ms ;si se pulso, entonces demora de 20ms INCF CONTADOR,F ;incrementa la variable CONTADOR MOVF CONTADOR,W ;enviamos CONTADOR a PORTB para ver cuenta MOVWF PORTB GOTO explorar_boton ;repetir el ciclo Retardo_20ms movlw d 20 ; W m movwf CONTA_2 ; CONTA_2 W movlw d 250 ; W n goto $-.2 ;NO es 0, entonces salta al goto $-.6 ;No es 0, entonces regresa a cargar conta_1 return ;Si es 0, entonces fin del retardo y regresa Curso básico de microcontroladores robo-sapiens@hotmail.com Página 15

16 GRUPO ESTUDIANTIL INVENTRONICA Aclaración de dudas respecto al tema tratado en este trabajo al correo: Curso básico de microcontroladores Página 16

[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

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

PROFESOR: Práctica 10. Manejo de Tabla de datos con Microcontrolador PIC

PROFESOR: Práctica 10. Manejo de Tabla de datos con Microcontrolador PIC 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 Arquitectura de Microprocesadores y Microcontroladores

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

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

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

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

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

Apéndice A. Programas y Diagramas de Bloques para los Microprocesadores

Apéndice A. Programas y Diagramas de Bloques para los Microprocesadores Apéndice A Programas y Diagramas de Bloques para los Microprocesadores 120 Microprocesador PIC16F84A (Transmisor): Figura A.1 Diagrama de bloques del PIC16F84A en transmisor ;***********************************Transmisor.asm********************************

Más detalles

Assembler para PICs. Permite la utilización de etiquetas, tanto para apuntar a direcciones como para definir valores constantes.

Assembler para PICs. Permite la utilización de etiquetas, tanto para apuntar a direcciones como para definir valores constantes. Características generales del lenguaje: Emplea los mnemotécnicos de las instrucciones del μc. En nuestro caso corresponderá al set de instrucciones de los PICs de la gama media (35 instrucciones). Permite

Más detalles

PROFESOR: Práctica 9. Control de Motores de CD con Microcontrolador PIC

PROFESOR: Práctica 9. Control de Motores de CD con Microcontrolador PIC 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 Arquitectura de Microprocesadores y Microcontroladores

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

INTRODUCCION A LA CONFIGURACION DEL CONVERSOR ANALOGICO DEL PIC16F876A

INTRODUCCION A LA CONFIGURACION DEL CONVERSOR ANALOGICO DEL PIC16F876A Rev. 24/09/2018 : Se realizó algunas correcciones. INTRODUCCION A LA CONFIGURACION DEL CONVERSOR ANALOGICO DEL PIC16F876A La teoría que se presenta es válida para los micro controladores de la empresa

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

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

MICROCONTROLADORES (III)

MICROCONTROLADORES (III) Prof. Manuel Rivas MICROCONTROLADORES (III) Pautas generales de programación Operaciones con datos Operaciones aritméticas Operaciones de comparación Subrutinas Selección múltiple Configuración de puertos

Más detalles

PIC 16F87X. Juan González. Escuela Politécnica Superior Universidad Autónoma de Madrid. Flir Networked Systems. Flir Networked Systems

PIC 16F87X. Juan González. Escuela Politécnica Superior Universidad Autónoma de Madrid. Flir Networked Systems. Flir Networked Systems PIC 16F87X Juan González Andrés Prieto-Moreno Ricardo Gómez Escuela Politécnica Superior Universidad Autónoma de Madrid Flir Networked Systems Flir Networked Systems Curso de microcontroladores PIC. Semana

Más detalles

INFORMÁTICA INDUSTRIAL. 3º INGENIERÍA TÉCNICA INDUSTRIAL. ESPECIALIDAD ELECTRÓNICA BOLETÍN 1. CURSO 2003/04

INFORMÁTICA INDUSTRIAL. 3º INGENIERÍA TÉCNICA INDUSTRIAL. ESPECIALIDAD ELECTRÓNICA BOLETÍN 1. CURSO 2003/04 INFORMÁTICA INDUSTRIAL. 3º INGENIERÍA TÉCNICA INDUSTRIAL. ESPECIALIDAD ELECTRÓNICA BOLETÍN 1. CURSO 20/04 1. Se colocan tres interruptores en las líneas RA0, RA1 y RA2 de la puerta A de un PIC16F84. Y

Más detalles

Apéndice B Programa para calcular inclinación con PIC 16F877A

Apéndice B Programa para calcular inclinación con PIC 16F877A Apéndice B Programa para calcular inclinación con PIC 16F877A list p=16f877a ; list directive to define processor #include ; processor specific variable definitions ;***** DEFINICIÓN DE

Más detalles

PROFESOR: Práctica 8. Manejo de Puertos de Entrada y salida del Microcontrolador PIC

PROFESOR: Práctica 8. Manejo de Puertos de Entrada y salida del Microcontrolador PIC 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 Arquitectura de Microprocesadores y Microcontroladores

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

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

D:\ACCESO\ACCESO.ASM. list p=16f877 include "p16f877.inc" ROTA equ 0x20 TEMP equ 0x21 TECLA equ 0x22 DIGITOS equ 0x23 DIR equ 0x24

D:\ACCESO\ACCESO.ASM. list p=16f877 include p16f877.inc ROTA equ 0x20 TEMP equ 0x21 TECLA equ 0x22 DIGITOS equ 0x23 DIR equ 0x24 ;Programa para el control de acceso a un sistema X ;mediante la introducción de una clave a través de un teclado ;matricial. ;Es posible cambiar la clave de acceso y guardarla en la EEPROM ;La velocidad

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

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

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

PROFESOR: Práctica 7. Puertos de salida del Microcontrolador

PROFESOR: Práctica 7. Puertos de salida del Microcontrolador 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 Arquitectura de Microprocesadores y Microcontroladores

Más detalles

;*****************************************************************************************

;***************************************************************************************** PROYECTO DPP Memoria Generalidades: Este es el proyecto de un sistema de camaras cerrado, concretamente de ocho camaras, controladas, desde un panel de mandos desde el cual controlaremos que camara queremos

Más detalles

La Instrucción CALL CCFF DPE MÓDULO DE PROYECTOS 2

La Instrucción CALL CCFF DPE MÓDULO DE PROYECTOS 2 Las Subrutinas La Instrucción CALL El PIC 16f84, dentro de su set de instrucciones, y para llamar a las subrutinas, posee la instrucción CALL. Esta instrucción, lo que hace es guardar en la PILA, la dirección

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

lunes 10 de agosto de 2009 par de mensajes en los renglones de la pantalla #INCLUDE ;DECLARO LA LIBRERIA

lunes 10 de agosto de 2009 par de mensajes en los renglones de la pantalla #INCLUDE ;DECLARO LA LIBRERIA Mexatronica Sitio que colecciona informacion acerca de todos los temas de ingenieria y nuevas tecnologias. Mecatronica, microcontroladores, minirobotica, sensores, instrumentacion, control, lunes 10 de

Más detalles

Escuela Politécnica Superior de Elche. EXAMEN DE SISTEMAS ELECTRÓNICOS Y AUTOMÁTICOS 2º Parte: Microcontroladores + Instrumentación Nombre:

Escuela Politécnica Superior de Elche. EXAMEN DE SISTEMAS ELECTRÓNICOS Y AUTOMÁTICOS 2º Parte: Microcontroladores + Instrumentación Nombre: Escuela Politécnica Superior de Elche 4º Ingeniería Industrial EXAMEN DE SISTEMAS ELECTRÓNICOS Y AUTOMÁTICOS 2º Parte: Microcontroladores + Instrumentación Nombre: CUESTION 1 (3 puntos) 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

Proyecto de Microprocesadores I del CENT57 AFINADOR DIGITAL MICROPROCESADO Alumnos: Damian O. Macarrein Gastón M. Murphy Año 2002

Proyecto de Microprocesadores I del CENT57 AFINADOR DIGITAL MICROPROCESADO Alumnos: Damian O. Macarrein Gastón M. Murphy Año 2002 Proyecto de Microprocesadores I del CENT57 AFINADOR DIGITAL MICROPROCESADO Alumnos: Damian O. Macarrein Gastón M. Murphy Año 2002 Introducción Este afinador digital esta diseñado para la medición de frecuencia

Más detalles

Facultad de Ingenieria, UNAM. Ejercicio 1: Blinking leds

Facultad de Ingenieria, UNAM. Ejercicio 1: Blinking leds Laboratorio de Microcomputadoras. Profesor: Sandro Caballero Rivas Facultad de Ingenieria, UNAM. Ejercicio 1: Blinking leds Objetivos: Conocer el ambiente de desarrollo del IDE, MPLABX. Realizar un programa

Más detalles

Software para el modulo 5i-5or

Software para el modulo 5i-5or Software para el modulo 5i-5or Existen muchas aplicaciones del tipo secuencial que solamente requieren de dos botones: uno para arrancar la secuencia y otro para pararla. Las salidas de este tipo de controles

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

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

- FUNDAMENTOS TEÓRICOS - EJEMPLOS DE APLICACIÓN. 09/01/2009 Ing. José A. Picón - - (0416)

- FUNDAMENTOS TEÓRICOS - EJEMPLOS DE APLICACIÓN. 09/01/2009 Ing. José A. Picón -  - (0416) MICROPROCESADORES Y MICROCONTROLADORES - FUNDAMENTOS TEÓRICOS - EJEMPLOS DE APLICACIÓN 09/01/2009 Ing. José A. Picón - www.joseapicon.com.ve - (0416) 9519990 Informes de Laboratorio Entregar informe con

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

Tema: Uso de pantalla matricial LCD y teclado matricial con eliminación de rebote.

Tema: Uso de pantalla matricial LCD y teclado matricial con eliminación de rebote. 1 Facultad: Ingeniería Escuela: Electrónica Asignatura: Microcontroladores Lugar de ejecución: Laboratorio de microprocesadores, Edif. 3 Electrónica. Tema: Uso de pantalla matricial LCD y teclado matricial

Más detalles

CODIGO EN ASSEMBLER TRANSMISOR. list p=16f876 ;selecion de pic

CODIGO EN ASSEMBLER TRANSMISOR. list p=16f876 ;selecion de pic TRANSMISOR CODIGO EN ASSEMBLER list p=16f876 ;selecion de pic radix hex ; codigo hex indf equ 0h ;direcionamiento indirecto tmro equ 1h ;contador de tiempo real pc equ 2h ;contador del programa status

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

ORGANIZACIÓN INTERNA + INTRODUCCIÓN AL ENSAMBLADOR

ORGANIZACIÓN INTERNA + INTRODUCCIÓN AL ENSAMBLADOR ORGANIZACIÓN INTERNA + INTRODUCCIÓN AL 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

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

DIRECTIVAS DEL ENSAMBLADOR MPASM. 1.- Directivas para carga o reserva en la Memoria de Programa

DIRECTIVAS DEL ENSAMBLADOR MPASM. 1.- Directivas para carga o reserva en la Memoria de Programa DIRECTIVAS DEL ENSAMBLADOR MPASM 1.- Directivas para carga o reserva en la Memoria de Programa DATA Inicializa una o más palabras de la memoria de programa con datos o tiras de caracteres DATA 0x012, 0x1345

Más detalles

2.1. Código ASM de Programación para el PIC

2.1. Código ASM de Programación para el PIC 2.1. Código ASM de Programación para el PIC PROGRAMA PARA MOVER UNA ARAÑA SEGUN 3 POSICIONES DE LUZ, CON ESTO SE PUEDE HACER QUE CON ALGUNA COMBINACION AVANCE, SE DETENGA, GIRE ALA IZQUIERDA, GIRE A LA

Más detalles

;<<<<<< VECTOR DE INTERRUPCION >>>>>>>

;<<<<<< VECTOR DE INTERRUPCION >>>>>>> Apéndice B Programa en Ensamblador para el PIC 16F877 de Microchip Corp. ;***********************************UDLAP************************** ; PROGRAMA : com232.asm ; Función : Establece la rutina de los

Más detalles

CODIGO EN ASSEMBLER ;************************************************************************

CODIGO EN ASSEMBLER ;************************************************************************ RECEPTOR CODIGO EN ASSEMBLER ;************************************************************************ list p=16f84a ;selecion de pic radix hex ; codigo hex pc equ 02h status equ 03h portb equ 06h PORTA

Más detalles

CARRITO SEGUIDOR DE LÍNEA NEGRA

CARRITO SEGUIDOR DE LÍNEA NEGRA UNIVERSIDAD DE IBAGUÉ PROGRAMA INGENIERÍA ELECTRÓNICA LABORATORIO DE ELECTRÓNICA DIGITAL III Colombia, 18 de mayo de 2009 LUIS LEONARDO RIVERA ABAÚNZA 24 2004 2025 CARRITO SEGUIDOR DE LÍNEA NEGRA RESUMEN:

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

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

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

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

UNIDAD IV PROGRAMACION. Programación del microcontrolador

UNIDAD IV PROGRAMACION. Programación del microcontrolador UNIDAD IV PROGRAMACION Programación del microcontrolador Para grabar la memoria de programa el microcontrolador debe llevarse a un modo especial de trabajo suministrando 13.5V a la línea MCLR y el voltaje

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

DESCRIPCIÓN DE LAS INSTRUCCIONES

DESCRIPCIÓN DE LAS INSTRUCCIONES Todas las instrucciones del PIC cumplen las siguientes condiciones: Las instrucciones son simples y rápidas. Todas tienen un tiempo de ejecución de un ciclo de instrucción (cuatro ciclos de reloj) a excepción

Más detalles

Diagrama a bloques 2

Diagrama a bloques 2 Arquitectura 1 Diagrama a bloques 2 Diagrama a bloques 3 Diagrama a bloques 4 Diagrama a bloques 5 Unidad aritmética-lógica La unidad Aritmética Lógica se encarga de realizar las operaciones Suma, Resta,

Más detalles

Fteórica- OSC2. Fmedida- OSC2

Fteórica- OSC2. Fmedida- OSC2 EjercicioPic_0_a.- Si tenemos un cristal de cuarzo de 4MHZ y condensadores de 22pF, monta el siguiente circuito en tu placa Aristón. Comprueba con un osciloscopio y dibuja la señal que te sale en OSC2

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

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

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

Proyecto de Transmisión de Datos utilizando Tarjetas Híbridas

Proyecto de Transmisión de Datos utilizando Tarjetas Híbridas Proyecto de Transmisión de Datos utilizando Tarjetas Híbridas Emisor SAW para Datos 433,92 MHz. ( CEBEK C-0503 ) Receptor SAW para Datos 433,92 MHz. ( CEBEK C-0504 ) Profesor: Pedro Alonso Sanz Centro:

Más detalles

PIC MICRO ESTUDIO Temporizador con el 16F872 Guía de Uso

PIC MICRO ESTUDIO Temporizador con el 16F872  Guía de Uso PIC MICRO ESTUDIO Temporizador con el 16F872 www.electronicaestudio.com Guía de Uso Temporizador con el PIC16F872 Los temporizadores los encontramos en muchos lugares de nuestra vida diaria, generalmente

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

UNIVERSIDAD DON BOSCO

UNIVERSIDAD DON BOSCO CICLO 02 2013 UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS COORDINACIÓN DE ELECTRÓNICA GUÍA DE LABORATORIO Nº 03 ASIGNATURA: Control Digital NOMBRE DE LA PRACTICA: Configuración de los Puertos

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

Ciclo Formativo de Grado Superior de Desarrollo de Productos Electrónicos

Ciclo Formativo de Grado Superior de Desarrollo de Productos Electrónicos Ciclo Formativo de Grado Superior de Desarrollo de Productos Electrónicos Módulo: Desarrollo de Proyectos. Proyecto: Hexápodo 1 Profesor: Pedro Alonso Sanz Instituto: I.E.S. Joan Miró Localidad: San Sebastián

Más detalles

LABORATORIO Nº 4 TEMPORIZADOR Y CONTADOR DEL PIC 16F84. a) Introducir al alumno en el estudio, programación y diseño de temporizadores y contadores-

LABORATORIO Nº 4 TEMPORIZADOR Y CONTADOR DEL PIC 16F84. a) Introducir al alumno en el estudio, programación y diseño de temporizadores y contadores- 1.- Objetivo LABORATORIO Nº 4 TEMPORIZADOR Y CONTADOR DEL PIC 16F84 a) Introducir al alumno en el estudio, programación y diseño de temporizadores y contadores- 2.- Fundamento teórico La figura que sigue

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

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

;*****************************************PROGRAMA*******************************************

;*****************************************PROGRAMA******************************************* 176 ;*****************************************PROGRAMA******************************************* LIST p=16f628a ; Procesador utilizado INCLUDE "P16F628A.INC" ; Definición de los registros del Pic CONFIG

Más detalles

Justificación. Objetivo. Material. Desarrollo

Justificación. Objetivo. Material. Desarrollo Justificación Hoy en día los microcontroladores son muy implementados para realizar tareas de control, ya que con su arquitectura, se pueden desarrollar tareas no tan complejas, tan es así que se puede

Más detalles

Microprocesadores I - Unidad 5 Hoja 1 de 11. Año Javier Rambaldo Profesor de la cátedra de Microprocesadores I

Microprocesadores I - Unidad 5 Hoja 1 de 11. Año Javier Rambaldo Profesor de la cátedra de Microprocesadores I Microprocesadores I - Unidad 5 Hoja 1 de 11 Año 2003 Profesor de la cátedra de Microprocesadores I Unidad 5: Interrupciones en el 16F84. Rutina de servicio. Registros. Distintas formas de activar una interrupción.

Más detalles

Sistemas con Microprocesadores I

Sistemas con Microprocesadores I Sistemas con Microprocesadores I 1 El ambiente de desarrollo MPLAB IDE El Entorno MPLAB IDE Creando código de usuario Creando un Proyecto Selección del Dispositivo y ventana de salida Selección de herramientas

Más detalles

TUTORIAL II parte A. Observemos el diagrama de pines del microcontrolador 16F877A:

TUTORIAL II parte A. Observemos el diagrama de pines del microcontrolador 16F877A: 1 TUTORIAL II parte A OBJETIVOS Conocer el manejo de puertos del microcontrolador 16F877A, registros TRIS y PORT. Familiarizarse con las principales instrucciones del lenguaje y la estructura de un programa

Más detalles

P R Á C T I C A 7 SENSADO DE TEMPERATURA CON INTERFAZ PIC - PC O B J E T I V O I N T R O D U C C I O N

P R Á C T I C A 7 SENSADO DE TEMPERATURA CON INTERFAZ PIC - PC O B J E T I V O I N T R O D U C C I O N P R Á C T I C A 7 SENSADO DE TEMPERATURA CON INTERFAZ PIC - PC O B J E T I V O Teniendo como base las dos prácticas anteriores, realizar un programa que permita acceder la lectura de la temperatura en

Más detalles

ATE-UNIOVI ATE-UNIOVI ATE-UNIOVI ATE-UNIOVI

ATE-UNIOVI ATE-UNIOVI ATE-UNIOVI ATE-UNIOVI 1 Temporizaciones: En la mayor parte de los programas, resulta necesario controlar el tiempo que tardan en ejecutarse algunas acciones o bien establecer una duración determinada para un estado del sistema

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

Guía #2 Acceso a registros y uso de puertos.

Guía #2 Acceso a registros y uso de puertos. Curso de microcontroladores PIC. Guía # 2 1 Guía #2 Acceso a registros y uso de puertos. Distribución de la memoria. Todo microcontrolador cuenta con periféricos para comunicarse con el mundo exterior,

Más detalles

Electromecánica Industrial. Mecatrónica. Diseño y Construcción de Control de Horno para Tostador de Café

Electromecánica Industrial. Mecatrónica. Diseño y Construcción de Control de Horno para Tostador de Café Electromecánica Industrial Mecatrónica Resumen Prototipo: Diseño y Construcción de Control de Horno para Tostador de Café Autores: T.S. U. Alejandro Díaz Domínguez M. en C. Juan Marcelo Miranda Gómez Revisores:

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

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

Tema: Comunicación serie entre PIC y PC.

Tema: Comunicación serie entre PIC y PC. 1 Facultad: Ingeniería Escuela: Electrónica Asignatura: Microcontroladores Lugar de ejecución: Laboratorio de microprocesadores, Edif. 3 Electrónica. Tema: Comunicación serie entre PIC y PC. Objetivo general

Más detalles

Figura 1 Diversos microcontroladores PIC.

Figura 1 Diversos microcontroladores PIC. CAPÍTULO I. RUTINAS BÁSICAS 1.1 CONFIGURACIÓN DE LOS PUERTOS COMO ENTRADA O SALIDA El primer ejercicio que se realiza con un microcontrolador es la de leer o escribir datos discretos (digitales) a través

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

Tema: Introducción al MPLAB y uso de puertos I/O en un microcontrolador PIC.

Tema: Introducción al MPLAB y uso de puertos I/O en un microcontrolador PIC. 1 Facultad: Ingeniería Escuela: Electrónica Asignatura: Microcontroladores Lugar de ejecución: Laboratorio de microprocesadores, Edif. 3 Electrónica. Tema: Introducción al MPLAB y uso de puertos I/O en

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

UNIVERSIDAD AUTÓNOMA METROPOLITANA UNIDAD IZTAPALAPA. Ciencias Básicas e Ingeniería

UNIVERSIDAD AUTÓNOMA METROPOLITANA UNIDAD IZTAPALAPA. Ciencias Básicas e Ingeniería UNIVERSIDAD AUTÓNOMA METROPOLITANA UNIDAD IZTAPALAPA Ciencias Básicas e Ingeniería Desarrollo de un metrónomo digital basado en el microcontrolador PIC16F873 Ingeniería Biomédica Jorge Isaac Córdova Castillo

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

6. CONTROL DEL DS1802 A TRAVÉS DE PIC

6. CONTROL DEL DS1802 A TRAVÉS DE PIC 6. CONTROL DEL DS1802 A TRAVÉS DE PIC 6.1. Microcontrolador PIC 16F819. Los microcontroladores PIC de Microchip forman una familia extensísima de circuitos controladores de propósito general, teniendo

Más detalles

REGISTRO DE TEMPERATURA USANDO EL MICROCONTROLADOR PIC16C71. José González Flórez *, Eusebio García García ** Abstract

REGISTRO DE TEMPERATURA USANDO EL MICROCONTROLADOR PIC16C71. José González Flórez *, Eusebio García García ** Abstract UNIVERSIDAD PEDAGOGICA NACIONAL REGISTRO DE TEMPERATURA USANDO EL MICROCONTROLADOR PIC16C71 José González Flórez *, Eusebio García García ** Abstract A digital measurement temperature employs the PIC 16C71

Más detalles

INFORMÁTICA INDUSTRIAL. 3º INGENIERÍA TÉCNICA INDUSTRIAL. ESPECIALIDAD ELECTRÓNICA BOLETÍN 2. CURSO 2003/04

INFORMÁTICA INDUSTRIAL. 3º INGENIERÍA TÉCNICA INDUSTRIAL. ESPECIALIDAD ELECTRÓNICA BOLETÍN 2. CURSO 2003/04 INFORMÁTICA INDUSTRIAL. 3º INGENIERÍA TÉCNICA INDUSTRIAL. ESPECIALIDAD ELECTRÓNICA BOLETÍN 2. CURSO 2003/04 1. Dado un decodificador de dos entradas (DEC 2:4), dar la descripción estructural, la descripción

Más detalles

; Valores de constantes:

; Valores de constantes: LIST P=PIC16F84A #INCLUDE ; Pic a usar ; Lista de etiquetas de microchip ; Configuración opciones de hardware para la programación CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF & _XT_OSC ; Valores

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

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

; Valores de constantes:

; Valores de constantes: LIST P=PIC16F84A #INCLUDE ; Pic a usar ; Lista de etiquetas de microchip ; Configuración opciones de hardware para la programación CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF & _XT_OSC ; Valores

Más detalles

Define condiciones de parada (Conditional Breaks), es decir, valores de variables o pines (E/S) ante las que parar si se producen.

Define condiciones de parada (Conditional Breaks), es decir, valores de variables o pines (E/S) ante las que parar si se producen. Modificado por Luis Frino www.frino.com.ar Fuente www.micro1.com.ar directamente (por su número) o a través de su nombre (mnemotécnico definido en el ensamblador, como lo es en el ejemplo OPERANDO1). Es

Más detalles

Pantallas de Cristal Líquido

Pantallas de Cristal Líquido Pantallas de Cristal Líquido A diferencia de los display de 7 segmentos, las pantallas LCD tienen la capacidad de mostrar caracteres alfanuméricos. Consta de una matriz de caracteres (5X7 puntos) distribuidos

Más detalles