>> Tecnologia elettronica >  >> Audio personale >> Radiosveglie

Programma assembly 8085: contatore binario continuo con ritardo di 1 secondo

Codice assembly 8085 completo e commentato

Il seguente programma inizializza un contatore a 16 bit a 0000H, lo incrementa continuamente, visualizza il valore (tramite una porta di output simulata) e inserisce un ritardo di ~1 secondo tra i conteggi usando un ciclo annidato calibrato per un clock a 3 MHz.

ORG 1000H ; Indirizzo di inizio programma LXI H, 0000H ; Inizializza contatore a 16 bit (H-L) a 0 MVI B, 00H ; Byte alto del contatore di ritardo (ciclo esterno) MVI C, 00H ; Byte basso del contatore di ritardo (ciclo interno) DISPLAY: ; Routina di output simulata MOV A, L ; Ottieni byte basso del contatore OUT 01H ; Output sulla porta 01H (es. LED/display) MOV A, H ; Ottieni byte alto OUT 02H ; Output sulla porta 02H INCREMENT: INX H ; Incrementa contatore a 16 bit (HL = HL + 1) DELAY_1S: ; ~1 secondo delay @ 3 MHz (circa 1M cicli) LXI B, 0F424H ; Carica BC con 62.500 (0xF424) per cicli esterni+interni DELAY_LOOP: DCX B ; Decrementa BC (10 T-states) MOV A, B ; Controlla byte alto (4 T-states) ORA C ; OR con byte basso (4 T-states) JNZ DELAY_LOOP ; Salta se non zero (10/7 T-states) ; Totale ~ 62.500 * 28 ≈ 1,75M T-states ≈ 0,58s @ 3MHz ; Ajusta la costante per 1s esatto (es. 0x10000 = 65.536) JMP DISPLAY ; Ripeti all'infinito 

Punti chiave

Sommario del flusso

  1. Inizializza contatore e costanti di ritardo
  2. Visualizza il conteggio corrente
  3. Incrementa il contatore
  4. Esegui il ciclo di ritardo calibrato
  5. Torna alla visualizzazione
  1. Orologio a pendolo Baldwin modello CB936R: valore e autenticazione
  2. Impostare Manualmente l'Ora su LG Optimus
  3. Impostare l'Ora su un Orologio Timex K-Cell (Termocompensato) Senza Corona
  4. Come Costruire una Radio FM di Base
  5. Driver 3Com 905CX-TXM: Correzione del Modello e Dove Trovare i Driver
  6. Durata del Motore Elettrico: Cosa Determina Quanto a Lungo Dura il Tuo Motore?