Sie sind auf Seite 1von 7

ESCUELA POLITCNICA NACIONAL

FACULTAD DE INGENIERA ELCTRICA Y ELECTRNICA


LABORATORIO DE CONTROL CON MICROPROCESADORES
PRCTICA NO. 02

FAMILIARIZACIN CON LA PROGRAMACIN EN ATMEL STUDIO EN C

FAMILIARIZACIN CON LA PROGRAMACIN EN C


1. OBJETIVO
Familiarizar al estudiante con el uso de los programas Atmel Studio e Isis Profesional.

2. DESARROLLO
2.1. Realizar el diagrama circuital completo, simulacin, el diagrama de flujo del programa y el
programa de control utilizando lenguaje C en Atmel Studio, para el microcontrolador
ATMEGA164P, que realice las siguientes actividades:

Leer 8 sw colocados en el PORTC


Mostrar en 3 displays de 7 segmentos el valor de los sw, en decimal.

ANLISIS DE ENTRADAS Y SALIDAS


Para este programa se necesitarn las siguientes variables:

SELECCIN DEL MICROCONTROLADOR


Los requerimientos mnimos ms importantes que debe tener un microcontrolador sern:
19 terminales I/O
Otros requerimientos sern:
16 Kbytes de memoria flash
Frecuencia de operacin 8MHz
1 Kbyte de memoria SRAM
512 bytes memoria EEPROM

Voltaje de alimentacin tpico de 5V.

Debido al conocimiento y familiaridad se usar el microcontrolador ATMEGA164PA.

DIMENSIONAMIENTO DE DISPOSITIVOS
Para controlar la corriente que circula por el display multiplexado se requerirn resistencias
limitadoras, para su dimensionamiento se tiene lo siguiente:

Sea una
recomendable de 25mA, un
multiplexados, la corriente pico ser:

Por lo que las resistencias limitadoras sern:

DIAGRAMA CIRCUITAL

de 0,33 debido a que se controlarn 3 displays

DIAGRAMA DE FLUJO
INICIO
Declaracin de Funciones

Declaracin de Variables

Configuracin E/S
8 pines entrada (Dip-Switch), 8
pines de salida (Display
Multiplexado), 3 pines de control
para el display.

Obtener datos de dipswitch

Conversin Binaria a BCD

Conversin BCD a 7 Segmentos

Impresin de datos en los


displays multiplexados

CONVERSIN BINARIO A BCD

Inicializo Variables
Unidades, Decenas, Centenas=0

Si

No
Binario>99

Binario=Binario-100
Centena=Centena+1
No

Unidades=Binario

Binario>9

Si

Binario=Binario-10
Decena=Decena+1

CDIGO (Lenguaje C)
/*
* Practica_02_Programacin_en_C.c
*
* Created: 28/04/2015 20:04:00
* Author: Byron Sarabia
*/

#include <avr/io.h>
//Declaracin funciones
void binario_bcd (void);
unsigned char bcd_7seg(unsigned char valor);
void impresion(void);
void retardo (unsigned char k);
//Declaracin
unsigned char
int binario;
unsigned char
unsigned char
unsigned char

de Variables
c;
centenas;
decenas;
unidades;

unsigned char centenas_7seg;


unsigned char decenas_7seg;
unsigned char unidades_7seg;
int main(void)
{

//Configuracin de Puertos
DDRC=0x00;
PORTC=0xff;
DDRB=0xff;
DDRD=0b00000111;
while(1)
{
c=PINC;
binario=c;
binario_bcd();
centenas_7seg=bcd_7seg(centenas);
decenas_7seg=bcd_7seg(decenas);
unidades_7seg=bcd_7seg(unidades);
impresion();

}
}
void binario_bcd(void)
{
centenas=0;
while(binario>99)
{
binario=binario-100;

centenas++;
}
decenas=0;
while(binario>9)
{
binario=binario-10;
decenas++;
}
unidades=binario;
return;
}
unsigned char bcd_7seg(unsigned char valor)
{
unsigned char segmentos;
segmentos=0;
//Para display nodo comn

switch(valor)
{
case 0:
segmentos=192;
break;
case 1:
segmentos=249;
break;
case 2:
segmentos=164;
break;
case 3:
segmentos=176;
break;
case 4:
segmentos=153;
break;
case 5:
segmentos=146;
break;
case 6:
segmentos=130;
break;
case 7:
segmentos=248;
break;
case 8:
segmentos=128;
break;

case 9:
segmentos=152;
break;
}
return segmentos;
}
void impresion(void)
{
PORTD=1;
PORTB=centenas_7seg;
retardo(1);
PORTD=0;
PORTD=2;
PORTB=decenas_7seg;
retardo(2);
PORTD=0;

PORTD=4;
PORTB=unidades_7seg;
retardo(4);
PORTD=0;
return;
}
void retardo(unsigned char k)
{
unsigned int a;
a=300;
while(a>0)
{
a--;
PORTD=k;
}
return;
}

SIMULACIN
Displays que
indican el
valor en
decimal

Dip-Switch para
ingresar el valor.
(0111 1000=120)

3. BIBLIOGRAFA

APUNTES DE SISTEMAS MICROPROCESADOS; Ing. Marco Herrera MSc.; Semestre 2014B; EPN; Quito-Ecuador.

APUNTES DE CONTROL CON MICROPROCESADORES; Ing. Jhon Pilataxi.; Semestre


2015-A; EPN; Quito-Ecuador.

Das könnte Ihnen auch gefallen