Está en la página 1de 3

SECUENCIAS PIC16F877A

Dise�ar, programar, compilar y simular un programa que permita por medio de 2


pulsadores conectados a la entrada del puerto A, generar 4 secuencias diferentes en
8 LEDs verdes conectados a trav�s del puerto C, cada secuencia con al menos 5 pasos
distintos, 2 pulsadores adicionales modificaran la velocidad, en m�ltiplos de 300
ms con la que se visualizara cada cambio.
PULSADOR 1
PULSADOR 2
TASA DE INCREMENTO
0
0
1
0
1
3
1
0
5
1
1
10

C�digo en C para el programa


void aleat (int i, int a);
int k;
int o;

void main()
{
ADCON1 = 7;
TRISA = 15;
TRISC = 0;
PORTC = 0;
while (1)
{
switch (PORTA)
{
case 0:
aleat (1,1);
break;
case 1:
aleat (3,1);
break;
case 2:
aleat (5,1);
break;
case 3:
aleat (7,1);
break;
case 4:
aleat (1,3);
break;
case 5:
aleat (3,3);
break;
case 6:
aleat (5,3);
break;
case 7:
aleat (7,3);
break;
case 8:
aleat (1,5);
break;
case 9:
aleat (3,5);
break;
case 10:
aleat (5,5);
break;
case 11:
aleat (7,5);
break;
case 12:
aleat (1,10);
break;
case 13:
aleat (3,10);
break;
case 14:
aleat (5,10);
break;
case 15:
aleat (7,10);
break;
default:
PORTC = 0;
break;
}
}
}

void aleat (int i, int a)


{
for (k = 0; k<4; k++)
{
PORTC = PORTC + i;
for (o = 0; o<a; o++)
{
delay_ms (300);
}
}
PORTC = 0;
}

Simulaci�n en la herramienta ISIS de Proteus

Video explicativo del desarrollo del c�digo y simulaci�n


http://www.youtube.com/watch?v=zLuIzMOUG3A

Publicado por NEFTALI CECILIO en 21:48 No hay comentarios:


Enviar por correo electr�nico
Escribe un blog
Compartir con Twitter
Compartir con Facebook
Compartir en Pinterest

CONTADOR PULSADOR
Dise�ar, programar, compilar y simular un programa que permita a traves del puerto
B mostrar el incremento
binario (haciendo uso de LEDs), de una cantidad inicialmente en 0, por medio de un
interruptor conectado
al puerto A de un microcontrolador.

C�digo en C para el programa

bit oldstate;
void main() {
ADCON1 = 7;
TRISA = 1;
TRISB = 0;
PORTB = 0;
do {
if (Button (&PORTA, 0, 20, 0))
{
oldstate = 1;
}
if (oldstate && Button (PORTA, 0, 20, 1))
{
PORTB = PORTB++;
oldstate = 0;
}
} while (1);
}

También podría gustarte