PRACTICA 4. REALIZAR ENCENDIDO-APAGADO DE DIODOS LED

Documentos relacionados
MICROCONTROLADORES (III)

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

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

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

DESCRIPCIÓN DE LAS INSTRUCCIONES

Registros SFR vistos hasta ahora: Microcontroladores PIC

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

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

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

[CURSO BÁSICO DE PIC TABLAS]

Diagrama a bloques 2

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

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

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

Practica de PIC 16F84

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

SISTEMA MÍNIMO BASADO EN EL PIC16F84

PRÁCTICA 6: Gobierno del display 7 segmentos

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

ARQUITECTURA DEL PIC16F84A

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

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

[CURSO BÁSICO DE PIC RETARDOS POR SOFTWARE]

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

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.

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

Microcontrolador PIC16F84: Arquitectura

Software para el modulo 5i-5or

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

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

Características generales

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

PROCESADORES I Guia TP7 Introducción al Assembler del PIC

Microcontrolador PIC 16F84

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

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

SISTEMAS ELECTRONICOS DIGITALES DIRECCIONAMIENTO DE REGISTROS

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

DALCAME

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

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

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

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

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

Figura 1 Diversos microcontroladores PIC.

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

GAMA BAJA (PIC16C5X) ARQUITECTURA BÁSICA

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

Programación en PIC Los primeros pasos

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

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

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

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

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

ORGANIZACIÓN INTERNA + INTRODUCCIÓN AL ENSAMBLADOR

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

6. CONTROL DEL DS1802 A TRAVÉS DE PIC

PIC MICRO ESTUDIO Reloj en tiempo real RTCU2 Clave: 719

UNIDAD IV PROGRAMACION. Programación del microcontrolador

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

Lenguaje Ensamblador sobre PIC 16F84

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

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

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

Programa del PIC 16F877A

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

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

Indice General: :: Microcontroladores PIC - Parte IV - Trabajando con Display's y Tablas. Microcontroladores - Parte IV - Manejo de Tablas y Display's

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

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

Tema 11. Introducción a los Microprocesadores y Microcontroladores

Fteórica- OSC2. Fmedida- OSC2

Entrenadores de Microcontroladores PIC

CARRITO SEGUIDOR DE LÍNEA NEGRA

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

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

Sistema de seguridad con emisión de mensaje SMS

CONEXIÓN DE UNA PANTALLA LCD A UN MICROCONTROLADOR

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

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

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

Manejo LCD Gráfico DSM

Termostato electrónico con PIC y LCD

1.- INTRODUCCIÓN AL PIC16F84

RECURSOS FUNDAMENTALES

MICROCONTROLADOR PIC DE MICROCHIP

INSTRUCCIONES DE ENSAMBLADOR

Programación de Microcontroladores Parte II / TEN. Noguera Guillermo Sebastián Nuestros primeros programas en Assembler para PICs

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

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

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

Control de avance al encendido

MICROCONTROLADOR PIC DE MICROCHIP

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS COORDINACIÓN DE ELECTRÓNICA GUÍA DE LABORATORIO Nº 02

Set de instrucciones Microcontrolador PIC.

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

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

Practica 1: It s alive!

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

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

Transcripción:

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 B. Entre encendido y apagado llamaremos a una rutina de retardo. ORDINOGRAMA.

SUBRUTINAS. La mayoría de los microcontroladores incluyen en su repertorio de instrucciones algunas que permiten saltar a una rutina y, cuando se complementa su ejecución, retornar al programa principal El empleo de subrutinas aporta muchas ventajas entre las que se destacan las siguientes: 1. Se pueden escribir como subrutinas secciones de código y ser empleadas en muchos programas ( por ejemplo, la subrutina de exploración de un teclado ). 2. Dan a los programas un carácter modular, es decir, se pueden codificar diferentes módulos para usarlos en cualquier programa. 3. Se reduce notablemente el tiempo de programación, la detección de errores, usando repetidamente una subrutina. 4. El código es más fácil de interpretar, dado que las instrucciones de las subrutinas no aparecen en el programa principal. Solo figuran las llamadas CALLs. INSTRUCCIONES CALL Y. La instrucción CALL ( llamada la subrutina) consigue que la ejecución del programa continúe en la dirección donde se encuentra la subrutina a la que hace referencia. Es similar a GOTO pero coloca en la pila la dirección de la siguiente instrucción que se debe ejecutar después de la CALL. La subrutina finaliza con la instrucción (Retorno de la subrutina) que retoma la dirección guardada en le pila y la coloca en el contador del programa PC continuando el flujo de control con la instrucción que sigue a la CALL. En la familia PIC de gama media la pila tiene ocho niveles de memoria del tipo FIFO (primero en entrar, último en salir). Si se produce la llamada a una subrutina durante la ejecución de otra subrutina, la dirección de retorno de esta segunda es colocada en la cima de la pila sobre la dirección anterior. Esta segunda dirección es la primera en salir de la pila mediante la instrucción. Con la pila de ocho niveles, una subrutina puede llamar a otra y ésta, a su vez, llamar a otra hasta un máximo de ocho. La gama baja sólo puede realizar dos llamadas de este tipo al poseer una pila de sólo dos niveles.

