74LS serie Digital logik testare (3 / 4 steg)
Steg 3: programmering
* Att Visa Arduino Serial Monitor bara att gå till Verktyg > seriell övervaka i din Arduino IDE, som jag har på bilden där.
KODEN:
/*
Utforma en krets och skriva ett testprogram, använder Arduino Nano,
som kommer att testa två ingående Transistor-Transistor Logic (TTL) grindar
inklusive AND, OR, NAND och XOR.
Av: Zoran M
*/
int gatevalue; Deklarera alla variabler
int inputPin = 4;
int Output1Pin = 2;
int Output2Pin = 3;
int ledde = 13.
int led2 = 12.
int led3 = 11;
int led4 = 10;
int led5 = 9;
Börja att förklara vad pin är vad
void setup() {
Serial.BEGIN(9600);
pinMode (Output1Pin, OUTPUT);
pinMode (Output2Pin, OUTPUT);
pinMode (inputPin, ingång);
pinMode ledde (, OUTPUT);
pinMode (led2, produktionen);
pinMode (led3, produktionen);
pinMode (led4, produktionen);
pinMode (led5, produktionen);
gatevalue = 0;
}
void loop() {
gatevalue = gatevalue + (check_Gate (false, false) * 8); När indata är hög det lägger till ett värde till gatevalue
gatevalue = gatevalue + (check_Gate (falskt, sant) * 4); och varje gate har en annan gatevalue.
gatevalue = gatevalue + (check_Gate (sant, falskt) * 2);
gatevalue = gatevalue + (check_Gate (sant, sant) * 1);
växel (gatevalue) {
fall 1:
Serial.println ("grinden är en AND-gate."); När gatevalue är 1 är det en AND-gate
digitalWrite (ledde, låg); om gate, är lampan släckt
digitalWrite (led2, låg); OCH gate sanningen bordlägger utgångar är 0, 0, 0 och 1 som är hur lysdioder sätts upp
digitalWrite (led3, låg);
digitalWrite (led4, låg);
digitalWrite (led5, hög);
bryta;
fall 6:
Serial.println ("grinden är en XOR-grind.");
digitalWrite (ledde, låg); om gate, är lampan släckt
digitalWrite (led2, låg); //Truth värden
digitalWrite (led3, hög);
digitalWrite (led4, hög);
digitalWrite (led5, låg);
bryta;
fall 7:
Serial.println ("grinden är en eller-grind.");
digitalWrite (ledde, låg); om gate, är lampan släckt
digitalWrite (led2, låg); Sanning bordlägger värden
digitalWrite (led3, hög);
digitalWrite (led4, hög);
digitalWrite (led5, hög);
bryta;
fall 14:
Serial.println ("grinden är en NAND gate.");
digitalWrite (ledde, låg); om gate, är lampan släckt
digitalWrite (led2, hög); Sanning bordlägger värden
digitalWrite (led3, hög);
digitalWrite (led4, hög);
digitalWrite (led5, låg);
bryta;
standard:
Serial.println ("fel: Gate inte presentera.");
digitalWrite (ledde, högt); om porten inte är i, är tänd
digitalWrite (led2, låg);
digitalWrite (led3, låg);
digitalWrite (led4, låg);
digitalWrite (led5, låg);
}
gatevalue = 0;
Delay(1000);
}
int check_Gate (int RESULTAT1, int output2) {
int x;
digitalWrite (Output1Pin, RESULTAT1);
digitalWrite (Output2Pin, output2);
Delay(5); Kontrollera att signalen har tid till propogate genom grinden.
x = digitalRead(inputPin);
återvändande x;
}
Ladda upp koden till din Arduino, öppna den Serial Monitor och övervaka lysdioderna. Byta ut ICs och testa att de fungerar korrekt. Se till att den Serial Monitor och lysdioderna utskrift av korrekt information. Fortsätta till nästa steg för ytterligare bilder och ingående.