0% found this document useful (0 votes)
368 views

Programmable Peripheral Interface Devices: Support Chips

The 8155 is a programmable peripheral interface chip used to interface I/O devices to a microprocessor like the 8085. It includes 256 bytes of RAM, 3 I/O ports (A, B, C), and a timer. The document describes how to interface and program the 8155 chip to read data from an analog to digital converter and display the output on an LED display.

Uploaded by

Madhu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
368 views

Programmable Peripheral Interface Devices: Support Chips

The 8155 is a programmable peripheral interface chip used to interface I/O devices to a microprocessor like the 8085. It includes 256 bytes of RAM, 3 I/O ports (A, B, C), and a timer. The document describes how to interface and program the 8155 chip to read data from an analog to digital converter and display the output on an LED display.

Uploaded by

Madhu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25

Programmable Peripheral

Interface Devices

Support chips: 8155, 8255, 8279, 8254,


DMA Controller, Interrupt Controller,
USART
Programmable Interface Devices
 used to interface a I/O device to the
microprocessor

System Bus Programmable


I/O I/O
8085 Devices
Interface
8155 – A multipurpose programmable
interface
 Designed to be compatible with 8085
 It includes
 256 bytes of Read/Write memory
 Three I/O ports
 Port A
 Port B
 Port C
 A 14-bit timer
Block Diagram - 8155
RESET
Port A

256 X 8 A 8 PA0-7
AD0-7 8

I/O Devices
Static
IO/M RAM Port B
8085

RD B 8 PB0-7
WR
ALE Port C

Timer C 6 PC0-5
CE

Timer CLK Vcc (+5 V)

TIMER OUT Vss (0 V)


Application design with 8155
 Objectives
 Interfacing 8155 with 8085
 Programming 8155
Interfacing 8085 with 8155

RESET
Port A
AD0-7 8 256 X 8 A 8
Static
CE RAM Port B
A15 8085
B 8
IO/M
RD
Port C
WR
Timer C 6
ALE

8085 8155
Programming 8155
 8155 is a Programmable Peripheral Interface
 8085 can send data to 8155 using data bus
 This data can be
 For I/O devices connected to 8155
 Timer registers of 8155
 Instruction/Command word for 8155
 Commands for 8155 are stored in a 8-bit
Control Register inside 8155
What type of Commands can be given
to 8155?
 To configure the I/O ports as Input or Output
 To start/stop timer etc.
 To use handshake mode or not
Control word for 8155
 A command/instruction for 8155 is also called
control word
 This control word is written to control register
of 8155
 Control word of 8155 is of 8-bits
Control Word Definition for 8155
D0 Port A 0, Input D3 D2 PORT C
0 0 ALT1
D1 Port B 1, Output
0 1 ALT2
D2 1 0 ALT3
Port C 1 1 ALT4
D3
D4 Interrupt Enable Port A D7 D6 Timer
0, Disable
0 0 NOP
D5 Interrupt Enable Port B 1, Enable 0 1 Stop
D6 1 0 Stop
after TC
Timer
D7
1 0 Start
I/O functions of Port C

ALT D3 D2 PC5 PC4 PC3 PC2 PC1 PC0


ALT1 0 0 I I I I I I
ALT2 0 1 O O O O O O
ALT3 1 0 O O O STBA BFA INTRA

ALT4 1 1 STBB BFB INTRB STBA BFA INTRA

I = Input O = Output

STB = Strobe BF = Buffer Full INTR = Interrupt Request


Design an interfacing circuit to read data from an A/D
converter using the 8155A in the peripheral mapped I/O.

AD0-AD7
8155 P Digital
8085 A/D
Input
IO/M o Converter
r
ALE
t
RD A
WR PC5
SOC
RESET P P
o o BFA
r r OE
CE t t
STBA
B C EOC
A15 E2 O7 O2 O 0
A14 E1
A13 A2
A12 A1 LED Analog
A11 A0 3-to-8 Decoder Display Input
Port Addresses of 8155
Chip Selection

