mientras estoy simulando el programa en proteus el led(salida) solo se queda parpadeando intermitentemente
no encuentro la forma para que al hacer los cambios de S1 y S2 solo deje pasar una de las cuatro entradas a la salida
aqui esta mi codigo
no encuentro la forma para que al hacer los cambios de S1 y S2 solo deje pasar una de las cuatro entradas a la salida
aqui esta mi codigo
Código:
#include C:\\Users\\abrah\\Documents\\Universidad\\demi.h
#use delay(clock=20000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
* *
* *#FUSES INTRC_IO //Oscilador Interno y tanto RA6 como RA7 son I/O
#FUSES NOWDT //Watch Dog Timer apagado
#FUSES PUT //Power Up Timer activado
#FUSES NOBROWNOUT //Reset ante variaciones de VCC desactivado
#FUSES NOIESO //Switch del oscilador en el encendido apagado
#FUSES NOFCMEN //detector de falla del oscilador principal apagado
#FUSES NOSTVREN //reset por desborde del stack desactivado
#FUSES NOLVP //Programación en baja tensión desactivada
#FUSES NOPROTECT //Protección contra lectura de la FLASH desactivada
#FUSES NOCPD //Protección de la EEPROM desactivada
#define A PIN_A0//set the pins
#define B PIN_A1
#define C PIN_A2
#define D PIN_A3
#define S1 PIN_B0
#define S2 PIN_B1
#define LD1 PIN_C2
int Sw1=0;//it states that Sw1 is 0 in the begining
int Sw2=0;
*
void main()
{
Sw1=input (S1);//Sw1 is an input
Sw2=input (S2);
while(true)
{
{
if ((Sw1==0)&(Sw2==0))//if port b5, b6 and a0 is 0
output_bit (PIN_A0,1);//led turns on
}
{
*if(input(PIN_A0)==1)//if input a0 (switch) is 1
output_toggle(PIN_C2);//output d2 led turns off
}
*
{
{
if ((Sw1==1)&(Sw2==0))
output_bit (PIN_A1,1);
}
{
*if (input(PIN_A1)==1)
output_toggle(PIN_C2);
}
*
{
{
if ((Sw1==0)&(Sw2==1))
output_bit (PIN_A2,1);
}
{
*if (input(PIN_A2)==1)
output_toggle(PIN_C2);
}
{
{
if ((Sw1==1)&(Sw2==1))
output_bit (PIN_A3,1);
}
{
*if (input(PIN_A3)==1)
output_toggle(PIN_C2);
* *
}
*
}
}
}
}
} ...
Última edición por un moderador: