Vous êtes sur la page 1sur 13

COMPONENTES ELECTRNICOS -- ENUNCIADOS DE EJERCICIOS

EJERCICIO 6.1 Escribir un programa que sume dos valores inmediatos (p.e. los decimales 12 y 7) EJERCICIO 6.2 Escribir un programa que resuelva la ecuacin: (A + B) - C EJERCICIO 6.3 Escribir un programa que sume dos nmeros de 16 bits A y B. EJERCICIO 6.4 Escribir un programa que reste dos nmeros, A - B, de 16 bits cada uno. EJERCICIO 6.5 Escribir un programa que compare dos nmeros A y B. Si son iguales, el resultado debe ser 0. Si A > B, el resultado debe ser la diferencia A - B, y si A < B el resultado debe ser la suma A + B. EJERCICIO 6.6 Escribir un programa para almacenar el valor 33 en 15 posiciones contiguas de la memoria de datos, empezando en la direccin 0x30 EJERCICIO 6.7 Escribir un programa que convierta un nmero de 8 bits, escrito en binario natural, en su equivalente en BCD.

EJERCICIO 6.8 Escribir un programa que convierta un nmero de 4 bits escrito en binario natural en su equivalente en cdigo Gray.

EJERCICIO 7.1 Escribir un programa que lea y obtenga en dos de los LEDs conectados al puerto B, el estado lgico que presentan los pulsadores conectados a los terminales RA4 y RB0, como indica la figura:

EJERCICIO 7.2 Escribir un programa que cuente el nmero de veces que se puls la tecla conectada al terminal RA4 y que saque ese valor en binario natural por el Puerto

COMPONENTES ELECTRNICOS -- ENUNCIADOS DE EJERCICIOS

B. Este ejercicio se realizar como prctica de laboratorio con el hardware ICD-2, por tanto, slo se utilizarn los bits RB0 a RB3 que son los que tienen conectados diodos LED para su observacin. Como consecuencia, el contador es de 4 bits: de 0 a 15.El esquema que tenemos en la placa ICD-2 es:

EJERCICIO 7.3 Escribir un programa que, dependiendo del estado de dos interruptores conectados a RA4 y RB0, presente en el puerto D diferentes funciones lgicas cuya tabla de verdad es: RA4 RB0 RD7 RD6 RD5 RD4 RD3 RD2 RD1 RD0 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0

EJERCICIO 8.1 Se desea generar un dado electrnico basado en un MCU PIC. Para ello se conecta un display de 7 segmentos de ctodo comn a los terminales del puerto D de un PIC 16F877A, como indica la figura. El oscilador es de cristal de 4 MHz. Escribir un programa que active el dado al apretar un pulsador conectado a RA4 y que ilumine un nmero aleatorio al apretar un pulsador conectado a RB0.

ndice

COMPONENTES ELECTRNICOS -- ENUNCIADOS DE EJERCICIOS

EJERCICIO 8.2 Escribir un programa que ilumine los LEDs conectados al puerto D segn las siguientes especificaciones: - Inicialmente aparecen parpadeando los LED; si se aprieta un pulsador conectado a la patilla RA4 se produce un desplazamiento de derecha a izquierda o de izquierda a derecha en funcin de las veces que se pulse RA4. Dicho desplazamiento debe comenzar al soltar el pulsador. - En todo momento, en el instante en que se aprieta el pulsador conectado a la patilla RB0, se pasa al parpadeo inicial. La frecuencia del oscilador es de 4 MHz.

EJERCICIO 8.3 Obtener el cdigo de la tecla que se pulsa en un teclado estndar conectado al puerto B de un microcontrolador PIC 16F873, como indica la figura.

EJERCICIO 8.4 Se desea que al apretar el pulsador conectado a RA4 parpadeen los 8 LEDs conectados en ctodo comn a los 8 terminales del puerto D de un microcontrolador PIC 16F877A (ver figura). Dicho parpadeo debe de interrumpirse durante unos instantes si se aprieta el pulsador conectado al terminal RB0. Inicialmente, los LEDs estn apagados. El oscilador es de 4MHz.