A7 A6 A5 A4 A3 A2 A1 A0 Port
0 0 0 1 0 0 0 0 Control/Status
Register = 10H
0 0 1 Port A = 11H
0 1 0 Port B = 12H
0 1 1 Port C = 13H
1 0 0 LSB Timer = 14H
1 0 1 MSB Timer = 15H
Application Programming Logic
1. Configure 8155
2. 8085 sends SOC command to ADC
3. 8085 communicates with ADC using
PortC in handshake mode
4. 8085 reads 8-bit temperature value from
port A
5. 8085 displays the temperature value on
the LED display
1. Configure 8155 I/O Ports
 Port A as INPUT port
 Port B as OUTPUT
port
 Port C in ALT3 mode

ALT D3 D2 PC5 PC4 PC3 PC2 PC1 PC0


ALT3 1 0 O O O STBA BFA INTRA

SOC EOC OE
Control Word for configuration
D0 0 0, Input D3 D2 PORT C
Port A
D1 1 1, Output 0 0 ALT1
Port B
0 1 ALT2
D2 0 1 0 ALT3
Port C
D3 1 1 1 ALT4

D4 0 IE Port A 0, Disable D7 D6 Timer


D5 0 1, Enable 0 0 NOP
IE Port B
0 1 Stop
D6 0 1 0 Stop
Timer after TC
D7 0
1 0 Start
Program Instructions for configuration
 Data
 Control word : 0AH
 Port Address
 Address of Control register : 10H

 Instructions
 MVI A, 0AH
 OUT 10H
2. 8085 sends SOC command to
ADC
 A small duration pulse on SOC input of ADC
will start conversion process
 SOC input of ADC is connected to port pin
PC5 of Port C (Port address 13H)
 Data
 Data value 20H followed by 00H
ALT D3 D2 PC5 PC4 PC3 PC2 PC1 PC0
ALT3 1 0 O O O STBA BFA INTRA

1 0 0 0 0 0
SOC
 Instructions
Start: MVI A, 20H
OUT 13H

MVI A, 00H
OUT 13H
3. 8085 communicates with ADC
using Port C in handshake mode
 Port A used to input 8-bit data from ADC
 Port C used for handshaking
ALT D3 D2 PC5 PC4 PC3 PC2 PC1 PC0
ALT3 1 0 O O O STBA BFA INTRA

EOC OE
 ADC resets EOC to LOW at end of
conversion
 8155 sets BF to 1 to enable ADC output latch
 8085 is waiting for BF to be SET to 1 and
 Reads port A by making RD signal active (0)
 At the end of read cycle RD goes HIGH (1)
 This resets BF signal to 0.
 8085 waits for BF signal to be RESET and
 starts conversion process again
8085 is waiting for BF
 To know the status of BF signal 8085 reads
status register of 8155

D7 D6 D5 D4 D3 D2 D1 D0

X Timer INTEB BFB INTRB INTEA BFA INTRA

Status Word Definition

 Status register shares same address as


control register
Program Instructions
 8085 reads status register
 Address of status register : 10H
 Reads port A if BFA = 1
 Output temperature on port B

Status: IN 10H
ANI 02H
JZ Status
IN 11H ;Step -4 Reads temperature value
OUT 12H ; Step –5 display on LED’s
 8085 reads status register
 Address of status register : 10H
 Starts conversion again if BFA = 0

Again: IN 10H
ANI 02H
JNZ Again
JMP Start
Complete Program
MVI A, 0AH
OUT 10H  Configure 8155
Start: MVI A, 20H
OUT 13H  Start Conversion

MVI A, 00H
OUT 13H
Status: IN 10H  Read Status register
ANI 02H
JZ Status  Wait till BFA = 1
IN 11H  Read temperature value
OUT 12H  Display on LED
Again: IN 10H  Read status register
ANI 02H
JNZ Again  Wait till BFA = 0
JMP Start  Start Conversion again

You might also like