Buenos dias compañeros de grupo
hace un par de semanas me dejaron hacer un "organo electronico"
el programa consiste a travez del puerto b0 a b6 matar una determinada frecuencia
por A0.
El programa funciona correctamente , es mas simula en proteus
El problema viene al momento de armarlo en el protoboard, no entiendo porque no
logro escuchar nada.
Agradeceria si me pudiesen guiar en que me estoy equivocando
aclaro que lo he probado con transistores y sin transistores a la salida
sin obtener resultados
hace un par de semanas me dejaron hacer un "organo electronico"
el programa consiste a travez del puerto b0 a b6 matar una determinada frecuencia
por A0.
El programa funciona correctamente , es mas simula en proteus
El problema viene al momento de armarlo en el protoboard, no entiendo porque no
logro escuchar nada.
Agradeceria si me pudiesen guiar en que me estoy equivocando
aclaro que lo he probado con transistores y sin transistores a la salida
sin obtener resultados
Código:
#include <16f628A.h>
#FUSES XT,NOWDT
#USE delay (clock=4M) //frecuencia del cristal 4 Mhz
#DEFINE ENTRADA0 PIN_B0
#DEFINE ENTRADA1 PIN_B1
#DEFINE ENTRADA2 PIN_B2
#DEFINE ENTRADA3 PIN_B3
#DEFINE ENTRADA4 PIN_B4
#DEFINE ENTRADA5 PIN_B5
#DEFINE ENTRADA6 PIN_B6
#DEFINE SALIDA PIN_A0
VOID MAIN()
{
SET_TRIS_B(0B00000000);//CONFIGURA EL PUERTO B 1ENTRADAS Y 0 SALIDAS
SET_TRIS_A(0B11111111);//CONFIGURO EL PUERTO C EN ESDTE CASO TODOS SALIDA
output_b(0b0000000000);
WHILE (TRUE)
{
if(INPUT(ENTRADA0)==1)
{
OUTPUT_HIGH(SALIDA);
DELAY_MS(62);
}
if(INPUT(ENTRADA1)==1)
{
OUTPUT_HIGH(SALIDA);
DELAY_MS(125);
}
if(INPUT(ENTRADA2)==1)
{
OUTPUT_HIGH(SALIDA);
DELAY_MS(250);
}
if(INPUT(ENTRADA3)==1)
{
OUTPUT_HIGH(SALIDA);
DELAY_MS(500);
}
if(INPUT(ENTRADA4)==1)
{
OUTPUT_HIGH(SALIDA);
DELAY_MS(1000);
}
if(INPUT(ENTRADA5)==1)
{
OUTPUT_HIGH(SALIDA);
DELAY_MS(2000);
}
if(INPUT(ENTRADA6)==1)
{
OUTPUT_HIGH(SALIDA);
DELAY_MS(2551);
}
else
{
OUTPUT_LOW(SALIDA);
}
}
}

Última edición: