Professional Documents
Culture Documents
1
MEMORYINTERFACING WITH 8086
2
P.SATHYANARAYANA EEE SNIST
RAM(Random Access Memory)
It is a Volatile memory
Two types
Static RAM
Dynamic RAM
Static RAM
Uses flip flops to store bit of information
Dynamic RAM
Bits stored as charge in capacitors
P.SATHYANARAYANA EEE SNIST
ROM(Read Only Memory )
Flash memory
– Erase whole memory electrically
2048 x 8
INPUT BUFFER o WR
o CS
INTERNAL DECODER
NO. OF LOCATIONS
o
OUTPUT BUFFER
o RD
SIZE OF EACH MEMORY LOCATION
OUTPUT DATA
P.SATHYANARAYANA LOGIC
EEE DIAGRAM OF SRAM
SNIST
MEMORY STRUCTURE
2048 x 8 (2K x 8)
INTERNAL DECODER
NO. OF LOCATIONS
EPROM
Address Lines 2048 x 8
o RD
OUTPUT BUFFER
o CS
CS CHIP SELECT
OUTPUT DATA LOGIC DIAGRAM OF EPROM
P.SATHYANARAYANA EEE SNIST
P.SATHYANARAYANA EEE SNIST
MEMORY BANKS OF 8086
64 KB
32 KB 32 KB
BHE
GND
M/IO
A17
A18
A19
Interface a 64 KB memory using the 32x 8
A0 static RAM with the microprocessor 8086
GND
M/IO P.SATHYANARAYANA EEE SNIST
P.SATHYANARAYANA EEE SNIST
8255 PPI
PROGRAMMABLE PERIPHERAL INTERFACE
I/O
8255 PERIPHERAL
MICROPROCESSOR
PPI
Eg: Keyboard,
Display, ADC
DAC etc…
These 24pins are divided into 2 groups Group A and Group B and each
group has 12pins
ADDRESS LINES ALONG WITH READ ,WRITE AND CHIP SELECTION SIGNALS
D7 D6 D5 D4 D3 D2 D1 D0
0 X X X D3 D2 D1 S/R
0 0 0 1/0 PC0
0 0 1 1/0 PC1
NOT USED 0 1 0 1/0 PC2
0 1 1 1/0 PC3
BIT SET RESET MODE 1 0 0 1/0 PC4
1 0 1 1/0 PC5
1 1 0 1/0 PC6
1 1 1 1/0 PC7
S/R SET/RESET
P.SATHYANARAYANA EEE SNIST
Write a set of instructions to set PC7 pin of the 8255 PPI having
Control word register address at 48H
PC7
0FH 0FH
8
ACCUMULATOR CWR
8086 8255
PC4
09H 09H
8
ACCUMULATOR CWR
8086 8255
0 x x x D3 D2 D1 S/R
1 INPUT MB MODE
0 OUTPUT 0 MODE 0
PCUP PC7 - PC4 1 MODE 1
1 INPUT
0 OUTPUT
P.SATHYANARAYANA EEE SNIST
Write a set of instructions to perform the following
1. Port A as input in mode 0
2. Port B as output in mode 1
3. Initialize Port CHIGH as output and Port CLOW as input
The 8 bit address of the control word register CWR is 08H
D7 D6 D5 D4 D3 D2 D1 D0
1 MA1 MA0 PA PCUP MB PB PCLOW
1 0 0 1 0 1 0 1 95H
95H 95H
8
ACCUMULATOR CWR
8086 8255
A2H A2H
8
ACCUMULATOR CWR
8086 8255
MOV AL, A2 H
OUT 06H, AL ; Initialization of control word
INT 3
P.SATHYANARAYANA EEE SNIST
Write an initialization sequence to define
1. Port A output in mode 0
2. Port B output in mode 1
The 16 bit address of the control word register CWR is 2006H
D7 D6 D5 D4 D3 D2 D1 D0
1 MA1 MA0 PA PCUP MB PB PCLOW
1 0 0 0 0 1 0 0 84H
84H C4H
8
ACCUMULATOR CWR
8086 8255
Data can be simply read from and written to the input and
output ports respectively, after appropriate initialization
8 PA7 – PA0
4 PC7 – PC4
D7 – D0 8255
8 4 PC3 – PC0
PPI
8
PB7 – PB0
MODE 1 PORT A
PORT A (PA0 – PA7) INPUT
PORT C (HAND SHAKE SIGNALS)
PC4 STB STROBED INPUT
PC5 IBF INPUT BUFFER FULL
PC3 INTR INTERRUPT REQUEST
PC6, PC7 BOTH PINS ARE IN I/O MODE
MODE 1 PORT B
PORT B (PB0 – PB7) INPUT
PORT C (HAND SHAKE SIGNALS)
PC2 STB STROBED INPUT
PC1 IBF INPUT BUFFER FULL
PC0 INTR INTERRUPT REQUEST
8255 I/O
MICROPROCESSOR PERIPHERAL
PPI
8086 INTR
Eg: Keyboard
IBF
INTR is set by the STB is a one , IBF is a one and INTE is a one
P.SATHYANARAYANA EEE SNIST
8255 MODE 1 - WITH INPUT CONTROL /HAND SHAKE SIGNALS
MODE 1 PORT A
PORT A (PA0 – PA7) OUTPUT
PORT C (HAND SHAKE SIGNALS)
PC7 OBF OUTPUT BUFFER FULL
PC6 ACK ACKNOWLEDGE
PC3 INTR INTERRUPT REQUEST
PC4, PC5 BOTH PINS ARE IN I/O MODE
MODE 1 PORT B
PORT B (PB0 – PB7) OUTPUT
PORT C (HAND SHAKE SIGNALS)
PC2 ACK ACKNOWLEDGE
PC1 OBF OUTPUT BUFFER FULL
PC0 INTR INTERRUPT REQUEST
8255 I/O
MICROPROCESSOR PERIPHERAL
PPI
8086 INTR
Eg: Printer
ACK
INTR is set when ACK is a “one”, OBF is a “one”, and INTE is a “one”.
It is reset by the falling edge of WR.
P.SATHYANARAYANA EEE SNIST
2
PC 4,5
Port A can be used for data transfer between I/O device and microprocessor
In this mode read operation can be followed by write operation or write operation can
be followed by read operation
OR
OR
MASKABLE INTERRUPTS
The maskable interrupts are the interrupts which can be ignored or masked
These interrupts can be kept pending
These interrupts are generally used to interface the peripheral devices
Example : INTR
Example : NMI
P.SATHYANARAYANA EEE SNIST
CLASSIFICATION OF INTERRUPTS
VECTOR INTERRUPTS
Example: NMI
Example: INTR
While the CPU is executing a program, an interrupt breaks the normal sequence
of execution of instructions, diverts its execution to some other program called
“Interrupt Service Routine (ISR)”
00000H
P.SATHYANARAYANA EEE SNIST
INTERRUPT VECTOR TABLE OR VECTOR INTERRUPT TABLE
CS:IP
DEDICATED INTERRUPTS
00187H 0FH
00186H 00H
00185H 98H
00184H 72H
Registers used:
AH = 2
DL = the character to be displayed.
Example:
MOV AH, 2
MOV DL, ’A’
INT 21H
Registers used:
AH = 1
Example:
MOV AH, 1
INT 21H
MOV MEM, AL
Registers used:
AH = 9
DX = the offset address of the data to be displayed.
Example:
STR DB “ EEE_STUDENTS$ ”
Example :
FUNCTION 2H
Example:
MOV AH, 2H
MOV BH, 0H
MOV DH,12H
MOV DL, 39H
INT 10H
They are:
It is a 8 bit Register
When an interrupt occurs, the interrupt request register(IRR) will set the
corresponding bit
It is a 8 bit Register
D7 D6 D5 D4 D3 D2 D1 D0
M7 M6 M5 M4 M3 M2 M1 M0
POLLED MODE
LOWEST PRIORITY
HIGHEST PRIORITY
This mode is used in the applications where all interrupting devices are equal
priority
In this mode, a device after being serviced, receives the lowest priority
For example:
If IR2 has highest priority, then IR2 is serviced and this serviced IR2
assigns the lowest priority and other priorities are rotate correspondingly
4 3 2 1 0 7 6 5 IR2 SERVICED
3 2 1 0 7 6 5 4 IR3 SERVICED
P.SATHYANARAYANA EEE SNIST
OPERATING MODES OF 8259A PIC
SPECIAL FULLY NESTED MODE
POLLED WORD
D7 D6 D5 D4 D3 D2 D1 D0
I X X X X W2 W1 W0
D7 D6 D5 D4 D3 D2 D1 D0
1 0 0 0 0 1 0 1 85H