Skip to main content

8255A card at F3H with keyboard and display

Short answer

Addresses: A=F0H, B=F1H, C=F2H, Control=F3H. Control word B4H sets port A mode 1 input for keyboard and port B mode 1 output for display. Status word at port C includes IBF_A, INTR_A, OBF_B'. BSR word 09H enables INTE_A for keyboard interrupt.

An 8255A PPI card is connected to 8085 microprocessor has system as shown in figure below in which control word is stored in address of F3H. (a) What are the addresses captured by 8255A PPI card? (b) Draw the minimum interfacing circuit. (c) Write down the control word to initialize the 8255A PPI card. (d) Write down the status word format for 8255A PPI card for the system. (e) Write down BSR control word to initialize port A interrupt request. [Figure: 82C55A. Port A (PA0-PA7) takes inputs R0-R5, SHIFT and CONTROL from a fully decoded keyboard. PC4 is STROBE (input from the keyboard) and PC5 is ACK (output to the keyboard). PC3 is an INTERRUPT REQUEST line. Port B (PB0-PB7) drives B0-B5, BACKSPACE and CLEAR of a Burroughs self-scan display. PC1 is DATA READY (output), PC2 is ACK (input), PC6 is BLANKING (output), PC7 is CANCEL WORD (output). PC0 is an INTERRUPT REQUEST line.]

(a) Addresses

The control register is F3H (1111 0011), so A1 A0 = 11 and the base is F0H (1111 0000). The card captures F0H-F3H: Port A = F0H, Port B = F1H, Port C = F2H, Control = F3H. Decoding: A7-A2 = 111100.

(b) Minimum interfacing circuit (8085, I/O mapped)

 A7,A6,A5,A4 --------+
 A3,A2 --[NOT]-------+--[NAND]--> CS' (low for F0H-F3H)
 A1 -> A1   A0 -> A0   IOR' -> RD'   IOW' -> WR'
 AD0-AD7 -> D0-D7      RESET OUT -> RESET
 PA0-PA7 <- keyboard (R0-R5, SHIFT, CONTROL)
 PC4 <- STROBE   PC5 -> ACK   PC3 INTR_A -> 8085 RST 5.5
 PB0-PB7 -> display (B0-B5, BACKSPACE, CLEAR)
 PC1 -> DATA READY   PC2 <- ACK   PC0 INTR_B -> RST 6.5
 PC6 -> BLANKING     PC7 -> CANCEL WORD

(c) Control word

Port A: mode 1 input (keyboard with STROBE, ACK, INTR). Port B: mode 1 output (display with DATA READY, ACK, INTR). PC6, PC7 output. D7 = 1; D6D5 = 01; D4 = 1; D3 = 0 (PC7, PC6 output); D2 = 1; D1 = 0; D0 = 0 = 1011 0100 = B4H.

(d) Status word (read from port C)

D7D6D5D4D3D2D1D0
CANCEL WORD (I/O)BLANKING (I/O)IBF_AINTE_AINTR_AINTE_BOBF_B'INTR_B

(e) BSR word for port A interrupt request

INTE_A is PC4 (input mode). D7 = 0, D3D2D1 = 100, D0 = 1: 0000 1001 = 09H. Sending it to F3H (MVI A,09H and OUT F3H) enables INTR_A.

✓ Answer checked by Claude Sonnet 5.5

All Instrumentation II chapter 2 questions →