COMPONENTES ELECTRNICOS -- ENUNCIADOS DE EJERCICIOS

EJERCICIO 9.1 Escribir un programa que realice un parpadeo de 160 ms en el encendido/apagado de ocho LEDs conectados en ctodo comn al Puerto D de un microcontrolador PIC 16F877A operando en modo XT con un oscilador de 4 MHz.

EJERCICIO 9.2 Debido a un accidente de circulacin se han colocado cuatro seales luminosas a cada lado de la calzada para que sirvan de advertencia a los conductores que circulan por esa ruta (ver figura). El control del encendido/apagado se realiza mediante un microcontrolador PIC 16F877A y unos drivers conectados a los terminales del puerto D, como indica la figura. El sistema debe arrancar con todas las lmparas apagadas. Al apretar el pulsador conectado a RA4, debe comenzar la siguiente secuencia de luces: L0, L2, L4, L6, L1, L3, L5 y L7, es decir, primero las de la derecha y luego las de la izquierda. Al finalizar la secuencia, el ciclo debe repetirse indefinidamente. El oscilador es XT de 4 MHz y el ciclo completo debe durar (aproximadamente) 1 segundo. No es necesario refrescar el WDT (perro guardin) y, si se utilizan interrupciones, no es necesario salvar registros mientras se atienden.

EJERCICIO 9.3 Una variedad del ejercicio anterior consiste en hacer que las luces se enciendan por parejas y en secuencia, es decir, L0 y L1, despus L2 y L3 apagndose L0 y L1, despus L4 y L5 apagndose L2 y L3, y finalmente L6 y L7 apagndose L4 y L5, para posteriormente repetirse el ciclo. Para dar tiempo a ser observadas, el ciclo de encendido desde que se enciende la pareja L0 - L1 hasta que vuelve a encenderse debe ser de (aproximadamente) 0,5 seg.

COMPONENTES ELECTRNICOS -- ENUNCIADOS DE EJERCICIOS

EJERCICIO 9.4.Una variedad del ejercicio 9.3 es la siguiente: que cuando cada pareja de lmparas se encienda no se apague la anterior. Cuando finalice la temporizacin de L6/L7 (con las otras 6 lmparas tambin encendidas), deben apagarse todas un tiempo y comenzar de nuevo el ciclo. No es necesario refrescar el WDT (perro guardin) y, si se utilizan interrupciones, no es necesario salvar registros mientras se atienden.

EJERCICIO 9.5 Mediante un microcontrolador PIC 16F84 operando en modo RC con un oscilador de 4 MHz, se desea controlar una mquina taladradora con las siguientes especificaciones: - Al apretar el pulsador de arranque conectado al terminal RA0 se inicia el ciclo de funcionamiento con un descenso rpido del taladro. - Cuando la parte inferior del portabrocas activa el sensor conectado al terminal RA2 (pone RA2 a "0"), se activa un rel que hace que la broca gire. Simultneamente el descenso del taladro debe ser lento. - Cuando la parte inferior del portabrocas activa el sensor conectado al terminal RA3 (pone RA3 a "0"), se considera que la pieza est taladrada y el taladro debe subir con rapidez manteniendo el giro de la broca. - Cuando el taladro en su regreso alcanza el final de carrera que est conectado al terminal RA1 (pone RA1 a "0") debe detenerse la subida del taladro y

COMPONENTES ELECTRNICOS -- ENUNCIADOS DE EJERCICIOS

desactivarse el rel del giro de la broca. Adems, debe activarse una seal acstica que avise del fin de la operacin. - El nuevo ciclo comienza al apretarse de nuevo el pulsador de arranque

