Está en la página 1de 19

UNIVERSIDAD POLITÉCNICA SALESIANA

FACULTAD DE INGENIERIAS

INGENIERÍA ELECTRÓNICA

SISTEMAS MICROPROCESADOS I

INFORME DE MICROCONTROLADOR ATMEL AVR

INTEGRANTES:
 HÉCTOR CÁRDENAS
 RICARDO RAMOS
 ESTEBAN SALAZAR

SEXTO SEMESTRE
SISTEMAS MICROPROCESADOS I

OBJETIVOS:

 Aprender nuevos comandos de programación en Bascom mediante


los algoritmos generados para el microcontrolador Atmega16.
 Desarrollar el hadware necesario para el funcionamiento del
microcontrolador virtualmente (simulación), mediante software.
 Comprobar el funcionamiento del microcontrolador y del hadware
diseñado en el mundo real.

PROGRAMAS A DISEÑAR:

Programa usando el comando “Rotate” (rotar), con el AVR


Atmega16.

Entradas:

 Desplazamiento de un bit hacia los leds.

Salidas:

 Puerto D, hacia los leds indicadores del movimiento


(izquierda/derecha)

Procesos:

 Creamos una variable para almacenar el dato.


 Definimos una variable auxiliar para crear el desplazamiento.
 Creamos un lazo para repetir infinito número de veces.
 Creamos una condición en la variable auxiliar, para que pueda
desplazarse el dato en el puerto.
 Retardo de 500 ms, para los movimientos.
 Escribimos en el puerto D.

2
SISTEMAS MICROPROCESADOS I

Diagrama de flujo:

INICIO

Definir variables A e
I como bytes.

Hacer A = 1

Para I = 0 a 7
Rotar A hacia la izquierda.

Retardo de 500ms

Para I = 0 a 7
Rotar A hacia la derecha.

Retardo de 500ms

PuertoD = A

Programación del algoritmo:

3
SISTEMAS MICROPROCESADOS I

Simulación en Proteus-Isis:

Visualización de números dígitos (0-9) en un display por medio


del microcontrolador.

Entradas:

 Números del 0 al 9.

Salidas:

 Puerto D hacia el display.

Procesos:

 Definir una variable para almacenar los datos.


 Incrementar la variable (incremento del byte mas 1)
 Comparar la variable con el valor 10 para contar de nuevo desde 0
 Retardo de 1 segundo.

4
SISTEMAS MICROPROCESADOS I

 Escribir en el puerto D.

Diagrama de Flujo:

INICIO

Definir variable A
como byte.

A=0

Retardo de 1s

Incrementar A

Puerto D = A

A =10 Si

No

Programación del algoritmo:

5
SISTEMAS MICROPROCESADOS I

Simulación en Proteus-Isis:

Manejo de displays de 7 segmentos con barrido, se muestra


números del 0 al 99.

Entradas:

 Números del 0 al 99.

Salidas:

 Puerto C, como alternador para los displays.


 Puerto D, números a mostrar en los displays.

Procesos:

 Definir variables A y B como bytes.


 Definir una variable auxiliar I como una palabra.
 Guardar el valor de 0 en las variables A y B.
 Escribir en I el valor de 0.
 Alternar los displays mediante el puerto C.
 Retardo de 10 us.
 Incrementar I hasta 200
 Comprobar si I = 200 entonces incrementar B y encerar I.
 Comprobar si B = 10 entonces incrementar A y enceramos B.
 Comprobar si A = 10 entonces encerar A.

6
SISTEMAS MICROPROCESADOS I

 Finalizar comparaciones
 Escribir las variables A y B en el puerto D controlado por el puerto
C.

Diagrama de Flujo:

INICIO

Definir variables A, B
como Bytes, e I como
una palabra.

A=0

B=0

I=0

Hacer Portc = 1
Para que Portd = A

Retardo 10us

Hacer Portc = 2
Para que Portd = B

Retardo 10us

Incrementar I

I =200 Si Incrementar B

