>> Elettronica Tecnologia >  >> telefoni >> Rispondere Machines

Scrivi il codice di assemblaggio per il sistema di controllo del semaforo utilizzando 8086?

"assemblea".

; Definire gli indirizzi di memoria per il controllo del semaforo

TL_RED eq 00H

TL_GIALLO equ 01H

TL_VERDE equ 02H

TL_CONTROL equ 03H

; Definire le porte I/O per il controllo del semaforo

OUTPUT_PORT equ 04H

; Definire i valori di ritardo

DELAY_TIME pari a 10000

org 100H

; Il programma principale inizia qui

principale:

movimento al, TL_RED; Inizializza il semaforo al rosso

mov [TL_CONTROL], al

ciclo jmp; Vai al ciclo

ciclo continuo:

movimento al, [TL_CONTROL]; Leggi lo stato attuale del semaforo

cmp al, TL_RED; Controlla se il semaforo è rosso

sì, rosso; Se rosso, passa allo stato rosso

cmp al, TL_GIALLO; Controlla se il semaforo è giallo

sì, giallo; Se giallo, passa allo stato giallo

cmp al,TL_GREEN; Controlla se il semaforo è verde

sì, verde; Se verde, passa allo stato verde

rosso:

movimento, OUTPUT_PORT; Seleziona la porta di uscita per la luce rossa

fuori al, 01H; Accendi la luce rossa

ritardo della chiamata; Ritardo di DELAY_TIME millisecondi

movimento, OUTPUT_PORT; Seleziona la porta di uscita per la luce rossa

fuori alle, 00H; Spegni la luce rossa

movimento al, TL_YELLOW; Imposta lo stato del semaforo successivo su giallo

mov [TL_CONTROL], al

ciclo jmp; Vai al ciclo

giallo:

movimento, OUTPUT_PORT; Seleziona la porta di uscita per la luce gialla

fuori al, 01H; Accendi la luce gialla

ritardo della chiamata; Ritardo di DELAY_TIME millisecondi

movimento, OUTPUT_PORT; Seleziona la porta di uscita per la luce gialla

fuori alle, 00H; Spegni la luce gialla

movimento al, TL_GREEN; Imposta lo stato del semaforo successivo su verde

mov [TL_CONTROL], al

ciclo jmp; Vai al ciclo

verde:

movimento, OUTPUT_PORT; Selezionare la porta di uscita per la luce verde

fuori al, 01H; Accendi la luce verde

ritardo della chiamata; Ritardo di DELAY_TIME millisecondi

movimento, OUTPUT_PORT; Selezionare la porta di uscita per la luce verde

fuori alle, 00H; Spegni la luce verde

movimento al, TL_RED; Imposta lo stato del semaforo successivo su rosso

mov [TL_CONTROL], al

ciclo jmp; Vai al ciclo

ritardo:

mov cx, DELAY_TIME; Inizializza il contatore per il ritardo

xo dx, dx; Cancella registro dx

ritardo_loop:

ciclo_ritardo_loop; Ciclo fino a quando il contatore raggiunge lo zero

ritirarsi

  1. Si può mettere un adattatore wireless USB su un televisore a Go Wireless per Internet Surfing
  2. Videocamera MiniDV Vantaggi e svantaggi
  3. Come collegare un modulatore RF a un televisore
  4. Come posso controllare la frequenza di clock velocità del mio RAM
  5. Come reimpostare un iPhone disabili
  6. Come collegare un canale Master Modello 9510 Antenna