Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 10

GUIA DE LABORATORIO DE SISTEMAS Codigo ETN-CBBA-GL-MICII-01

Versión 1.1
MICROCONTROLADOS Página 1 de 10

1. DATOS GENERALES
ASIGNATURA: SIGLA CURRICULAR: ETN 07 3 42

MICROPROCESADORES II

CARRERA: SISTEMAS ELECTRÓNICOS

CURSO: 4to Año. SEMESTRE: SEPTIMO

CONTENIDO ANALÍTICO: UNIDAD DIDÁCTICA:


1.1. Diagrama de tiempos y PROGRAMACIÓN DE
arquitectura. MICROCONTROLADORES ADVANCED RISC
1.2. Descripción de los Puertos,
DE GAMA MEDIA
interfaces y Memorias.
1.3. Registros y Juego de
instrucciones.
1.4. Manejo de dispositivos de entrada
y salida.
DOCENTE: Ing. Erick Benitez Gareca e-mail: [email protected]

BIBLIOGRAFÍA A SEGUIR:

• Felipe Santiago Espinosa – 2021 - El Microcontrolador ATMega328P de Microchip:


Programación en Ensamblador, Lenguaje C y un enlace con Arduino - Universidad
Tecnológica de la Mixteca /1ra Edición - Huajuapan de León, Oaxaca México
TITULO DEL LABORATORIO:
LABORATORIO: N° 1 MANEJO DE PUERTOS DE ENTRADA Y
SALIDA DE MICROCONTROLADORES AVR.

MATERIAL DE APOYO: CARGA HORARIA:

• Apuntes de Clase. 4 Hrs.


• Computadora Personal IDE Arduino

2. COMPETENCIA DE LA ASIGNATURA
“Desarrolla soluciones integrales de hardware y software mediante la programación de
microprocesadores y sistemas embebidos; aplicando la teoría de control automático y
digital; identificando procesos de automatización, almacenamiento e interfaces;
comparando soluciones hardware y soluciones software; utilizando algoritmos basados en
modelos matemáticos; distinguiendo a la interacción de recursos físicos y lógicos y
realizando la implementación de prototipos electrónicos”.

1
Guía de Laboratorio – Microprocesadores II 1.0 Ing. Erick Benitez Gareca
GUIA DE LABORATORIO DE SISTEMAS Codigo ETN-CBBA-GL-MICII-01
Versión 1.1
MICROCONTROLADOS Página 2 de 10

3. CRITERIO DE DESEMPEÑO DE LA UNIDAD DIDÁCTICA


Programa los dispositivos I/O de microcontroladores Advanced RISC de gama media,
identificando su arquitectura, mapa de memoria y disposición de pines y aplicando su juego
de instrucciones y registros.

1. OBJETIVOS

1.1. OBJETIVO GENERAL

✓ Elaborar programas de configuración y manejo de puertos de entrada y


salida de microcontroladores AVR

1.2. OBJETIVOS ESPECÍFICOS

➢ Analizar los requerimientos del sistema.


➢ Diagramar el circuito propuesto.
➢ Configurar los puertos como entradas y salidas.
➢ Programar el sistema propuesto.
➢ Implementar el programa desarrollado en el AVR.
➢ Realizar mediciones y verificar los resultados.

2. FUNDAMENTO TEÓRICO

1.1. Diagrama de tiempos y arquitectura.


1.2. Descripción de los Puertos, interfaces y Memorias.
1.3. Registros y Juego de instrucciones.
1.4. Manejo de dispositivos de entrada y salida.

3. IMPLEMENTOS DE LABORATORIO (Por grupo de 2 Estudiantes)

3.1. MATERIALES

DETALLE UNIDAD CANTIDAD


Tarjeta de desarrollo Arduino Uno o similar Pieza 4
Protoboard Pieza 4
DeepSwitch de 8 bits Pieza 8
Leds Pieza 32
Transistores 2n2222 Pieza 20
Display de 7 Segmentos Pieza 12

2
Guía de Laboratorio – Microprocesadores II 1.0 Ing. Erick Benitez Gareca
GUIA DE LABORATORIO DE SISTEMAS Codigo ETN-CBBA-GL-MICII-01
Versión 1.1
MICROCONTROLADOS Página 3 de 10

Matriz de Led 8x8 Pieza 8

3.2. EQUIPO

