Att initiera ett 8259A mikroprocessorchip innefattar flera steg:
1. Startåterställning: Sätt på ström till 8259A-chippet. Detta initierar chipet och sätter det till ett känt tillstånd.
2. ICW1 (initieringskontrollord 1):
- Skriv 0x11 till initieringskontrollregistret (ICW1) för att starta initieringsprocessen.
- Den första biten (IC4) är satt till 1, vilket indikerar ett initieringskommando.
- Den andra biten (IC3) är också inställd på 1, vilket gör att 8259A kan acceptera fler initialiseringsord.
3. ICW2 (initieringskontrollord 2):
- Skriv önskat avbrottsvektorbasnummer till ICW2.
- Detta värde anger startpunkten för avbrottsvektorerna. Till exempel, om du skriver 0x20, kommer avbrotten att börja på minnesplatsen 0x20.
4. ICW3 (initieringskontrollord 3):
- Skriv önskat kaskadläge och avbrottsläge till ICW3.
- Bit 0 (IR0-IR2) anger avbrottsläget för Interrupt Request (IRQ) 0, 1 och 2.
- Bit 3 (ICW3-4) anger om chipet arbetar i singel- (ICW3-4 =0) eller kaskadläge (ICW3-4 =1).
5. ICW4 (initieringskontrollord 4):
- Skriv önskat specialmaskläge och buffrat/kantutlöst läge till ICW4.
- Bit 1 (SFNM) specificerar det speciella fullt kapslade läget.
- Bit 3 (BUF/EDG) anger om avbrott är kantutlösta (BUF/EDG =0) eller nivåutlösta (BUF/EDG =1).
6. Aktivera avbrott:
- Skriv 0x00 till Interrupt Mask Register (IMR) för att aktivera alla avbrott. Detta gör att 8259A kan börja bearbeta avbrott.
Dessa steg avslutar initieringsprocessen för 8259A-mikroprocessorchippet, konfigurerar det för att hantera avbrottsbegäranden och dirigera dem till lämpliga avbrottsservicerutiner.