descd

7
EJERCICIOS Capítulo 11 PRIMERO.ASM Suma de dos posiciones de memoria PRIMERO2.ASM Suma de dos posiciones de memoria optimizada PRIMERO3.ASM Segunda optimización PRIMERO.C Suma de dos posiciones de memoria programada en C SEGUNDO.ASM Lee el número binario introducido mediante 3 interruptores conectados a la puerta A, luego suma 2 unidades a ese valor y visualiza el resultado mediante 4 diodos led conectados a la puerta B. SEGUNDO.C Lo mismo que SEGUNDO.ASM programado en C TERCERO.ASM Muestra por cinco diodos led en la puerta B la entrada que proporcionan cinco interruptores en la puerta A. TERCERO.C Lo mismo programado en C. CUARTO.ASM Cuenta desde 0 hasta 0x5f CUARTO2.ASM Lo mismo con un bucle de retardo CUARTO2A.ASM Mejora de CUARTO2.ASM con un segundo bucle de retardo anidado CUARTO.C Lo mismo que CUARTO.ASM programado en C QUINTO.ASM Ejemplo de temporización. QUINTO2.ASM Ejemplo de temporización. QUINTO3.ASM Máxima temporización posible utilizando prescaler y TIMER0.

description

open

Transcript of descd

Page 1: descd

EJERCICIOS

Capítulo 11

PRIMERO.ASM Suma de dos posiciones de memoria

PRIMERO2.ASM Suma de dos posiciones de memoria optimizada

PRIMERO3.ASMSegunda optimización

PRIMERO.CSuma de dos posiciones de memoria programada en C

SEGUNDO.ASMLee el número binario introducido mediante 3 interruptores conectados a la puerta A, luego suma 2 unidades a ese valor y visualiza el resultado mediante 4 diodos led conectados a la puerta B.

SEGUNDO.C Lo mismo que SEGUNDO.ASM programado en C

TERCERO.ASM Muestra por cinco diodos led en la puerta B la entrada que proporcionan cinco interruptores en la puerta A.

TERCERO.C Lo mismo programado en C.

CUARTO.ASM Cuenta desde 0 hasta 0x5f

CUARTO2.ASM Lo mismo con un bucle de retardo

CUARTO2A.ASM Mejora de CUARTO2.ASM con un segundo bucle de retardo anidado

CUARTO.C Lo mismo que CUARTO.ASM programado en C

QUINTO.ASM Ejemplo de temporización.

QUINTO2.ASM Ejemplo de temporización.

QUINTO3.ASM Máxima temporización posible utilizando prescaler y TIMER0.

QUINTO4.ASM Máxima temporización posible utilizando prescaler y TIMER0 para el Micro PIC Trainer.

QUINTO5.ASM Temporización de 1 segundo utilizando un bucle secundario.

QUINTO.C Temporización programada en C.

SEXTO.ASM Refleja el estado de dos interruptores situados en RA0 y RA1 en RB0 y RB1 mientras hace parpadear un diodo en la línea RB7.

SEXTO.C Igual que SEXTO.ASM pero programado en C.

Page 2: descd

ALARMA.ASM Alarma para coches.

SEPTIMO.ASM Muestra un número en un display de siete segmentos.

SEPTIMO2.ASM Cuenta del 0 a un número introducido por la puerta A en un display de siete segmentos.

SEPTIMO.C Muestra un número en un display de siete segmentos. Programado en C.

Capítulo 12

Práctica 1Leer el estado de los 5 interruptores E0-E4 conectados a RA0-RA4 y reflejar el nivel lógico de los mismos sobre los leds S0-S4 conectados en RB0-RB4.

Práctica 2Una lámpara conectada en RB0 se controla mediante dos interruptores conectados en RA0 y RA1. Cuando cualquiera de los interruptores cambie de estado, la lámpara también lo hará.

Práctica 3Según el estado de los interruptores RA0 y RA1, activar los leds RB0-RB7 conectados a la puerta B, conforme a la siguiente tabla de la verdad:

RA1 RA0 RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB00 0 1 0 1 0 1 0 1 00 1 0 1 0 1 0 1 0 11 0 0 0 0 0 1 1 1 11 1 1 1 1 1 0 0 0 0

Práctica 4Programa secuencial; mediante dos pulsadores conectados en RA0 y RA1 se controla la salida RB0 que gobierna un zumbador de alarma. Una transición a "1" en RA0 provoca su activación, una transición en RA0 su desactivación.

Práctica 5Empleando el TMR0; juego de luces. El programa activa secuencialmente, de una en una, las ocho salidas de la puerta B (RB0-RB7), provocando un efecto de desplazamiento de dcha. a izda. Cada salida se mantiene activada durante un intervalo de 0.1" (100mS). Dicho intervalo se controla mediante el TMR0. El TMR0 se carga con el valor 195 y, trabajando a 4MHz, evoluciona cada 1 uS.

Page 3: descd

Como a su vez se le asocia un preescaler de 256, el desbordamiento se producirá al de 49.9 ms

Práctica 6Usando el preescaler, más juego de luces. El programa activa secuencialmente, de una en una, las ocho salidas de la puerta B (RB0-RB7),provocando un efecto de desplazamiento de dcha. a izda. Cada salida se mantiene activada durante un intervalo de tiempo variable en función de las entradas RA0-RA2, que seleccionan los 8 valores posibles del preescaler comprendidos entre 1:2 y 1:256.

Práctica 7

El modo "sleep" y el "wake-up" (despertar) mediante el watch-dog Timer (WDT). Este ejemplo pretende mostrar el empleo de la instrucción SLEEP para poner al PIC en el modo standby de bajo consumo. El despertar del mismo se producirá cada vez que el WDT rebase. En ese momento se producirá un incremento del valor de la puerta B que actuará como contador binario y nuevamente se volverá a la situación de standby.

