Microcontroladores - Practica 1
Microcontroladores - Practica 1
Microcontroladores - Practica 1
Laboratorio de Microcontroladores
Practica No.1
Equipo 5:
Brigada: 317
I.- Objetivo
II.- Introducción
Inicio
Alimentamos el circuito
con la fuente
Si
No
Fin
*******************************************************************************************************************
**********/
// 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
//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
//**********************************************************************
(Leds apagados)
(Leds encendidos)
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/