Paso 3: El código
Para los usuarios de PIC18f...
he usado el compilador Hi-Tech.
#include
void serialwrite (datos unsigned char) \\ usart enviar código de byte
{
TXREG = datos;
while(TXIF==0);
}
void main() \\main función
{
TXSTA = 0 X 20; activar \\transmit
RCSTA = 0X90; \\serial en
SPBRG = 129; \\9600 en baudios
BRGH = 1; \\high de velocidad para reducir el error
TRISC7 = 1; \\rx como entrada
TRISC6 = 0; \\tx como salida
TRISD0 = 1; \\ el botón pines como entrada
TRISD1 = 1;
TRISD2 = 1;
TRISD3 = 1;
while(1)
{
if(Rd0==0) {\\ si se presiona el botón 1
while(Rd0==0); \\debounce lazo
serialwrite('1'); \\send 1
}
{if(RD1==0)}
while(RD1==0);
serialwrite('2');
}
{if(RD2==0)}
while(RD2==0);
serialwrite('3');
}
{if(RD3==0)}
while(RD3==0);
serialwrite('4');
}
}
}
Para los usuarios de ARDUINO...
const int buttonpin1 = 13; \\ buttonpins
const int buttonpin2 = 12;
const int buttonpin3 = 11;
const int buttonpin4 = 10;
void setup()
{
pinMode (buttonpin1, entrada); \\ haciendo todos los pines botón como entrada
pinMode (buttonpin2, entrada);
pinMode (buttonpin3, entrada);
pinMode (buttonpin4, entrada);
Serial.Begin(9600); \\ vuelta en serie a 9600 baudios
}
void loop()
{
Si (digitalRead(buttonpin1)==LOW) \\ Compruebe si se pulsa el botón 1
{
while(digitalRead(buttonpin1)==LOW); \\if entonces esperar hasta su es liberado
Serial.Write("1"); \\send uno a través del puerto serial
}
Si (digitalRead(buttonpin2)==LOW)
{
while(digitalRead(buttonpin2)==LOW);
Serial.Write("2");
}
Si (digitalRead(buttonpin3)==LOW)
{
while(digitalRead(buttonpin3)==LOW);
Serial.Write("3");
}
Si (digitalRead(buttonpin4)==LOW)
{
while(digitalRead(buttonpin4)==LOW);
Serial.Write("4");
}
Delay(5);
}