No
B = 10 Si Incrementar A

No
A = 10 Si

No

7
SISTEMAS MICROPROCESADOS I

Programación del algoritmo:

Simulación en Proteus-Isis:

8
SISTEMAS MICROPROCESADOS I

Análisis del comando RND (random), para generar números


aleatorios del 0 al 99.

Entradas:

 Números aleatorios.

Salidas:

 Puerto C como alternador para los displays.


 Puerto D, muestra números aleatorios en los displays.

Procesos:

 Definir las variables I, H, Menor y Mayor, como bytes.


 Hacer H un numero cualquiera del 0 al 99 con el comando RND
 Transformar H a BCD.
 Hacer Menor igual a mascara elimina bits inferiores de H.
 Hacer Mayor igual a mascara elimina bits superiores de H.
 Condicionar I = 1 al 20 para que PortD sea igual a Menor y PortC
sea igual a Menor.
 Retardo de 1ms
 La condición sigue para PortD = Mayor y PortC = 1
 Ir al siguiente número.

Diagrama de Flujo:

INICIO

Definir variables I, H,
Mayor y Menor como
Bytes.

H = RND(99)

Hacer H a BCD

Menor = H and &B0000_1111

Mayor = H and &B1111_0000

Shift Mayor, Right, 4

9
SISTEMAS MICROPROCESADOS I

Para I = 1 a 20

PortD = Menor
PortC = 2

Retraso 1 ms

PortD = Mayor
PortC = 1

Siguiente

Programación del Algoritmo:

10
SISTEMAS MICROPROCESADOS I

Simulación en Proteus-Isis:

Utilizar el comando GOSUB y GOTO, el comando GOSUB permite


ejecutar subrutinas.

Entradas:

 Puerto B, pulsantes de Activación en bajo.

Salidas:

 Puerto D, led’s indicadores.

Procesos:

 Definir una variable I como Byte.


 Crear un lazo.
 Comparar Pin 0 del puerto B = 0 para ejecutar subrutina 1.
 Comparar Pin 1 del puerto B = 0 para ejecutar subrutina 2.
 Retardo de 100 ms
 Subrutina 1: prende y apaga el led del puertoD.1 2 veces.
 Subrutina 2: prende y apaga el led del puertoD.2 3 veces.
 Retardo de 1 s.

11
SISTEMAS MICROPROCESADOS I

Diagrama de Flujo:

INICIO

Pines 1 y 2 del puerto B


Definir una variable I
como Byte.

PortD = 0

Crear Lazo

Si
PinB.0=0 PinB.1=0 Si

No No

Gosub Sub2
Gosub Sub1 Para I = 1 a 3
Para I = 1 a 2
PortD.1 = 1
PortD.2 = 1
Retardo de 500 ms
Retardo de 500 ms PortD.1 = 0
PortD.2 = 0
Retardo de 500 ms
Retardo de 500 ms Retornar
Retornar

PortD = 0

Go to Lazo

12
SISTEMAS MICROPROCESADOS I

Programación del algoritmo:

13
SISTEMAS MICROPROCESADOS I

Simulación en Proteus-Isis:

Conclusiones:

 Se pudo demostrar el funcionamiento de los comandos estudiados


al probar el circuito, funcionó tal y como se lo esperaba.
 Se comprobó que la simulación mediante software, es una gran
herramienta, ya que actúa como si fuera un circuito armado en el
mundo real.
 Se corrigió errores de programación los cuales, hacían inútiles el
funcionamiento interno del microcontrolador.

Bibliografía:

Hojas de las Prácticas


Ayuda del programa Bascom (documentación en Inglés)
Cuaderno de Sistemas Microprocesados.

14
SISTEMAS MICROPROCESADOS I

Anexos Fotográficos:

15
SISTEMAS MICROPROCESADOS I

16
SISTEMAS MICROPROCESADOS I

17
SISTEMAS MICROPROCESADOS I

18
SISTEMAS MICROPROCESADOS I

19

También podría gustarte