Documentos de Académico
Documentos de Profesional
Documentos de Cultura
-Objetivos de la practica:
En esta practica se realizara en juego de Luces con un microcontrolador .
2.-Marco teorico :
PIC 16F628A
El lenguaje de este microcontrolador es el asm, y ya que es un lenguaje que esta mucho mas
cerca del hardware que del programador, han surgido compiladores de lenguajes de alto
nivel, entre ellos se encuentran el BASIC y C.
ING. ELECTRONICA
DIS. DIGITAL II
Cuenta con 16 pines de entrada/salida, dos temporizadores de 8 bits y uno de 16, ademas de
dos comparadores. El pin # 5 es el que se conecta al negativo en la fuente
de alimentacin para los puertos de i/o. El pin # 14 es el que se conecta al positivo, pin #4
es el reset del dispositivo.
Pines principales
Capacidad de interrupcion
Pila de 8 niveles
Por qu son estos modos importantes? Como es casi imposible construir un oscilador
estable que funcione a un amplio rango de frecuencias, el microcontrolador tiene que
saber a qu cristal est conectado, para poder ajustar el funcionamiento de sus
componentes internos. sta es la razn por la que todos los programas utilizados para
escribir un programa en el chip contienen una opcin para seleccionar el modo de oscilador.
Vea la figura de la izquierda.
CRISTAL DE CUARZO
Al utilizar el cristal de cuarzo para estabilizar la frecuencia, un oscilador incorporado
funciona a una frecuencia determinada, y no es afectada por los cambios de temperatura y
de voltaje de alimentacin. Esta frecuencia se etiqueta normalmente en el encapsulado del
cristal.
Aparte del cristal, los condensadores C1 y C2 deben estar conectados como se muestra en
ING. ELECTRONICA
DIS. DIGITAL II
RESONADOR CERMICO
Un resonador cermico es ms barato y muy similar a un cuarzo por la funcin y el modo
de funcionamiento. Por esto, los esquemas que muestran su conexin al microcontrolador
son idnticos. No obstante, los valores de los condensadores C1 y C2 difieren un poco
debido a las diferentes caractersticas elctricas. Refirase a la tabla que est a
continuacin.
OSCILADOR EXTERNO
Si se requiere sincronizar el funcionamiento de varios microcontroladores o si por alguna
razn no es posible utilizar ninguno de los esquemas anteriores, una seal de reloj se puede
generar por un oscilador externo. Refirase a la siguiente figura.
ING. ELECTRONICA
DIS. DIGITAL II
-Circuito Simulado
ING. ELECTRONICA
DIS. DIGITAL II
#include
<16F877A.h>
#fuses
XT,NOWDT,NOPUT,NOLVP,NOBROWNOUT,NOWRT,NOPROTECT
#Use
delay(clock=4000000)
#include
<lcd_16x2.c>
#use
fast_io(A)
#use
fast_io(B)
#use
fast_io(C)
#use
fast_io(D)
#byte
porta = 5
#byte
portb = 6
#byte
portc = 7
#byte
portd = 8
int Juego1[8]={0x81,0x42,0x24,0x18,0x24,0x42,0x81,0x00};
int Juego2[8]={0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff};
int Juego3[8]={0xaa,0x55,0xaa,0x55,0xf0,0x0f,0xf0,0x0f};
int Juego4[8]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
int i,A=0;
void main()
{ set_tris_a(0b11111111);
set_tris_d(0b00000000);
porta = 0;
portd = 0;
lcd_init();
ING. ELECTRONICA
DIS. DIGITAL II
lcd_gotoxy(1,1);
lcd_putc("CANAVIRI ROBERTO");
lcd_gotoxy(1,2);
lcd_putc("BUITRAGO FRANKLIN");
while(true)
{
for(i=0;i<8;i++)
{ if(input(PIN_A0)==1)
{while(input(PIN_A0)==1)
{}
if(A<=4)
{ A++;}
else
{ A=0;}
}
switch (A)
{ case 0:
output_d(Juego1[i]);
delay_ms(100);
break;
case 1:
output_d(Juego2[i]);
delay_ms(100);
break;
case 2:
output_d(Juego3[i]);
ING. ELECTRONICA
DIS. DIGITAL II
delay_ms(100);
break;
case 3:
output_d(Juego4[i]);
delay_ms(100);
break;
}
}
}
5.-Materiales:
-
Pic 16f877A
8 resistencia de 220
1 pulsador
8 led
1 cristal de 4 Mhz
1 display
2 capacitores de 33 pf y 15 pf
45 bs
4 bs
1bs
4bs
2bs
30bs
2bs
6.-Conclusiones
Se realizo el juego de luces utilizando el microcontrolador 16f877A.
ING. ELECTRONICA
DIS. DIGITAL II
DISEO DIGITAL
2
JUEGO DE LUCES