Microcontroladores - Practica 1

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 7

Universidad Autónoma de Nuevo León

Facultad de Ingeniería Mecánica y Eléctrica

Laboratorio de Microcontroladores

Practica No.1

Equipo 5:

1626235 Luis Roberto Pérez Ramos N.L: 4


1630517 Christopher Neville Robles Lara N.L: 6

Brigada: 317

Instructor: M.I. Jesús Daniel Garza Camarena

Semestre Agosto – Diciembre 2019


Clase: Miércoles N2
San Nicolás de los Garza, N.L. 27 de Agosto de 2019
Practica No. 1

I.- Objetivo

Entender los puertos que se manejan en el microcontrolador.

II.- Introducción

El término puerto es bastante común y se refiere a una parte de un equipo informático que


nos permite establecer comunicación entre uno o varios dispositivos diferentes, ya sea por vía
cableada, vía lógica o vía inalámbrica. Para definir lo que es un puerto podemos decir lo
siguiente:
Un puerto es una interfaz o conector ya sea interno o externo que se utiliza para comunicar
diferentes tipos de elementos de hardware o elementos de software que nos permitan enviar
y recibir datos de un equipo a otro.
La mayoría de los pines de los microcontroladores son multipropósito, es decir, en función de
su configuración se comportan de una forma u otra, tal y como se muestra en la figura.
El ATmega328p como cualquier otro microcontrolador tiene registros, algunos de estos
registros están relacionados con los puertos de entrada/salida, cada puerto tiene un nombre
específico y sus registros asociados, de hecho, el 328p tiene el puerto B, C y D, y cada puerto
un diferente número de pines (Esta es una restricción del paquete de 28 pines PDIP y no
desde el microcontrolador, ya que un PDIP 40 pines, por ejemplo, tiene 4 puertos con los 8
bits cada uno), el único puerto que tiene el total de sus 8 pines de entradas/salidas es PORTD.
Cada pin puede tener múltiples funciones, como la generación de PWM, o las capacidades de
ADC, los pines 6 y 7 del PORTB son los pines de entrada para el oscilador de cristal, y pin 6 del
PORTC le corresponde al botón de reinicio.  En esta imagen se puede ver todas las funciones
alternativas que cada pin puede tener.
III.- Diagrama de flujo

Inicio

Alimentamos el circuito
con la fuente

Los leds encienden

Si

¿Esta alimentado aun


el circuito?

No

Los leds se apagan

Fin

IV.- Programación en ATMEL STUDIO


*******************************************************************************************************************
**********
* LLENAR ESTE ESPACIO CON LOS SIGUIENTES DATOS *
* Luis Roberto Pérez Ramos, N2 ,Miércoles ,Lab. Microcontroladores , N° de lista: 4, N° de Equipo: 5
* Christopher Neville Roble Lara, N2 ,Miércoles ,Lab. Microcontroladores , N° de lista: 6, N° de Equipo: 5
* *
* Proposito de la actividad: *
* Conocer los puertos de salida del microcontrolador y el entorno de programación. *
* Fecha: *

*******************************************************************************************************************
**********/
// PIN - OUT
// atmega328P
// -------
// PC6 |1 28| PC5
// PD0 |2 27| PC4
// PD1 |3 26| PC3
// PD2 |4 25| PC2
// PD3 |5 24| PC1
// PD4 |6 23| PC0
// VCC |7 22| GND
// GND |8 21| AREF
// PB6 |9 20| AVCC
// PB7 |10 19| PB5
// PD5 |11 18| PB4
// PD6 |12 17| PB3
// PD7 |13 16| PB2
// PB0 |14 15| PB1
// --------