DETALLE UNIDAD CANTIDAD


Computador Pieza 1 por
estudiante
Fuente de Poder 0 a 30 V Pieza 5

3.3. REACTIVOS

DETALLE UNIDAD CANTIDAD


Cables de prototipado Macho Macho Pieza 120

3.4. EQUIPOS DE PROTECCIÓN PERSONAL

DETALLE UNIDAD CANTIDAD


Guardapolvo unidad 1

3.5. OTROS

DETALLE UNIDAD CANTIDAD


Software específico (Ide Arduino) - 1 P. E.
Cable USB tipo A Pieza 5

4. PROCEDIMIENTO

Paso 1: Elaborar un programa para el microcontrolador AVR Atmega328p que permita


implementar una ALU de 4 bits que permita realizar las siguientes operaciones:

3
Guía de Laboratorio – Microprocesadores II 1.0 Ing. Erick Benitez Gareca
GUIA DE LABORATORIO DE SISTEMAS Codigo ETN-CBBA-GL-MICII-01
Versión 1.1
MICROCONTROLADOS Página 4 de 10

Paso 2: A partir del siguiente diagrama, elaborar el programa correspondiente:

Paso 3: Abrir el programa IDE de Arduino y elaborar el programa que permita que el mcu
se comporte como una ALU de 4 bits:

//Declaracion de definiciones o nombramiento de parametros o referenciando


#define PZ 12
#define PY 13
#define PX 18

//Declaracion de Variables
byte A = 0, B = 0, R = 0;

//Declaracion de funciones

void setup()
{
//Sentencias de codigo que se ejecutan una sola vez
DDRD = 0b11111111; //0xFF 255
DDRC = 0x00;
DDRB = 0x00;
}

void loop()
{
//Programa principal
A = PINB;
B = PINC;
A &= 0x0F; //A = A and 0xFF
B &= 0x0F;
if(digitalRead(PX) == 0 && digitalRead(PY) == 0 && digitalRead(PZ)== 0)

4
Guía de Laboratorio – Microprocesadores II 1.0 Ing. Erick Benitez Gareca
GUIA DE LABORATORIO DE SISTEMAS Codigo ETN-CBBA-GL-MICII-01
Versión 1.1
MICROCONTROLADOS Página 5 de 10

{
PORTD = A+B;
}
else if(digitalRead(PX) == 0 && digitalRead(PY) == 0 && digitalRead(PZ)== 1)
{
PORTD = A-B;
}
else if(digitalRead(PX) == 0 && digitalRead(PY) == 1 && digitalRead(PZ)== 0)
{
PORTD = A*B;
}
else if(digitalRead(PX) == 0 && digitalRead(PY) == 1 && digitalRead(PZ)== 1)
{
PORTD = A/B;
}
else if(digitalRead(PX) == 1 && digitalRead(PY) == 0 && digitalRead(PZ)== 0)
{
PORTD = A|B;
}
else if(digitalRead(PX) == 1 && digitalRead(PY) == 0 && digitalRead(PZ)== 1)
{
PORTD = A&B;
}
else if(digitalRead(PX) == 1 && digitalRead(PY) == 1 && digitalRead(PZ)== 0)
{
B << 4;
PORTD = (~A)|(~B);
}
else
{
PORTD = 0x00;
}
}

Paso 4: Compilar el programa desarrollado, configurar el IDE de Arduino e implementar el


mismo.

5
Guía de Laboratorio – Microprocesadores II 1.0 Ing. Erick Benitez Gareca
GUIA DE LABORATORIO DE SISTEMAS Codigo ETN-CBBA-GL-MICII-01
Versión 1.1
MICROCONTROLADOS Página 6 de 10

Paso 5: Elaborar un programa para el microcontrolador AVR Atmega328p que permita


implementar un contador de 0 a 999 mostrados en displays de 7 segmentos, según el
siguiente diagrama:

Paso 6: Abrir el programa IDE de Arduino y elaborar el programa que permita realizar el
conteo de 0 a 999 cada segundo.

#define fm 67
#define TMD 5

byte num[10] = {0x01,0x4f,0x12,0x06,0x4c,0x24,0x20,0x0f,0x00,0x0c};


byte sel[3] = {0x01,0x02,0x04};

