You are on page 1of 4

Introduccin

El Atmega328 AVR 8-bit es un Circuito integrado de alto rendimiento que est basado un
microcontrolador RISC, combinando 32 KB ISP flash una memoria con la capacidad de leermientras-escribe, 1 KB de memoria EEPROM, 2 KB de SRAM, 23 lneas de E/S de propsito
general, 32 registros de proceso general, tres temporizadores flexibles/contadores con modo
de comparacin, interrupciones internas y externas, programador de modo USART, una
interface serial orientada a byte de 2 cables, SPIpuerto serial, 6-canales 10-bit Conversor
A/D (8-chanales en TQFP y QFN/MLFpackages), "watchdog timer" programable
con oscilador interno, y cinco modos de ahorro de energa seleccionables por software. El
dispositivo opera entre 1.8 y 5.5 voltios. Por medio de la ejecucin de poderosas instrucciones
en un solo ciclo de reloj, el dispositivo alcanza una respuesta de 1 MIPS, balanceando
consumo de energa y velocidad de proceso.

Objetivo
Construir un contador de eventos generados con un botn con salida en un
display de 7 segmentos donde la salida deber ir de 0 a 9, para despus
reiniciar nuevamente en 0.
Planteamiento de hardware
Realizaremos el contador por interrupciones mostrando la salida en un display
de 7 segmentos, debido a que generamos un 1 lgico en la salida del
microcontrolador usamos un display de ctodo comn, ya que este display
tiene conectados entre s todos los ctodos y solo se encendern cuando se
genere un nodo en cualquier pin.

Como sabemos solamente debemos encender una secuencia de leds en un


orden especfico, entonces generaremos los nmeros del display en
hexadecimal:
0--> 0x3F
1--> 0x06
2--> 0x5B
3--> 0x4F

4--> 0x66
5--> 0x6D
6--> 0x7C
7--> 0x07
8--> 0x7F
9--> 0x667

La salida debe incrementarse en 1 cada vez que se presione el botn,


consideraremos que el usuario tarda entre 150 y 300 mS al presionar un botn
y que las operaciones del MCU estn en el orden de microsegundos, por lo que
es conveniente usar un delay para que la salida no se incremente en forma
desmedida y una segunda evaluacin para eliminar el ruido.
Diseo del software

Resultados
Finalmente con ayuda del software Proteus 8 professional simulamos el circuito
para observar el comportamiento del sistema antes de montarlo en un
protoboard, como se observa la simulacin resulto ser satisfactoria.

Conclusiones
Snchez Silva Salvador Alejandro
Es importante sealar que se debe tomar la correcta lectura de la entrada
debido a que si no es adecuada puede ocasionar una singularidad en la
ejecucin del cdigo y provocar un mal funcionamiento del circuito, tambin
nos dimos cuenta de la versatilidad del lenguaje c, ya que al ser de alto nivel
es ms comprensible a nivel cognitivo .
Garca Juanillo Donaldo
Como nos dimos cuenta es vital estar haciendo constantemente la evaluacin
de nuestros contadores para evitar problemas de secuencia, as como tambin
escoger un tiempo de retardo adecuado para la interaccin del usuario al
realizar las interrupciones.
Camarillo Moreno Orlando Salvador
Con base en lo realizado en la prctica yo concluyo que el trabajar en lenguaje
c por ser de mas alto nivel que ensamblador puede resultar en ocasiones ms
sencillo , sin embargo siempre queda la posibilidad de llamar instrucciones de
ensamblador en nuestro cdigo en c cuando consideremos conveniente para
ayudar a optimizar el funcionamiento de nuestro sistema.
Apendice
#include <avr/io.h>
#include<util/delay.h>
int main(void)
{
int i;
int cont[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7C,0x07,0x7F,0x67};
DDRD=0xFF;
DDRB=0x00;
PORTB=0xFF;
while(1)
{i=0;
while(i<10){
PORTD=cont[i];
if (!(PINB & 1))
{i++;_delay_ms(280);}
}
}}

Referencias:
-Felipe Santiago Espinosa (2012). LOS
MICROCONTROLADORES AVR DE ATMEL. Huajuapan de len,
Oaxaca.

You might also like