/*
atmega328P PIN FUNCTIONS
pin function name pin function name
1 !RESET/PCINT14 PC6 15 PCINT1/PWM PB1
2 RxD/PCINT16 PD0 16 PCINT2/PWM/SS PB2
3 TxD/PCINT17 PD1 17 PCINT3/PWM/MOSI PB3
4 INT0/PCINT18 PD2 18 PCINT4/PWM/MISO PB4
5 INT1/PCINT19/PWM PD3 19 PCINT5/SCK PB5
6 PCINT20 PD4 20 ANALOG VCC AVCC
7 +5v VCC 21 ANALOG REFERENCE AREF
8 GND GND 22 GND GND
9 XTAL1/PCINT6 PB6 23 PCINT8/ADC0 PC0
10 XTAL2/PCINT7 PB7 24 PCINT9/ADC1 PC1
11 PCINT21/PWM PD5 25 PCINT10/ADC2 PC2
12 PCINT22/PWM/AIN0 PD6 26 PCINT11/ADC3 PC3
13 PCINT23/AIN1 PD7 27 PCINT12/ADC4/SDA PC4
14 PCINT0/AIN1 PB0 28 PCINT13/ADC5/SCL PC5
*/

//Librerías*********************************************
#include <avr/io.h> // se incluyen las librerias de entradas y salidas del AVR utilizado

//Macros (constantes)***********************************
#define F_CPU 1000000UL // se define la velocidad de operacion del sistema 1 Mhz, el ATMEGA328P tiene un
cristal oscilador interno de 8Mhz

//Variables globales del programa **********************

//Funciones*********************************************
// Las funciónes del sistema pueden ser escritas al inicio o al final, si se escriben al final
// se tienen que declarar de la siguiente manera:

//Declaracion de Funciones******************************

//Programa principal***********************************
int main(void)
{
//Espacio para inicializar las variables y los puertos
DDRD = 0xFF; // se carga el registo del puerto con el numero 0b11111111 en binario
// esto indica que todo el puerto D es una salida (0 = entrada, 1 = salida)
DDRB = 0xFF; // se carga el registo del puerto con el numero 0b11111111 en binario
// esto indica que todo el puerto B es una salida (0 = entrada, 1 = salida)

DDRC = 0xFF; // se carga el registo del puerto con el numero 0b11111111 en binario
// esto indica que todo el puerto C es una salida (0 = entrada, 1 = salida)

while (1) //Loop infinito aqui es donde va el codigo que se ejecutara dentro de los corchetes
{
PORTD = 0x80; // Se carga el puerto con el numero 0b1000 0000, esto enciende el PD7 (PIN 13) del AVR
PORTB = 0x01; // Se carga el puerto con el numero 0b0000 0001, esto enciende el PB0 (PIN 14) del AVR
PORTC = 0x01; // Se carga el puerto con el numero 0b0000 0001, esto enciende el PC0 (PIN 23) del AVR
} // END loop infinito
} // END MAIN

//**********************************************************************
//Definición de funciónes
//**********************************************************************

V.- Diagrama del circuito en Proteus

(Leds apagados)
(Leds encendidos)

VI.- Circuito implementado en protoboard


VII.- Conclusión

Con el desarrollo de la actividad pudimos comenzar a utilizar el microcontrolador


ATMEGA328, de modo que, a pesar de ser una práctica muy amigable, resulta imprescindible
para el desarrollo de futuras practicas más complejas a desarrollar después.
La práctica consistió en encender leds por medio del microcontrolador, resulta muy practico
el hacer la simulación antes de pasar a realizar el circuito en físico, ya que de esta manera nos
protegemos a nosotros y al equipo en el sentido de que pueda llegar a quemarse, que algún
dispositivo no esté funcionando adecuadamente, etcétera.
La práctica cumplió su objetivo el cual era entender y manejar los puertos del
microcontrolador.

VIII.- Bibliografía

En línea: https://www.lucidchart.com/pages/es/que-es-un-diagrama-de-flujo

En línea: https://culturacion.com/que-es-un-puerto-y-para-que-se-utiliza/

En línea: https://aprendiendoarduino.wordpress.com/2016/11/08/entradas-y-
salidas-arduino/

También podría gustarte