1. Ripristino all'accensione: Alimentare il chip 8259A. Questo inizializza il chip e lo imposta su uno stato noto.
2. ICW1 (parola di controllo inizializzazione 1):
- Scrivere 0x11 nel registro di controllo dell'inizializzazione (ICW1) per avviare il processo di inizializzazione.
- Il primo bit (IC4) è impostato a 1, indicando un comando di inizializzazione.
- Anche il secondo bit (IC3) è impostato a 1, consentendo all'8259A di accettare più parole di inizializzazione.
3. ICW2 (parola di controllo inizializzazione 2):
- Scrivere il numero di base del vettore di interruzione desiderato su ICW2.
- Questo valore specifica il punto di partenza per i vettori di interruzione. Ad esempio, se scrivi 0x20, gli interrupt inizieranno dalla posizione di memoria 0x20.
4. ICW3 (parola di controllo inizializzazione 3):
- Scrivere la modalità cascata e la modalità interruzione desiderate su ICW3.
- Il bit 0 (IR0-IR2) specifica la modalità di interruzione per la richiesta di interruzione (IRQ) 0, 1 e 2.
- Il bit 3 (ICW3-4) specifica se il chip funziona in modalità singola (ICW3-4 =0) o in cascata (ICW3-4 =1).
5. ICW4 (parola di controllo inizializzazione 4):
- Scrivere la modalità maschera speciale desiderata e la modalità bufferizzata/attivata dal fronte su ICW4.
- Bit 1 (SFNM) specifica la modalità speciale completamente nidificata.
- Il bit 3 (BUF/EDG) specifica se gli interrupt vengono attivati dal fronte (BUF/EDG =0) o dal livello (BUF/EDG =1).
6. Abilita interruzioni:
- Scrivere 0x00 nell'Interrupt Mask Register (IMR) per abilitare tutti gli interrupt. Ciò consente all'8259A di avviare l'elaborazione degli interrupt.
Questi passaggi completano il processo di inizializzazione del chip del microprocessore 8259A, configurandolo per gestire le richieste di interruzione e instradarle alle routine di servizio di interruzione appropriate.
hardware © www.354353.com