Intel 8255A PPI EEE 365 [FALL 2014] LECTURE 18-20 ATANU K SAHA BRAC UNIVERSITY.

Slides:



Advertisements
Similar presentations
11-1 ECE 424 Design of Microprocessor-Based Systems Haibo Wang ECE Department Southern Illinois University Carbondale, IL I/O System Design.
Advertisements

The Intel 8255 Programmable Peripheral Interface chip is used to give the microprocessor (8088) access to programmable input/ output devices. It has three.
PROGRAMMABLE PERIPHERAL INTERFACE -8255
Dr A Sahu Dept of Computer Science & Engineering IIT Guwahati.
Dr A Sahu Dept of Computer Science & Engineering IIT Guwahati.
Dr A Sahu Dept of Computer Science & Engineering IIT Guwahati.
Digital Interfacing.
8255 – PROGRAMMABLE PARALLEL
TK2633 Introduction to Parallel Data Interfacing DR MASRI AYOB.
Lecture 07: 8255 PPI Chip. The 80x86 IBM PC and Compatible Computers Chapter PPI Chip PPI: Programmable Parallel Interface (so it is an I/O.
Engineering 4862 Microprocessors Lecture 23 Cheng Li EN-4012
82C55 82C55 Programmable Peripheral Interface Interfacing Part III.
- Microprocessor - Programming 8255 Mode 1 (slide ) Prepared by: Mahmoud Abdullah Mahdi (33)
I/O Unit.
1 TK2633TK Microprocessor Architecture DR MASRI AYOB.
Introduction An interrupt is an event which informs the CPU that its service (action) is needed. Sources of interrupts: internal fault (e.g.. divide by.
P Address bus Data bus Read-Only Memory (ROM) Read-Write Memory (RAM)
9/20/6Lecture 3 - Instruction Set - Al Hardware interface (part 2)
kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.
Chapter 10 Input/Output Interface Circuits and LSI Peripheral Devices
INPUT-OUTPUT ORGANIZATION
Microcomputer & Interfacing Lecture 2
Khaled A. Al-Utaibi  Intel Peripheral Controller Chips  Basic Description of the 8255  Pin Configuration of the 8255  Block Diagram.
CPU Interfacing Memory.
Basic I/O Interface A Course in Microprocessor
By, Prof. Tambe S. S. S.N.D. College of Engineering and Research Center Department of Electrical Engineering.
I NTRODUCTION P IN CONFIGARATION O PERATING MODE.
Input/Output Interface Circuits and LSI Peripheral Devices
Applications of PPI A/D - Temperature Sensor. Analog to Digital.
8259A PROGRAMMABLE INTERRUPT CONTROLLER. CONTINUE…. The 8259A consist of eight data bus lines from D0-D7 The data bus is the path over which data are.
Applications of PPI Stepper Motors- D/A - A/D - Temperature Sensor.
Programmable Peripheral Interface Parallel port Interface 8255
12/16/  List the elements of 8255A Programmable Peripheral Interface (PPI)  Explain its various operating modes  Develop a simple program to.
PPI-8255.
EE3721 Computer System Principles
Programmable Interrupt Controller (PIC)
I/O AND THE 8255; ISA BUS INTERFACING
PROGRAMMABLE PERIPHERAL INTERFACE -8255
Basic I/O Interface Fixed Address Variable Address
ENEE 440 Chapter PPI 8255 Register Select -CS A1 A0 REGISTER R/W PORT A R/W PORT B R/W PORT C R/W CR W 1 X X8255 NOT.
EE365 - Microprocessors period 26 10/23/00 D. R. Schertz # Parallel Ports.
I/O Interface. INTRO TO I/O INTERFACE I/O instructions (IN, INS, OUT, and OUTS) are explained. Also isolated (direct or I/O mapped I/O) and memory-mapped.
 The Programmable Interrupt Controller (PlC) functions as an overall manager in an Interrupt-Driven system. It accepts requests from the peripheral equipment,
8255:Programmable Peripheral Interface
Intel 8259A PIC EEE 365 [FALL 2014] LECTURE 21 ATANU K SAHA BRAC UNIVERSITY.
Memory Interface EEE 365 [FALL 2014] LECTURER 12 ATANU K SAHA BRAC UNIVERSITY.
8255 Programmable Peripheral Interface
PROGRAMMABLE PERIPHERAL INTERFACE -8255
8255: Programmable Peripheral Interface (PPI)
Introduction An interrupt is an event which informs the CPU that its service (action) is needed. Sources of interrupts: Internal fault (e.g.. divide by.
Diagram of microprocessor interface with IO devices
The 8255 Programmable Peripheral Interface
Presentation On 8259 Made by Md Shabbir Hasan.
E3165 DIGITAL ELECTRONIC SYSTEM
Programmable Interrupt Controller 8259
Chapter 7 Features and Interfacing of Programmable Devices for 8085 based systems.
PROGRAMMABLE PERIPHERAL INTERFACE -8255
8255.
Parallel communication interface 8255
Programmable Peripheral Interface
8085 Microprocessor Architecture
82C55 Programmable Peripheral Interface
8255 – PROGRAMMABLE PARALLEL
8259 Programmable Interrupt Controller
Programmable Peripheral Interface
8255 – PROGRAMMABLE PARALLEL
CNET 315 Microprocessor & Assembly Language
8085 Microprocessor Architecture
Programmable Interrupt Controller (PIC)
The Programmable Peripheral Interface (8255A)
Presentation transcript:

Intel 8255A PPI EEE 365 [FALL 2014] LECTURE ATANU K SAHA BRAC UNIVERSITY

EEE 365 : MICROPROCESSOR ATANU K SAHA A PPI BRAC UNIVERSITY  The 8255A programmable peripheral interface (PPI) implements a general-purpose I/O interface  Connects peripheral equipment to a microcomputer system bus  The core's functional configuration is programmed by the system software  External logic is not required to interface peripheral devices Features:  Three 8-bit Peripheral Ports -Ports A, B, and C  Three programming modes for Peripheral Ports: Mode 0 (Basic Input/Output), Mode 1 (Strobed Input/Output), and Mode 2 (Bidirectional)  Total of 24 programmable I/O lines  8-bit bidirectional system data bus with standard microprocessor interface controls

EEE 365 : MICROPROCESSOR ATANU K SAHA A PPI INTERNAL BLOCK DIAGRAM BRAC UNIVERSITY A0A1 00PORT A 01PORT B 10PORT C 11CONTROL REGISTER Internal Address

EEE 365 : MICROPROCESSOR ATANU K SAHA 4 Methods of Parallel data Transfer BRAC UNIVERSITY a)Simple I/O b)Simple Strobe I/O c)Single handshake I/O d)Double handshake I/O DATA (a) STB DATA (b) STB DATA ACK (c) STB DATA ACK (d) Microprocessor 8086 PPI 8255A ACK Port Device STB Parallel Data lines Are you ready? I am ready There is valid data for you I received the data There is valid data for you I received the data There is valid data for you

