Está en la página 1de 3

Instituto Tecnológico de Culiacán

Evaluación de Microcontroladores
3 Unidad

1. Mencione dos ventajas y dos desventajas de programar un


microcontrolador con ensamblador y con lenguaje C. Explique sus respuestas. (10
Puntos)
Ensamblador:

Ventaja 1: Control total del hardware. El ensamblador permite un control preciso sobre
la arquitectura del microcontrolador, lo que puede ser crucial en situaciones donde la
eficiencia y el rendimiento son críticos. Es posible optimizar cada instrucción para
adaptarse perfectamente al hardware.

Ventaja 2: Tamaño del código. Los programas escritos en ensamblador tienden a ser
más compactos en términos de tamaño de código en comparación con programas
equivalentes escritos en lenguaje C. Esto puede ser beneficioso en entornos con
restricciones de memoria.

Desventaja 1: Curva de aprendizaje. Programar en ensamblador requiere un


conocimiento profundo de la arquitectura del microcontrolador y puede tener una curva
de aprendizaje empinada. Esto puede hacer que el desarrollo sea más lento y propenso a
errores.

Desventaja 2: Portabilidad limitada. El código escrito en ensamblador está vinculado al


hardware específico del microcontrolador, lo que puede hacer que sea difícil de portar a
diferentes plataformas.

Idioma C:

Ventaja 1: Portabilidad. El código escrito en lenguaje C es más portátil, lo que significa


que puede ejecutarse en diferentes microcontroladores sin necesidad de modificaciones
significativas. Esto facilita la reutilización del código y la migración a hardware
diferente.

Ventaja 2: Productividad. Programar en C es generalmente más rápido que en


ensamblador, ya que permite un desarrollo más rápido y con menos líneas de código.
Esto es especialmente beneficioso para proyectos grandes.

Desventaja 1: Menos control directo del hardware. Aunque C ofrece un alto nivel de
abstracción, no puede permitir un control tan preciso sobre el hardware como el
ensamblador. Esto puede ser un inconveniente en aplicaciones que requieren una
optimización extrema.

Desventaja 2: Mayor tamaño de código. Los programas escritos en lenguaje C tienden a


ser más grandes en tamaño en comparación con programas equivalentes en
ensamblador, lo que puede ser una consideración crítica en sistemas con restricciones de
memoria.

2. Al manejar los puertos con lenguaje C de un microcontrolador PIC se tienen dos


formas de hacerlo:
 Por RAM
 Por directivas
o #USE FAST_IO
o #USE FIXED_IO
o #USE STANDARD_IO
Si se requiere utilizar el puerto C cuando se maneja el puerto por RAM se tiene
que definir:

PORTC = 0x07 y después se puede utilizar como bit_clear(PORTC,1);

Y al utilizar directivas no se tiene que hacer esto.

#use fast_oi(C) y después se puede utilizar como output_low(PIN_C1);

¿Explique porqué es posible hacerlo así de manera diferente?

¿Por qué al usar gestión por RAM se tiene que poner PORTC = 0x07 ?

Explique (20 Puntos)

3.- Diseñe un programa para el PIC16F877A que realice la medición de


temperatura y la muestre en una pantalla LCD. Para la medición utilice un
sensor analógico de temperatura LM35.
Utilice las conexiones mostradas en el circuito siguiente:
Entregable:
Archivo .c del código implementado e imágenes de la simulación en proteus con el
valor de temperatura en la pantalla LCD. (35 Puntos)

4. Los microcontroladores incorporan puertos con entradas que incluyen


convertidores analógico a digital (ADC) que permiten lectura de señales de este
tipo. Una de las características de dichas entradas es el número de bits que
maneja el ADC, normalmente de 10 bits. Cuando se utiliza un ADC de 10 bits
se tiene una resolución de 4.88 mV y si se utiliza un ADC de 8 bits se tiene una
resolución de 19.6 mV. ¿A que se debe esto?¿Qué ventaja da el hecho de
disponer de más bits en el ADC?

Explique cada una de ellas.(15 Puntos)

5. El timer1 del microcontrolador PIC16F877A tiene 4 divisores de frecuencia por


1, por 2, por 4 y por 8. ¿Qué función tienen estos divisores y porqué son
necesarios para el funcionamiento del temporizador? Explique a detalle sus
respuestas. (10 puntos)

6. Si al realizar una lectura de un puerto con entrada de ADC del


microcontrolador PIC16F877A se tiene la lectura de 534, ¿Qué valor de voltaje
hay en la entrada de la terminal? Explique (10 puntos)

También podría gustarte