Práctica 8El modo TMR0 como contador de eventos externos. El ejemplo pretende mostrar el funcionamiento del TMR0 en el modo contador. Mediante las entradas RA0-RA3 se introduce el número de pulsos a contar. Por RA4 se aplican dichos pulsos Cuando se alcance el valor deseado se disparan dos salidas durante un tiempo. La salida RB1 se utiliza para desconectar la fuente de entrada de pulsos y RB0 para activar cualquier otro dispositivo (p.e. un relé, en led, etc.).

Práctica 9La interrupción del TMR0. Se trata de comprobar la interrupción provocada por el TMR0. El programa lee constantemente el estado de los interruptores conectados a RA0 y RA1 para reflejarlo en los leds conectados a RB0 y RB1 respectivamente. Al mismo tiempo el TMR0 genera una interrupción cada 0.05 seg. (50 mS) que se repetirá 5 veces con objeto de hacer intermitencia de 250 mS sobre el led conectado a RB7.

Práctica 10Otras interrupciones. Los dispositivos PIC pueden provocar interrupción por otras dos causas diferentes además de por la del TMR0. Una de ellas es por la detección de una señal de un determinado flanco por la entrada RB0/INT. La otra es por el cambio de estado lógico producido en cualquiera de las líneas de entrada RB4-RB7.El ejemplo pretende mostrar la detección y tratamiento de cada una de estas nuevas fuentes de interrupción. Cuando se produce la interrupción RB0/INT se activa la salida RA0 durante 1". Cuando se

Page 4: descd

produce la interrupción por cambio de estado en RB4-RB7 se activa la salida RA1 durante 1".

Apéndice F

Proyectos Básicos

Básico 1: “CONTROL DE UN DISPOSITIVO DESDE DOS PUNTOS”

Básico 2: "SEMÁFORO PROGRAMABLE"

Básico 3: "DADO ELECTRÓNICO"

Básico 4: "TEMPORIZADOR PROGRAMABLE"

Básico 5: "ALARMA"

Proyectos Típicos

Típico 1: "TECLADO MUSICAL"

Típico 2: "MENSAJE DE BIENVENIDA SOBRE LCD"

Típico 3: "ESCRITURA DE MENSAJES DE TECLADO SOBRE LCD"

SOFTWARE

MPLAB

El MPLAB es un entorno de desarrollo integrado que le permite escribir y codificar los microcontroladores PIC de Microchip para ejecutarlos. El MPLAB incluye un editor de texto, funciones para el manejo de proyectos, un simulador interno y una variedad de herramientas que lo ayudarán a mantener y ejecutar su aplicación. También provee una interfase de usuario para todos los productos con lenguaje Microchip, programadores de dispositivos, sistemas emuladores y herramientas de tercer orden. Es un software gratuito y puede descargarse libremente la última actualización desde la página oficial de Microchip http://www.microchip.com.

SIM2000

Sim2000 es un proyecto desarrollado por D. Pablo Martínez García y D. José Hernández Villaón , alumnos de la UPCT y dirigido por D. Manuel Sánchez Alonso. Se desarrolló como alternativa a los entornos de programación y simulación existentes en la actualidad para microcontroladores PIC 16F84.

Page 5: descd

Incorpora una opción de simulación con la placa MicroPic’Trainer que permite simular los programas en dicha placa a través del entorno del programa, como si tuviéramos la placa delante nuestra.

MPASM

Es el ensamblador oficial de Microchip, soporta todos los modelos de PIC existentes en el mercado y existe en versión MSDOS (MPASM.EXE) o en versión Windows (MPASMWIN.EXE). Es un software gratuito y puede descargarse libremente la última actualización desde la página oficial de Microchip http://www.microchip.com. El MPASM no necesita instalación, es suficiente con copiar todos los archivos contenidos en su carpeta al disco duro o ejecutarlo directamente desde el cdrom.

PICME-TR

Software de conexión al PC para el sistema de desarrollo MicroPic´Trainer. De Ingeniería de Microsistemas Programados S.L. Soporta gran variedad de microcontroladores PIC. No necesita instalación, funciona bajo sistema operativo MSDOS. Es un software libre que puede ser descargado desde la página oficial de Ingeniería de Microsistemas Programados S.L. http://www.microcontroladores.com .

WINPICME-TR

Software de conexión al PC para el sistema de desarrollo MicroPic´Trainer. actualmente solo soporta el microcontrolador PIC16F84, pero periódicamente se le irán añadiendo nuevos modelos. No necesita instalación, funciona bajo los sistemas operativos Windows 95, 98, Me , NT, 2000 y XP. Es un software libre que puede ser descargado desde la página oficial de Ingeniería de Microsistemas Programados S.L. http://www.microcontroladores.com .

QUICKTIME PLAYER 3.0

El reproductor gratuito QuickTime Player es una aplicación fácil de usar para reproducir, interactuar y ver cualquier vídeo, audio, realidad virtual o archivo de gráficos compatible con QuickTime. Es necesario tenerlo instalado para poder ver los diferentes tutoriales multimedia contenidos en el CDROM.

STAMP EDITOR

El PBASIC Stamp EDITOR, permite comunicarnos con nuestro módulo BASIC STAMP2 y grabar su memoria millones de veces, además contiene un cómodo editor para introducir el programa que posteriormente será ejecutado por el BASIC STAMP 2 y un sencillo depurador. Existe en versiones Windows y MSDOS, esta última no necesita ser instalada aunque cuenta con menos opciones que la anterior.