EEE 365 : MICROPROCESSOR ATANU K SAHA A MODE BRAC UNIVERSITY Mode 0: Simple Input Output Mode 1: Single Handshaking (Port A/Port B) Mode 2: Bidirectional Handshaking (Port A) Port C pins will be used as handshake lines or signal Mode 0 does not need any additional control signal Mode 1 needs three handshaking control pin INTR: INTERRUPT REQUEST STB/ACK: STROBE OR ACKNOWLEDGE IBF/OBF: INPUT OR OUTPUT BUFFER FREE Mode 2 needs five handshaking control pin INTR (O):INTERRUPT REQUEST STB (I):STROBE ACK (I):ACKNOWLEDGE IBF (O):INPUT BUFFER FREE OBF (O):OUTPUT BUFFER FREE Mode 1 (input) INTR (O) IBF (O) STB (I) Mode 1 (output) INTR (O) OBF (O) ACK (I)

EEE 365 : MICROPROCESSOR ATANU K SAHA A MODE 0 BRAC UNIVERSITY RD, WR D7 - D0 A0 - A1 8255A CS B C A Address Bus Control Bus Data Bus PB7 - PB0 PC3 – PC0 PC7 – PC4 PA7 – PA0

EEE 365 : MICROPROCESSOR ATANU K SAHA A MODE 1 BRAC UNIVERSITY RD, WR D7 - D0 A0 - A1 8255A CS B PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 A Address Bus Control Bus Data Bus 8 8 PB7 - PB0 PA7 – PA0 INTR B IBF B STB B INTR A STB A IBF A I/O I/O OBF B ACK B I/O I/O ACK A OBF A OR OR OR OR OR OR Handshake Output Signals Handshake Input Signals PORT A, PORT B Control Signal