Gama baja Las subrutinas deben colocarse al comienzo de las páginas debido a que el bit 8 del contador del programa es puesto a 0 por la instrucción CALL (o por cualquier instrucción que modifica el PC). Las subrutinas deben colocarse en la mitad inicial de las páginas (las 256 palabras) Gama media. En las instrucciones de salto relativo, el resultado de la misma afecta solo a los 8 bits de menos peso del PC. Los 5 bits de mas peso se suministran desde PCLATH<4:0>. En las instrucciones GOTO y CALL los 11 bits de menos peso del PC se suministran desde el código OP. Los dos bits de mas peso del PC se cargan con los bits <4:3> del registro PCLATH. Como la memoria de programa se organiza en paginas de 2k, la posición la seleccionan los 11 bits de menos peso, mientras que con los 2 bits de mas peso del PC se elige la pagina. Rutina de retardo Empleamos como retardo una rutina basada en el tiempo que se tarda en ejecutar una instrucción. El código empleado es el siguiente: retardos DECFSZ cont1,f ;decrementamos cont1, si es 0 saltamos GOTO retardos ;sino volvemos a bucles DECFSZ cont2,f ;igual pero con cont2 GOTO retardos ; DECFSZ uno,f GOTO retardos END En primer lugar hacemos un bucle decrementando el registro cont1, una vez llegado a 0 salta y decrementamos el cont2, y vuelve al primer bucle. Con el tercero pasa igual, por lo tanto repetiremos el bucle primero tantas veces como valga cont2 y los dos anteriores tantas como valga uno. Por lo tanto hay que tener en cuenta que cada instrucción dura 1µS y las de salto duran 2 µs para calcular el tiempo que dura la rutina de retardo. Cargando el valor de uno con 1 son aproximadamente 0,2 µs.

LISTADO DEL PROGRAMA FUENTE ; encendido alternativo de los ocho diodos led LIST P=PIC16F84 LIST C=132 #DEFINE banco1 BSF 0x03,5 #DEFINE banco0 BCF 0x03,5 ;DECLARACION REGISTROS Y VARIABLES porta EQU 0x05 portb EQU 0x06 trisa EQU 0x5 trisb EQU 0x6 status EQU 0x03 cont1 EQU 0xc cont2 EQU 0dh uno EQU 0xe w EQU 0 f EQU 1 ORG 0 GOTO inicio ; salvamos el vector de interrupción ORG 5 inicio banco1 ; seleccionamos banco 1 de registros CLRF trisb ; ponemos trisb a 0, puerta B como salidas MOVLW 0x1f MOVWF trisa ;ponemos a como entradas banco0 ; seleccionamos banco 0 principal CLRF portb ; ponemos todas las salidas a 0 CALL poner_a CALL retardos MOVLW 0xff MOVWF portb ; CALL poner_a CALL retardos GOTO principal poner_a MOVLW 0xff ;MOVEMOS FF A W Y cargamos MOVWF cont1 ;cont1 y cont2 con ff

MOVWF cont2 ; MOVLW 0x1 ; MOVWF uno ;igual ; RUTINA DE RETARDO DE VALOR APROX. 0,2 * valor de variable uno retardos DECFSZ cont1,f ;decrementamos cont1, si es 0 saltamos GOTO retardos ;sino volvemos a bucles DECFSZ cont2,f ;igual pero con cont2 GOTO retardos ; DECFSZ uno,f GOTO retardos END Utilizamos la directiva define para cambiar de banco de registros.