void setup()
{

6
Guía de Laboratorio – Microprocesadores II 1.0 Ing. Erick Benitez Gareca
GUIA DE LABORATORIO DE SISTEMAS Codigo ETN-CBBA-GL-MICII-01
Versión 1.1
MICROCONTROLADOS Página 7 de 10

DDRD = 0xFF;
DDRC = 0xFF;
}

void loop()
{
for(int frec = 0;frec<=fm;frec++)
{
for(int cen = 0;cen < 10;cen++)
{
for(int dec = 0;dec < 10;dec++)
{
for(int uni = 0;uni < 10;uni++)
{
PORTD = num[uni];
PORTC = sel[0];
delay(TMD);
PORTD = num[dec];
PORTC = sel[1];
delay(TMD);
PORTD = num[cen];
PORTC = sel[2];
delay(TMD);
}
}
}
}
}

Paso 7: Compilar el programa desarrollado, configurar el IDE de Arduino e implementar el


mismo.

Paso 8: Elaborar un programa para el microcontrolador AVR Atmega328p que permita


implementar una matriz de 8x8 que permita mostrar caracteres, según el siguiente
diagrama:

7
Guía de Laboratorio – Microprocesadores II 1.0 Ing. Erick Benitez Gareca
GUIA DE LABORATORIO DE SISTEMAS Codigo ETN-CBBA-GL-MICII-01
Versión 1.1
MICROCONTROLADOS Página 8 de 10

Paso 9: Abrir el programa IDE de Arduino y elaborar el programa que permita mostrar las
siguientes frases según la siguiente tabla:

Paso 10: El siguiente programa permite mostrar y desplegar los mensajes según la tabla
propuesta la cual debe ser completada para que pueda mostrar todas frases según la
selección que se realiza:

#define PM 4 //4 ms
#define frec 50 //50 Hz
//C1 C2 C3 C4 C5
byte flecha[5]={0b11101111,0b11101111,0b10101011,0b11000111,0b11101111};
byte LA[5]={0b11101111,0b11101111,0b11101111,0b11101111,0b11101111}; //Se debe
codificar la letra A
byte LB[5]={0b11101111,0b11101111,0b11101111,0b11101111,0b11101111}; //Se debe
codificar la letra B
//Codificar las letras faltantes
byte COL[5] = {0x01,0x02,0x04,0x08,0x10};

//Funcion que imprime en la matriz cada caracter


void mostrar(byte* caracter)
{
for(int j = 0;j < frec;j++)
{
for(int i = 0;i<5;i++)

8
Guía de Laboratorio – Microprocesadores II 1.0 Ing. Erick Benitez Gareca
GUIA DE LABORATORIO DE SISTEMAS Codigo ETN-CBBA-GL-MICII-01
Versión 1.1
MICROCONTROLADOS Página 9 de 10

{
PORTD = caracter[i];
PORTB = COL[i];
delay(PM);
}
}
}

void MCaracter(char dato)


{
switch(dato)
{
case '*':
{
mostrar(flecha);
break;
}
case 'a':
{
mostrar(LA);
break;
}
default:
{
break;
}
}
}

void setup()
{
DDRD = 255;
DDRB = 255;
DDRC = 0;
}

void loop()
{

9
Guía de Laboratorio – Microprocesadores II 1.0 Ing. Erick Benitez Gareca
GUIA DE LABORATORIO DE SISTEMAS Codigo ETN-CBBA-GL-MICII-01
Versión 1.1
MICROCONTROLADOS Página 10 de 10

if(PINC == 0)
{
MCaracter('*');
MCaracter('a');
MCaracter('d');
MCaracter('a');
MCaracter('%');
}
else if(PINC == 1)
{
MCaracter('*');
MCaracter('p');
MCaracter('1');
MCaracter('5');
MCaracter('%');
}
}

Paso 10: Compilar el programa desarrollado, configurar el IDE de Arduino e implementar


el mismo.

Paso 11: Elaborar un programa para el microcontrolador AVR Atmega328p que permita
implementar una matriz de 8x8 que permita mostrar caracteres, según el siguiente
diagrama:

5. PRESENTACIÓN DE RESULTADOS

• Hoja de resultados teóricos y prácticos, firmados por el docente.


• Un informe de laboratorio según requerimientos, mostrando resultados.
• Comentarios especificando conclusiones y recomendaciones

10
Guía de Laboratorio – Microprocesadores II 1.0 Ing. Erick Benitez Gareca

También podría gustarte