EJERCICIO 9.6 Para una determinada aplicacin se necesita que los 8 segmentos de un display conectado al puerto D de un microcontrolador PIC 16F877A parpadeen simultneamente con una frecuencia de 1 Hz (aproximadamente), es decir, 0,5 segundos encendidos y 0,5 segundos apagados. El display debe iniciarse apagado y el parpadeo debe comenzar al apretar un pulsador conectado al terminal RA4, como indica la figura. El parpadeo debe detenerse al apretar otro pulsador conectado al terminal RB0 (ver figura). La inicializacin del sistema se consigue mediante otro pulsador conectado a la patilla MCLR (que no se analizar). Escribir un programa en ensamblador que cumpla las especificaciones sabiendo que el oscilador es de tipo XT de frecuencia 4 MHz y que los dos pulsadores no pueden apretarse a la vez. No es necesario refrescar el perro guardin y, si se utilizan interrupciones, no es necesario salvar registros mientras se atienden.

COMPONENTES ELECTRNICOS -- ENUNCIADOS DE EJERCICIOS

EJERCICIO 9.7 Se necesita que al apretar un pulsador conectado al terminal RB0 de un microcontrolador PIC 16F877A, un diodo LED conectado al terminal RD3 parpadee con una frecuencia de 0,1 seg, es decir, 0,1 seg encendido y 0,1 seg apagado. El parpadeo debe detenerse al apretar otro pulsador conectado a RA4. El oscilador es de cristal de cuarzo de 4 MHz.

Se pide: escribir un programa fuente que realice dicha funcin.

EJERCICIO 9.8 Para una determinada aplicacin se necesita un cronmetro que debe medir 3 segundos y que debe operar de la siguiente forma: inicialmente, en el display debe verse el nmero "3". Al apretar el pulsador conectado a RA4, y transcurrido 1 segundo, debe aparecer el nmero "2". Transcurrido otro segundo, debe aparecer el nmero "1" y transcurrido otro segundo el nmero "0". Cuando debera verse un hipottico "-1", el display debe apagarse y quedar dispuesto para un nuevo ciclo. Para realizarlo se utilizar un microcontrolador PIC 16F877A con un oscilador de tipo XT de frecuencia 4 MHz. El display es de ctodo comn, es decir, los segmentos a, b, c,....g se encienden con "1" en los respectivos terminales RD.

EJERCICIO 9.9 Para el circuito de la figura, inicialmente el display debe aparecer apagado. Al apretar el pulsador conectado a RA4 deben ir apareciendo sucesivamente las letras: "H", "O", "L", "A" de forma que cada una de ellas se vea durante un cuarto de segundo (aproximadamente). Tras aparecer la A, deben volver a verse las letras indefinidamente.

COMPONENTES ELECTRNICOS -- ENUNCIADOS DE EJERCICIOS

El oscilador es de cristal y de frecuencia 4 MHz. El display es de ctodo comn (los segmentos a, b, c,....g se encienden con "1" en los terminales RD). Se pide: escribir un programa fuente que cumpla con las especificaciones indicadas.

EJERCICIO 9.10 Se desea gobernar con un microcontrolador PIC 16F877A las luces situadas sobre el techo de una UVI mvil (L0, L1, ... L7). Estas luces estn conectadas a travs de sendos drivers a los terminales del PORTD de forma que L0 est conectada a RD0, L1 est conectada a RD1 y as sucesivamente hasta L7 que est conectada a RD7, como indica la figura. Se pretende que al accionar el pulsador conectado a la patilla RA4 del microcontrolador (ver figura), las luces se activen iluminndose en primer lugar L0 y L4 y una vez transcurridos aproximadamente 0,2 segundos L0 y L4 se apaguen y se iluminen L1 y L5 para que, transcurridos otros 0,2 seg, se apague L1 y L5 y se enciendan L2 y L6. Tras otros 0,2 seg. deben apagarse L2 y L6 y encenderse L3 y L7 de forma que, tras estar otros 0,2 seg. encendidas, el ciclo finaliza y deben encenderse de nuevo L0 y L4. De esa forma se obtiene, mirando desde encima, un efecto visual de movimiento de luz de izquierda a derecha en las luces delanteras y de derecha a izquierda en las traseras. El oscilador es de cristal de cuarzo de 4 MHz.

