Sie sind auf Seite 1von 2

1.

Programa que lea el puerto C del ATMEGA16 y lo multiplique por un valor


almacenado en SRAM en la direccin 60h. El resultado guardarlo en las
direcciones de SRAM 300 (LSB) y 301 (MSB)
2. Programa que lea un valor de una tabla en ROM en la direccin 400h y lo reste con
otro valor almacenado en SRAM externa en la direccin 70h. Sacar el resultado por
el puerto B
3. Programa que sume dos nmeros de 32 bits almacenados en SRAM de la siguiente
forma:
Operando 1: 60H (LSB) a 63H (MSB)
Operando 2: 65(LSB) a 68(MSB)
y el resultado lo guarde en SRAM a partir de la 80H.
4. Programa que lea el puerto A del ATmega16, 100 veces cada 200ms y los valores los
guarde en SRAM externa a partir de la direccin 300h.
5. Programa que lea una tabla en ROM de 100 valores a partir de la 200h y saque los valores
por el puerto C en intervalos de 1 segundo
6. Realice un programa que cuente la cantidad de valores positivos y negativos de una lista de
15 elementos almacenada en SRAM a partir de la direccin 100h. Si la cantidad de valores
positivos es mayor o igual que la de negativos se debe prender un led conectado al puerto
PB0, de lo contrario, encender un led en el puerto PB7.
7. Programa que debe leer el puerto C y comparar el valor ledo con un valor de referencia
almacenado en ROM en la direccin 300h. Si ambos valores coinciden se debe enviar un
0 por una PC0 hacia un sistema de control durante 50ms, de lo contrario encender un led
de error conectado a PC1 durante 3segundos.
8. Realice un programa que lea el estado de un switch conectado a PB2. Si el switch es 0
enviar el carcter N por el puerto C y encender un led conectado a PB0 durante 3
segundos. Si el switch es 1 enviar el carcter Y por el puerto C y enviar una seal activo
en 0 por PB1 durante 100ms.El programa debe permanecer leyendo el switch
continuamente.
9. Generar por el pin de puerto PB0 del ATMEGA16 un tren de pulsos que vara su ancho de
acuerdo al estado de un interruptor de la siguiente forma:
Si el interruptor est en ON el pulso se genera con 20ms en 1 y 40ms en 0
Si el interruptor est en OFF se debe generar un tren de pulsos con 30ms en 1 y 10ms
en 0.
El proceso se repetir continuamente hasta que se produzca un reset del procesador.

Frecuencia del cristal=8MHz

Realice el ejercicio utilizando el timer 0 en modo normal.

Repita el ejercicio utilizando el timer 0 en modo CTC (Clear time o compare match)

10. Generar por el pin de puerto PB0 del ATMEGA16 un tren de pulsos que vara su ancho de
acuerdo al estado de un interruptor de la siguiente forma:
Si el interruptor est en ON el pulso se genera con 20ms en 1 y 40ms en 0
Si el interruptor est en OFF se debe generar un tren de pulsos con 30ms en 1 y 10ms
en 0.
El proceso se repetir continuamente hasta que se produzca un reset del procesador.

Frecuencia del cristal=8MHz

Realice el ejercicio utilizando el timer 0 en modo normal.


Repita el ejercicio utilizando el timer 0 en modo CTC (Clear time o compare match)

11. Se quiere disear con un microcontrolador ATmega16 un equipo que entrega al procesador
un valor digital de 8 bits, proveniente de un sistema de posicionamiento de una antena. A
partir de la opresin de una tecla, el procesador debe leer un valor digital cada 2 seg y
almacenarlo en SRAM hasta completar 500 muestras.

Cuando se hayan completado la adquisicin de las 500 muestras se debe encender


un led de aviso y generar por una lnea de puerto un tren de pulsos de 200ms en 0
y 300ms en 1. El tren de pulsos se generar hasta que se reciba una seal activa
en 0 proveniente de una computadora que indicar que finalice el tren de pulsos y
se apague el led. Utilice la rutina de retardo de 10ms para TODOS los
requerimientos de tiempo del sistema. (frec_reloj=8Mhz).

12. Un sistema basado en ATmega16 debe monitorear una seal proveniente de un sistema de
instrumentacin. La seal es de 8 bits y se debern obtener 250 muestras de la seal cada
5seg cada una y almacenarlos en memoria SRAM en posiciones consecutivas. El sistema
dispone de las siguientes teclas de comandos:

INICIO: Se debe iniciar la medicin y almacenamiento de las muestras. Al


finalizar la captura se debe encender un led de aviso al usuario.

VALIDACIN: En esta opcin el sistema debe comparar las muestras de la seal


adquirida con un patrn de 8 bits almacenado en ROM en la direccin 200h.
Si el 80% o ms de las muestras adquiridas es mayor o igual que el patrn se debe
enviar una seal de validacin activa en 0 a una computadora central. Esta seal
debe tener una duracin de 50ms. De lo contrario se debe activar un buzzer durante
5seg. En cualquier caso el sistema debe quedar listo para una nueva medicin.

Realice el diseo completo del software. Utilice la rutina de retardo de 10ms para TODOS
los requerimientos de tiempo del sistema. (frec_reloj=8Mhz).

Das könnte Ihnen auch gefallen