Indholdsfortegnelse:
Video: Arduino Tutorial #3 - Shift Registers (74HC595) 2025
Når du styrer dine elektroniske projekter via en parallelport, består Kit 74 DOS-softwaren af tre kommandoer - RELAY, DELAY og WAITFOR - som du kan køre fra en kommandoprompt.
RELAY-kommandoen
RELAY-kommandoen sender en enkelt byte af data til parallelporten. Hver af de otte udgangsstifter er indstillet HØJ eller LAV, afhængigt af byten, du sender. Denne kommando angiver alle otte pins til HIGH:
RELAY FF
Og følgende kommando indstiller alle otte udgange til LOW:
RELAY 00
Desværre har de fleste versioner af RELAY-kommandoen på internettet en fejl, der kræver Du skal udstede kommandoen to gange for at få det til at fungere. Således skal du faktisk indtaste kommandoen RELAY FF to gange i rækkefølge for at tænde alle udgangsstifterne.
Du skal angive outputdata som et enkelt hexadecimalt tal.
Datapind | Hexværdi |
---|---|
1 | 01 |
2 | 02 |
3 | 04 |
4 | 08 > 5 |
10 | 6 |
20 | 7 |
40 | 8 |
80 | For at tænde alle tappene skal du bruge værdien FF. For at slå dem alle fra, skal du bruge værdien 00. |
For at slå mere end en pin til eller fra, skal du først beregne det otte-bitede binære tal ækvivalent med de stifter, du vil indstille. For at tænde tapperne 1, 2, 3 og 8, vil du for eksempel bruge den binære værdi 100000111. (Bemærk at tappen 1 er repræsenteret af den øverste bit af det binære tal, og at tappen 8 er den venstre side).
Endelig skal du slå op hvert fire-bit nummer i Tabel 4-3 for at bestemme den enkelt hexadecimale ciffer til brug. I dette eksempel konverteres det første fire-bit-nummer til 8 og det andet fire-bit-nummer konverteres til 7. Kombination af disse to tal giver dig det hexadecimale nummer 87. Således går kommandoen til at tænde 1, 2, 3, og 8 er
RELAY 87
Du skal indtaste denne kommando to gange for at få den til at fungere.
Binær værdi
Hexadecimaltall | Binær værdi | Hexadecimaltall | 0000 |
---|---|---|---|
0 | 1000 | 8 | 0001 |
1 | 1001 > 9 | 0010 | 2 |
1010 | A | 0011 | 3 |
1011 | B | 0100 | 4 |
1100 | C | 0101 | 5 |
1101 | D | 0110 | 6 |
1110 | E | 0111 | 7 |
1111 | F > Kontroltidspunkt med DELAY og WAITFOR | Kit 74-softwaren indeholder to kommandoer, som giver dig mulighed for at tilføje forsinkelser til dine scripts. Ved at inkorporere forsinkelser kan du styre timingen af enhederne styret af dit parallelportkredsløb.Du kan tænde pin 1, vente 5 minutter og slukke for eksempel igen. | Den mest nyttige af timingkommandoer er DELAY, hvilket blot forårsager, at scriptet skal standse i et bestemt antal sekunder. Hvis du vil forsinke dit script i 10 sekunder, skal du bruge denne kommando: |
DELAY 10
Følgende sekvens viser, hvordan alle udgange slukkes og slukkes med 1 sekunders intervaller:
: LOOP RELAY FF RELAY FF DELAY 1 RELAY 00 RELAY 00 DELAY 1 GOTO LOOP
Denne sekvens starter ved at tænde alle udgangsstifterne. Så venter det 1 sekund, slukker alle udgange, venter endnu et sekund og hopper til LOOP-etiketten for at starte sekvensen igen.
Du skal altid angive forsinkelsesperioden i sekunder. For at vente 1 minut skal du bruge denne kommando:
DELAY 60
En time indeholder 3, 600 sekunder, så følgende kommando forsinker scriptet i 1 time:
DELAY 3600
Den anden timingkommando er WAITFOR, som venter på at udføre indtil en bestemt tid på dagen ankommer. For at stoppe dit script frem til kl. 10:30, skal du bruge denne kommando:
WAITFOR 10: 30
Her er en sekvens, der aktiverer alle udgange kl. 10:30 hver dag, lader dem gå i en time, og slukker dem:
: LOOP WAITFOR 10: 30 RELAY FF RELAY FF DELAY 3600 RELAY 00 RELAY 00 GOTO LOOP