EJERCICIO 9.11 Se desean controlar con un microcontrolador PIC 16F877A los intermitentes de un automvil (los dos de la derecha conectados a RD0 y RD6 y los dos de la izquierda conectados a RD1 y RD7 a travs de sendos buffers) de forma que el ciclo completo dure 0,5 seg., es decir, aproximadamente 0,25 seg. encendidos y 0,25 seg. apagados. La pareja de intermitentes que est parpadeando en cada momento viene determinada por una seal digital exterior al microcontrolador que est conectada a RA4 de forma que si

COMPONENTES ELECTRNICOS -- ENUNCIADOS DE EJERCICIOS

esa seal es un "1" funcionan los intermitentes de la izquierda y si es "0" los de la derecha. El oscilador es de cristal de cuarzo de 4 MHz.

EJERCICIO 9.12 Se desean controlar con un microcontrolador PIC 16F877A las luces de avera de un automvil (los cuatro intermitentes parpadeando simultneamente) de forma que el ciclo completo dure 1 seg., es decir, aproximadamente 0,5 seg encendidos y 0,5 seg apagados. El parpadeo debe comenzar cuando se apriete un determinado pulsador. El oscilador es de cristal de cuarzo de 4 MHz.

EJERCICIO 9.13 Para una determinada aplicacin es necesario generar un parpadeo de aproximadamente 0,5 seg. (es decir, 0,25 seg. encendido y 0,25 seg. apagado) en un diodo LED conectado al terminal RB3 de un microcontrolador PIC 16F877A, como se puede observar en la figura. Dicho parpadeo debe comenzar al apretar el pulsador conectado al terminal RA4. Una vez comenzado, el pulsador no tiene ningn efecto. El parpadeo se detiene mediante otro pulsador externo conectado al terminal de reset (MCLR) del PIC (no se analizar). La frecuencia del oscilador es de 1 MHz. Se pide: escribir un programa en ensamblador que realice las especificaciones indicadas.

EJERCICIO 9.14 Se desea que cuando se apriete el pulsador conectado a RA4 (ver figura), los LEDs conectados a PORTD, inicialmente apagados, realicen el barrido indicado, es decir, primero enciende el conectado a RD7, tras 20 ms enciende tambin el conectado a RD6, y as sucesivamente hasta encender los 8. Una vez transcurridos otros 20 ms (con todos encendidos) deben comenzar a apagarse sucesivamente, es decir, en primer lugar se apaga el conectado a RD7, tras 20 ms se apaga tambin el conectado a RD6 y as sucesivamente hasta apagarse todos. Transcurridos otros 20 ms, el sistema debe repetir el ciclo si se aprieta de nuevo el pulsador. El oscilador es de 4 MHz.

COMPONENTES ELECTRNICOS -- ENUNCIADOS DE EJERCICIOS

10

Se pide: escribir un programa en ensamblador que realice las secuencias mencionadas. No es necesario refrescar el WDT y, si se utilizan interrupciones, no es necesario salvar registros mientras se atienden.

EJERCICIO 9.15 Se desea que, cuando se apriete el pulsador conectado a RA4, en los LEDs conectados a PORTD se realice un barrido de izquierda a derecha seguido de otro de derecha a izquierda, como indica la figura, estando en cada situacin durante 30 ms. Una vez finalizadas las dos secuencias, el sistema debe quedar listo para repetirlas si se vuelve a apretar el pulsador. El oscilador es de 4 MHz. Inicialmente las luces deben estar apagadas.

Se pide: escribir un programa en ensamblador que realice las secuencias mencionadas. No es necesario refrescar el WDT y, si se utilizan interrupciones, no es necesario salvar registros mientras se atienden.

COMPONENTES ELECTRNICOS -- ENUNCIADOS DE EJERCICIOS

11

