Stap 3: De CODE
Voor PIC18f gebruikers...
Ik gebruikte de HI-TECH COMPILER.
#include
VOID serialwrite (unsigned char gegevens) \\ usart Stuur byte-code
{
TXREG = gegevens;
while(TXIF==0);
}
void main() \\main functie
{
TXSTA = 0X20; \\transmit inschakelen
RCSTA = 0X90; \\serial op
SPBRG = 129; \\9600 baud-rate
BRGH = 1; \\high snelheid te verminderen fout
TRISC7 = 1; \\rx als input
TRISC6 = 0; \\tx als output
TRISD0 = 1; \\ knop pinnen als input
TRISD1 = 1;
TRISD2 = 1;
TRISD3 = 1;
while(1)
{
if(RD0==0) {\\ als knop 1 is ingedrukt
while(RD0==0); \\debounce lus
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');
}
}
}
Voor gebruikers van de ARDUINO...
Const int buttonpin1 = 13; \\ buttonpins
Const int buttonpin2 = 12;
Const int buttonpin3 = 11;
Const int buttonpin4 = 10;
VOID Setup
{
pinMode (buttonpin1, INPUT); \\ maken alle knop pinnen als input
pinMode (buttonpin2, INPUT);
pinMode (buttonpin3, INPUT);
pinMode (buttonpin4, INPUT);
Serial.begin(9600); \\ serie op 9600 baud-rate inschakelen
}
void loop
{
Als (digitalRead(buttonpin1)==LOW) \\ controleren als knop 1 is ingedrukt
{
while(digitalRead(buttonpin1)==low); \\if dus dan wachten tot het wordt vrijgegeven
Serial.write("1"); \\send een via seriƫle poort
}
Als (digitalRead(buttonpin2)==LOW)
{
while(digitalRead(buttonpin2)==low);
Serial.write("2");
}
Als (digitalRead(buttonpin3)==LOW)
{
while(digitalRead(buttonpin3)==low);
Serial.write("3");
}
Als (digitalRead(buttonpin4)==LOW)
{
while(digitalRead(buttonpin4)==low);
Serial.write("4");
}
delay(5);
}