EEE 365 : MICROPROCESSOR ATANU K SAHA A MODE 2 BRAC UNIVERSITY RD, WR D7 - D0 A0 - A1 8255A CS B PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 A Address Bus Control Bus Data Bus 8 8 PB7 - PB0 PA7 – PA0 I/O I/O I/O INTR A STB A IBF A ACK A OBF A Bi-directional bus PORT B may be mode 0 or mode 1 PORT A Control I/O or PORTB Control

EEE 365 : MICROPROCESSOR ATANU K SAHA A CONTROL WORD (CW) BRAC UNIVERSITY There are two control word for 8055A PPI Mode Definition Control Word: Used to tell the device what mode you want the ports to operate in. Bit Set/Reset Control Word: Used when you want to set/reset the output on a pin of PORT C or when you want to enable the interrupt output signals for handshaking data transfer. Both control words are sent to the control register address of 8255A

EEE 365 : MICROPROCESSOR ATANU K SAHA A Mode set CW BRAC UNIVERSITY D7D6D5D4D3D2D1D0 GROUP B PORT C (lower) 1 = Input 0 = Output PORT B 1 = Input 0 = Output Mode Selection 0 = Mode 0 1 = Mode 1 GROUP A PORT C (upper) 1 = Input 0 = Output PORT A 1 = Input 0 = Output Mode Selection 00 = Mode 0 01 = Mode 1 1X = Mode 2 Mode set Flag 1 = Active

EEE 365 : MICROPROCESSOR ATANU K SAHA A PORT C set/reset CW BRAC UNIVERSITY D7XXXD3D2D1D0 Bit set/reset 1 = set 0 = reset Mode set Flag 0 = Active Bit select B B B2 Don’t care

EEE 365 : MICROPROCESSOR ATANU K SAHA A Instruction BRAC UNIVERSITY For a port device the system address is 16 bit (not 20 bit, because it is not memory mapped). So there are two dedicated instruction to read and write a port device  IN  OUT IN instruction is used to read data from a port. If an 8-bit port is used then the data will go to AL. On the other hand if a 16-bit port is read, the data will go to AX. There are two possible formats for IN instruction. Fixed port format IN AL, PORT_ADD ; for 8-bit IN AX, PORT_ADD ; for 16-bit Variable port format (port address is written in DX) IN AL, DX ; for 8-bit IN AX, DX ; for 16-bit

EEE 365 : MICROPROCESSOR ATANU K SAHA A Instruction BRAC UNIVERSITY OUT instruction is used to write data in a port. If an 8-bit port is used then the data will write from AL. On the other hand if a 16-bit port is read, the data will write from AX. There are two possible formats for OUT instruction. Fixed port format OUT PORT_ADD, AL ; for 8-bit OUT PORT_ADD, AX ; for 16-bit Variable port format (port address is written in DX) OUT DX, AL ; for 8-bit OUT DX, AX ; for 16-bit Variable port format has some advantage that the port address can be computed or dynamically determined in the program

EEE 365 : MICROPROCESSOR ATANU K SAHA A Initialization BRAC UNIVERSITY Example 1: Suppose an 8255A has the base address of A2F8 H. We want to initialize the 8255A as follows: PORT B as mode 1 input PORT A as mode 0 output POET C upper as inputs PORT C bit 3 as output Solution: Mode set CW : = 8E H Port A address: A2F8 H Port B address: A2FA H Port C address: A2FC H CW address: A2FE H To send mode-set CW: MOVAL, 8E H MOV DX, A2FE H OUT DX,AL