EJERCICIO 9.16 El marcador de un polideportivo donde se juega a baloncesto necesita aadir un display de 7 segmentos donde se observe la cuenta descendente de las dcimas de segundo, como indica la figura. Dicho display estar controlado por un PIC 16F877A, cuyo oscilador es de 4 MHz, y se activar cuando la cifra de menos peso de los segundos alcance el valor "0", momento en el cual enva un "0" al terminal RA4 del PIC. Transcurrida una dcima de segundo, debe verse en el display el "9". Transcurrida otra dcima de segundo, el "8" y as sucesivamente. Cuando en el display aparezca el "0", debe permanecer encendido y simultneamente activarse una bocina (indicadora del final del partido) conectada al terminal RD7 durante 1 segundo, transcurrido el cual, el sistema debe quedar listo para un nuevo ciclo.

EJERCICIO 9.17
Para aumentar el nivel de ventas, un comerciante presenta una oferta que anuncia mediante un rtulo rectangular de 1m x 0,8 m situado en el escaparate de su tienda. Para atraer la atencin, coloca en el permetro del rtulo 8 bombillas cuyo encendido/apagado se controla (a travs de drivers) con los terminales del PORTD de un MCU PIC 16F877A, como indica la figura.

Se desea que inicialmente las 8 bombillas estn apagadas y que, al apretar el pulsador conectado a RA4, se enciendan en secuencia y en el sentido de las agujas del reloj durante 0,5 seg. aproximadamente (deben llegar a encenderse las 8 bombillas). Una vez finalizado este ciclo, deben parpadear las 8 simultneamente durante unos 4 seg. aproximadamente,

COMPONENTES ELECTRNICOS -- ENUNCIADOS DE EJERCICIOS

12

transcurridos los cuales volvern a la secuencia y as indefinidamente. El oscilador es de cristal de 4 MHz.

Se pide: escribir un programa en ensamblador que efecte dicho control. No es necesario refrescar el WDT y, si se utilizan interrupciones, no es necesario salvar registros mientras se atienden.

EJERCICIO 9.18 Se desea realizar un pequeo juego electrnico basado en un MCU PIC 16F877A. Se trata de acertar qu LED, de entre los cuatro conectados a los terminales RB3 - RB0, permanecer encendido tras apretar el pulsador conectado al terminal RA4. En cada momento debe de estar encendido solamente uno de esos cuatro LEDs, pero el jugador no debe de saber cul es. Al apretar dicho pulsador, quedar encendido uno de ellos. La frecuencia del oscilador es de 4 MHz.

EJERCICIO 9.19

Para una determinada aplicacin es necesario cronometrar 4 segundos y la cuenta debe observarse en 4 diodos LED conectados a los terminales RB3 - RB0 del puerto B de un microcontrolador PIC 16F877A. Inicialmente, deben estar encendidos los 4 LEDs. Al apretar el pulsador conectado a RA4, y transcurrido 1 segundo, debe apagarse el LED de ms peso, es decir, el conectado a RB3. Transcurrido otro segundo, debe apagarse tambin el LED conectado a RB2. Transcurrido otro segundo, el conectado a RB1 y transcurrido otro segundo deben quedar apagados los 4 LEDs. Tras otro segundo, el sistema debe quedar dispuesto para un nuevo ciclo. La frecuencia del oscilador es de 4 MHz.

COMPONENTES ELECTRNICOS -- ENUNCIADOS DE EJERCICIOS

13

EJERCICIO 9.20.- Se desea que cuando se apriete el pulsador conectado a RA4 se realice un barrido de izquierda a derecha seguido de otro de derecha a izquierda, como indica la figura, estando en cada situacin durante 30 ms. Una vez finalizadas las dos secuencias, el sistema debe quedar listo para repetirlas si se vuelve a apretar el pulsador. El oscilador es de 4 MHz. Inicialmente las luces deben estar apagadas.

Se pide: escribir un programa en ensamblador que realice las secuencias mencionadas. No es necesario refrescar el WDT y, si se utilizan interrupciones, no es necesario salvar registros mientras se atiende

Vous aimerez peut-être aussi