Escolar Documentos
Profissional Documentos
Cultura Documentos
Presentado por:
ANGELICA MARIA GARZON CASTRO
CODIGO: 1070598883
LEONARDO MONROY VELASQUEZ
CODIGO: 79590671
CESAR AUGUSTO PACHECO BARRERA
CODIGO: 11205422
WALTHER ANDRES GARZON CASTRO
CODIGO: 1070588059
Presentado a:
INGENIERO
Configuraciones
Puerto B como
salida
Enciende el led 8
Tiempo de
respuesta
Apaga el led 8
Enciende el led 7
Tiempo de
respuesta
Apaga el led 7
Enciende el led 6
Tiempo de
respuesta
Apaga el led 6
Enciende el led 5
Tiempo de
respuesta
Apaga el led 5
Enciende el led 4
Tiempo de
respuesta
Apaga el led 4
Enciende el led 3
Tiempo de
respuesta
Apaga el led 3
Enciende el led 2
Tiempo de
respuesta
Apaga el led 2
Enciende el led 1
Tiempo de
respuesta
Apaga el led 1
Fin
EJERCICIO 1 codigo fuente
#include <16f84A.h>
#fuses xt, nowdt, put
#use delay (clock=4000000)
#byte port_b=06
void main()
{
set_tris_b(0x00); // todo el puerto b de salida
port_b=0;
do
// iniciamos en cero
// ejecuta la accin
{
delay_ms (200);
bit_set (port_b, 7);
delay_ms (200);
// tiempo de respuesta
// enciende el led 8
// tiempo de respuesta
// tiempo de respuesta
// enciende el led 7
// tiempo de respuesta
delay_ms (200);
bit_set (port_b, 5);
delay_ms (200);
// tiempo de respuesta
// enciende el led 6
// tiempo de respuesta
// tiempo de respuesta
// enciende el led 5
// tiempo de respuesta
// tiempo de respuesta
// enciende el led 4
// tiempo de respuesta
// tiempo de respuesta
// enciende el led 3
// tiempo de respuesta
// tiempo de respuesta
// enciende el led 2
// tiempo de respuesta
// tiempo de respuesta
// enciende el led 1
// tiempo de respuesta
// tiempo de respuesta
}
While (true); // bucle infinito
}
Los indicadores que deben tenerse son del tipo LED, solo uno de ellos
debe encender a la vez y su funcin se describe como:
INICIO
Configuracin
Puerto b como salida
Puerto A como
entrada
Pin a0==0
Enciende led
1
Pin a0==0
Apaga led 1
Enciende led
2
Pin a0==0
Apaga led 2
Enciende led
3
Pin a0==0
Apaga led 3
Enciende led
4
Pin a0==0
Apaga led 4
Enciende led
5
Pin a0==0
Apaga led 5
Enciende led
6
Pin a0==0
Apaga led 6
Enciende led
7
Pin a0==0
Apaga led 7
Enciende led
8
fin
int aux;
void main ()
{
aux =0;
While (true)
{
delay_ms (200);
// tiempo de respuesta
// incrementamos el contador
}
If (aux==1)
{
output_high (pin_b0); // enciende el led 1
}
If (aux==2)
{
output_high (pin_b1);
output_low (pin_b0);
// enciende el led 2
// apaga el led 1
}
If (aux==3) // si el nmeros de pulsos es igual a 3
{
output_high (pin_b2); // enciende el led 3
output_low (pin_b1);
// apaga el led 2
}
If (aux==4) // si el nmeros de pulsos es igual a 4
{
output_high (pin_b3);
// enciende el led 4
output_low (pin_b2);
// apaga el led 3
}
If (aux==5) // si el numeros de pulsos es igual a 5
{
output_high(pin_b4);
output_low(pin_b3);
// enciende el led 5
// apaga el led 4
}
if(aux==6)
{
output_high(pin_b5); // enciende el led 6
output_low(pin_b4); // apaga el led 5
}
if(aux==7)
{
output_high(pin_b6); // enciende el led 7
output_low(pin_b5); // apaga el led 6
}
if(aux==8)
{
output_high(pin_b7);
output_low(pin_b6);
// enciende el led 8
// apaga el led 7
}
if(aux==9)
{
aux=0;
}
}
PRACTICA
No.
3
Programacin
avanzada
de
Microcontroladores Microchip PIC, Texas Instruments MSP430
y Motorola Freescale
Microcontroladores
PIC16F84A
y/o
Microcontroladores
MSP430Gxxxx y/o Motorola Freescale 68HC908JK3oJK1oJL1.
Protoboard, Multmetro.
Resistencias, condensadores, cristal 4MHz, pulsadores, LEDs,
teclado matricial (3x4 o 4x4), display LCD, etc, segn esquemas
de circuito diseado como solucin por parte del grupo
colaborativo de estudiantes en campus virtual.
Pinzas, pelacables, cable AWG22 (similar al de UTP) en varios
colores.
INICIO
Configuracin
Puerto b como salida
Puerto A como
entrada
Pin a0==0
Pin a1==0
Enciende led
1
led 1
PinApaga
a0==0
Enciende led
2
Pin a0==0
Apaga led 2
Enciende led
3
Pin a0==0
Apaga led 3
Enciende led
4
Pin a0==0
Apaga led 4
Enciende led
5
Pin a0==0
Apaga led 5
Enciende led
6
Apaga led 6
Pin a0==0
Enciende led
7
Pin a0==0
Apaga led 7
Enciende led
8
fin
EJERCICIO 3
#include <16f84A.h>
#fuses xt,nowdt,put
#use delay (clock=4000000)
int aux, cont;
aux=0;
cont=0;
SET_TRIS_A(0b11111111); // todos los puertos A como entrada
while(true)
{
delay_ms(100);
// tiempo de respuesta
{
aux=aux+1;
// incrementamos el contador
}
if(aux==1)
{
output_high(pin_b0); // enciende el led 1
}
if(aux==2)
{
output_high(pin_b1);
output_low(pin_b0);
// enciende el led 2
// apaga el led 1
}
if(aux==3) // si el numeros de pulsos es igual a 3
{
output_high(pin_b2); // enciende el led 3
output_low(pin_b1);
// apaga el led 2
}
if(aux==4) // si el numeros de pulsos es igual a 4
{
output_high(pin_b3);
// enciende el led 4
output_low(pin_b2);
// apaga el led 3
}
if(aux==5) // si el numeros de pulsos es igual a 5
{
output_high(pin_b4);
output_low(pin_b3);
// enciende el led 5
// apaga el led 4
}
if(aux==6)
{
output_high(pin_b5); // enciende el led 6
output_low(pin_b4); // apaga el led 5
}
if(aux==7)
{
output_high(pin_b6); // enciende el led 7
output_low(pin_b5); // apaga el led 6
}
if(aux==8)
{
output_high(pin_b7);
output_low(pin_b6);
// enciende el led 8
// apaga el led 7
}
if(aux==9)
{
aux=0;
}
if(input(pin_a1)==0) // si el pin a1 es igual a cero // si el RA1 es igual
a cero
{
cont=cont+1;
// incrementamos el contador
}
if(cont==1)
{
output_high(pin_b0);
// enciende el led 1
{
output_high(pin_b1); // enciende el led 2
output_high(pin_b3); // enciende el led 4
output_high(pin_b5); // enciende el led 6
output_high(pin_b7); // enciende el led 8
output_low(pin_b0); // apaga el led 1
output_low(pin_b2); // apaga el led 3
output_low(pin_b4); // apaga el led 5
output_low(pin_b6); // apaga el led 7
}
if(cont==3) // si el numeros de pulsos es igual a 3
{
output_high(pin_b0); // enciende el led 1
output_high(pin_b2); // enciende el led 3
output_high(pin_b4); // enciende el led 5
output_high(pin_b6); // enciende el led 7
output_low(pin_b1); // apaga el led 2
output_low(pin_b3); // apaga el led 4
output_low(pin_b5); // apaga el led 6
output_low(pin_b7); // apaga el led 8
}
if(cont==4) // si el numeros de pulsos es igual a 4
{
cont=0;